#1 15.05.2018 08:02:10

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Помощь со скриптами для TradingView

Готов помочь со скриптами для TradingView, но чур без СУПЕРТАЙН вашего не готового кода (ибо зачем вы тут), в том смысле что я (никто другой) не телепаты и не могут понять из ваших слов чего вы именно хотите, поэтому покажите хотябы тот участок кода который  вы хотите чтоб работал (хотите измените значения или что то ), чтоб было понятно как оно должно работать. Кароч объясните что вы хотите получить, ведь скорей всего в pinescript это просто невозможно реализовать.
Удачи.

Вне форума

#2 30.06.2018 18:41:09

Parkhom
Участник
Регистрация: 30.06.2018
Кол-во сообщений: 3

Re: Помощь со скриптами для TradingView

Буду первым. Возможно я не слишком спец, но полазив по мануалу Pine'а так и не смог решить следующую задачу:
Условие: есть переменная b, если RSI входит в зону перекупленности (больше 70) -  переменной b присваивается значение 1; если RSI входит в зону перепроданности (меньше 30) -  переменной b присваивается значение -1; важно: до тех пор пока не произошло новое событие, переменная b равна 1 или -1
В общем нужен флаг.
Мои скудные попытки не привели ни к чему, как только событие заканчивается переменная сваливается к 0. Ниже код.

//@version=2
study("Flag")
b = 0
if rsi(close,14) > 70
    b:= 1
if rsi(close,14) < 30
    b:= -1
plot(b)

Использование crossover и crossunder также не привели к решению.
Что посоветуете?

Вне форума

#3 01.07.2018 10:13:53

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

//@version=3
study(title="bbb", shorttitle="bbb")
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//-----------------
b=rsi>70? 1 : rsi<30? -1 : 0
plot(b)

Вне форума

#4 01.07.2018 13:29:53

Parkhom
Участник
Регистрация: 30.06.2018
Кол-во сообщений: 3

Re: Помощь со скриптами для TradingView

Спасибо за ответ. Но решить задачу не получается.

Моя версия

Скрытый текст

02.png

Ваша версия

Скрытый текст

01.png

Хочется

Скрытый текст

03.png

UPD: Может в Pine невозможно реализовать такое? Я так понимаю глобальных переменных нет, а как забивать в серию (в моем случае это переменная b) постоянно 1 или -1, не сваливаясь к 0 - непонятно.

Отредактировано Parkhom (01.07.2018 13:39:26)

Вне форума

#5 01.07.2018 13:44:14

Appuxif
Участник
Местоположение: Красноярск
Регистрация: 28.07.2015
Кол-во сообщений: 165

Re: Помощь со скриптами для TradingView

Parkhom написал ранее:
Скрытый текст

Буду первым. Возможно я не слишком спец, но полазив по мануалу Pine'а так и не смог решить следующую задачу:
Условие: есть переменная b, если RSI входит в зону перекупленности (больше 70) -  переменной b присваивается значение 1; если RSI входит в зону перепроданности (меньше 30) -  переменной b присваивается значение -1; важно: до тех пор пока не произошло новое событие, переменная b равна 1 или -1
В общем нужен флаг.
Мои скудные попытки не привели ни к чему, как только событие заканчивается переменная сваливается к 0. Ниже код.

//@version=2
study("Flag")
b = 0
if rsi(close,14) > 70
    b:= 1
if rsi(close,14) < 30
    b:= -1
plot(b)

Использование crossover и crossunder также не привели к решению.
Что посоветуете?

Как насчет такого? Пока не наступило условие, переменной присваивается предыдущее значение.

//@version=2
study("Flag")
rsi_ = rsi(close,14)
b = rsi_ >= 70 ? 1 : rsi_ <= 30 ? -1 : b[1]
plot(b)

Скрин

mG1kU7Kz

Отредактировано Appuxif (01.07.2018 13:46:05)

Вне форума

Понравилось:

#6 01.07.2018 16:55:09

Parkhom
Участник
Регистрация: 30.06.2018
Кол-во сообщений: 3

Re: Помощь со скриптами для TradingView

Appuxif написал ранее:

Как насчет такого? Пока не наступило условие, переменной присваивается предыдущее значение.

Да, это оно. Спасибо!!!

Вне форума

#7 05.08.2018 13:28:43

barton
Участник
Регистрация: 05.08.2018
Кол-во сообщений: 2

Re: Помощь со скриптами для TradingView

wMEL написал ранее:

Готов помочь со скриптами для TradingView

Помоги. Вот код:

//@version=2
study("Уровни", shorttitle="Уровни", overlay=true)
connectRanges=input(false, title="Connect Ranges")
up = close<nz(up[1]) and close>down[1] ? nz(up[1]) : high
down = close<nz(up[1]) and close>down[1] ? nz(down[1]) : low
sr=close<nz(up[1]) and close>down[1] ? avg(up,down):na
//rightborder = barstate.islast
plot(sr, title='средняя', color=blue, linewidth=2, style=linebr, trackprice=false)
ul=plot(connectRanges?up:up==nz(up[1])?up:na, color=red, linewidth=2, style=linebr, title="Up")
ll=plot(connectRanges?down:down==nz(down[1])?down:na, color=red, linewidth=2, style=linebr, title="Down")


В этом варианте линия sr рисуется только до конца линий up и down. А мне нужно чтоб она рисовалась до конца графика (barstate.islast). А в идеале чтоб она была перенесена с часового графика. например на 5-минутный.

Как можно с тобой связаться? Какая стоимость личной консультации? Нужно обучиться.

Отредактировано barton (05.08.2018 13:29:34)

Вне форума

#8 05.08.2018 13:58:13

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

barton написал ранее:

Как можно с тобой связаться? Какая стоимость личной консультации? Нужно обучиться.

Стоимость - не ипать мозг. 
Тыж типа внутренние бары делаешь?
Чтобы на каком то ТФе   отображалось  что то с другого ТФа используй security
Например
security(tickerid, "60", close>open)
tickerid - это тек. инструмент (eurusd usdjpy и т.п.)
"60" - это ТФ, т.е. выбирается в минутах
close>open - это условие срабатывания, ну тут ты можешь вписать что хочешь

На счет линий что у тебя чертятся, они у тебя чертятся до тех пор пока твое условие не сработает по новой. До края графика кажется они чертится и не умеют в pinescripte.

Вне форума

#9 05.08.2018 14:59:15

barton
Участник
Регистрация: 05.08.2018
Кол-во сообщений: 2

Re: Помощь со скриптами для TradingView

Спасибо за подсказку. Примерно так я и думал.

wMEL написал ранее:

На счет линий что у тебя чертятся, они у тебя чертятся до тех пор пока твое условие не сработает по новой. До края графика кажется они чертится и не умеют в pinescripte.

Вот и я не пойму как такое может быть. Может условие как-то можно прописать чтоб когда заканчивается линия sr, начиналась новая линия, которая имела бы координаты цены  sr В таком случае линия может быть до конца графика. Только как это сделать ума не приложу. А потом на этом еще нужно стратегию делать. Такое вообще реально?
Как вообще можно вытягивать от туда данные чтоб их потом обрабатывать например самостоятельно? Например чтоб прикрутить ИИ.

Отредактировано barton (05.08.2018 15:04:52)

Вне форума

#10 05.08.2018 16:22:15

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Включи в plot    trackprice=true  и будет тебе  на весь график линии.

Вне форума

#11 06.08.2018 07:25:34

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Вот те примерный код. Единственный косяк в этих show_last в плотах, они показывают плоты за последние указанное кол-во свечей,  т.е. на М5  их надо наверное штук 20 или 40, ну сам посмотришь. Менять число можно только прямо в плоте (увы), через инпут работать не хочет. Или посмотри как это было реализовано в моих пивотах , идею я брал с другого скрипта  под названием КитКат кажется. 
Ну если что пиши. Помогу по мере возможности, да и кроме меня тут есть кому помочь.  Ты главное не пытайся сделать из нереализованной идеи что то супер секретное, все давно придумано, так что чем больше открытости - тем легче работать, понимая что ты хочешь.

Твой скрипт

//@version=3
study("Уровни", shorttitle="Уровни", overlay=true)
connectRanges=input(false, title="Connect Ranges")
mbup () =>
    up = 0.0
    down = 0.0
    up := close<nz(up[1]) and close>down[1] ? nz(up[1]) : high
    down := close<nz(up[1]) and close>down[1] ? nz(down[1]) : low
mbdn () =>
    down = 0.0
    up = 0.0
    down := close<nz(up[1]) and close>down[1] ? nz(down[1]) : low
    up := close<nz(up[1]) and close>down[1] ? nz(up[1]) : high
up1=security(tickerid, "60", mbup() )
dn1=security(tickerid, "60", mbdn() )
sr = avg(up1,dn1)
plot(sr, title='средняя', color=sr!=sr[1]? na : blue, linewidth=2, style=linebr, trackprice=false, show_last=12)
u2=plot(up1, color=up1!=up1[1]? na : red, linewidth=2, style=linebr, title="Up", show_last=12, trackprice=true)
d2=plot(dn1, color=dn1!=dn1[1]? na : red, linewidth=2, style=linebr, title="Down", show_last=12, trackprice=true)

Вне форума

#12 07.08.2018 16:30:54

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

Привет!
Помогу плиз установить алерты для этого скрипта

//@version=2
//                                                Indicator420 by SeaSide420
study("Indicator420", overlay=true)
q=input(title="HullMA",type=integer,defval=420)
z=input(title="HullMA cross",type=integer,defval=7)
a=input(title="VWMA",type=integer,defval=25)
rvwma=vwma(close,round(a))
rvwma2=vwma(close,round(a*2))
rvwma3=vwma(close,round(a*3))
n2ma=2*wma(close,round(z/2))
nma=wma(close,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(close[1],round(z/2))
nma1=wma(close[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(close[2],round(q/2))
nma2=wma(close[2],q)
diff2=n2ma2-nma2
sqn2=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
b=n1>n2?red:lime
c=n1>n2?green:red

plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)

Вне форума

#13 07.08.2018 17:00:12

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

sheef написал ранее:

Привет!
Помогу плиз установить алерты для этого скрипта

Скрытый текст

//@version=2
//                                                Indicator420 by SeaSide420
study("Indicator420", overlay=true)
q=input(title="HullMA",type=integer,defval=420)
z=input(title="HullMA cross",type=integer,defval=7)
a=input(title="VWMA",type=integer,defval=25)
rvwma=vwma(close,round(a))
rvwma2=vwma(close,round(a*2))
rvwma3=vwma(close,round(a*3))
n2ma=2*wma(close,round(z/2))
nma=wma(close,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(close[1],round(z/2))
nma1=wma(close[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(close[2],round(q/2))
nma2=wma(close[2],q)
diff2=n2ma2-nma2
sqn2=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
b=n1>n2?red:lime
c=n1>n2?green:red

plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)

Помогу если скажешь при каком условии тебе нужен алерт )

Вне форума

#14 07.08.2018 19:47:22

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

вот так выглядит индюк http://joxi.ru/krDGW5gCEdKk5A  хотелось бы отдельно при смене цвета скользящей с  красного на зеленый и наоборот, два разных алерта было. Спасиб)

Отредактировано sheef (07.08.2018 19:48:42)

Вне форума

#15 07.08.2018 22:15:07

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

а как можно сделать чтобы алерт один раз срабатывал? сейчас если я в настройках ставлю 1 раз на закрытии свечи то по граику один и тот же сигнал срабатывает на закрытии каждой свечи пока выполняется условие http://joxi.ru/a2XEgJlu1pwR3A  а хотелось бы что бы было один раз купить - один раз продать, можно так?

Вне форума

#16 08.08.2018 10:19:43

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

Если поставить один раз, то он отрабатывает только один раз, а при дальнейших сигналах уведомления уже нет

Вне форума

#17 08.08.2018 11:48:51

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

все равно сигналит после каждой свечи

Вне форума

#18 08.08.2018 17:07:24

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Я не телепат, так что давай дальше тыкать пальцем в небо..
alertcondition((n1[1]>n2[1] and n2>n1), title='AlertSell', message='AAAAAAA ПРОДАВАЙ ПРОДАВАЙ!')
alertcondition((n2[1]>n1[1] and n1>n2), title='AlertBuy', message='AAAAAAA ПОКУПАЙ ПОКУПАЙ!')
в настройках алерта поставь "раз за бар (на закрытии)"

Отредактировано wMEL (08.08.2018 17:09:45)

Вне форума

#19 09.08.2018 17:59:21

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

Так вроде норм. Спасибо тебе большое!! Добрый человек  :lol:

Вне форума

#20 10.08.2018 10:01:14

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

а можно еще вопросик? вот есть скрипт индюка:

dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",type=integer,defval=14, minval=1)
che1=input(title="MA 1",type=integer,defval=34,minval=1)
che2=input(title="MA 2",type=integer,defval=144,minval=1)
che3=input(title="MA 3",type=integer,defval=377,minval=1)
amnt=input(title="TP ($)",type=integer,defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
A=security(tickerid, 'D', close)
B=security(tickerid, 'D', close[1])
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4,title="MA1")
p1=plot(wma2,style=line,color=D,title="MA2")
p2=plot(wma3,style=line,color=D,title="MA3")
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
E=n1>n2?green:red
plot(n1,style=line,color=E,title="hull_MA1")
plot(n2,style=line,color=E,title="Hull_MA2")
plot(cross(n1, n2) ? n1 : na, style = circles,color=E, linewidth = 3,title="Hull_MA Cross")
plot(cross(A, B) ? A : na, style = circles,color=C, linewidth = 5,title="DailyClose Cross")

делаю алерт по аналогии с предыдущим твоим решением, вот так:

alertcondition((A[1]>B[1] and B>A), title='AlertSell', message='AAAAAAA ПРОДАВАЙ ПРОДАВАЙ!')
alertcondition((B[1]>A[1] and A>B), title='AlertBuy', message='AAAAAAA ПОКУПАЙ ПОКУПАЙ!')

но алерт не срабатывает

Вне форума

#21 10.08.2018 13:47:44

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Внимательней со знаками > <

Вне форума

#22 10.08.2018 13:55:07

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

По аналогии делал, вот твое готовое решение:

alertcondition((n1[1]>n2[1] and n2>n1), title='AlertSell', message='AAAAAAA ПРОДАВАЙ ПРОДАВАЙ!')
alertcondition((n2[1]>n1[1] and n1>n2), title='AlertBuy', message='AAAAAAA ПОКУПАЙ ПОКУПАЙ!')

это что у меня получилось:
alertcondition((A[1]>B[1] and B>A), title='AlertSell', message='AAAAAAA ПРОДАВАЙ ПРОДАВАЙ!')
alertcondition((B[1]>A[1] and A>B), title='AlertBuy', message='AAAAAAA ПОКУПАЙ ПОКУПАЙ!')

где ошибка, подскажи плиз)

Вне форума

#23 10.08.2018 14:43:32

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Может потому что А и В это просто закрытие свечей с Дневного ТФа и они ну никак не могут пересекаться?)))  Скользящие у тебя n1 и n2

Вне форума

#24 10.08.2018 15:23:10

sheef
Участник
Регистрация: 07.08.2018
Кол-во сообщений: 12

Re: Помощь со скриптами для TradingView

этот код с индюка, и он нормально отрисовывается, и выводит эти точки на график разными цветами
plot(cross(A, B) ? A : na, style = circles,color=C, linewidth = 5,title="DailyClose Cross")

а может тогда лучше сюда повесить можно алерт? здесь тоже меняется цвет у скользящей
plot(wma1,style=line,color=C,linewidth=4,title="MA1")

вот как выглядит на графике, http://joxi.ru/bmone8RUxleWWr  меняется цвет у скользящей и внизу или вверху появляется жирная точка с верхней строчки кода DailyClose Cross  там где А и В

Вне форума

#25 10.08.2018 16:11:33

wMEL
Участник
Регистрация: 18.08.2016
Кол-во сообщений: 752

Re: Помощь со скриптами для TradingView

Ты хоть понимаешь что эта точка в лучшем случае 1 раз в день появляется?

Вне форума

Board footer