Форум трейдеров: Бинарные опционы & Форекс & CFD & Крипта
Вы не вошли.
Готов помочь со скриптами для TradingView, но чур без СУПЕРТАЙН вашего не готового кода (ибо зачем вы тут), в том смысле что я (никто другой) не телепаты и не могут понять из ваших слов чего вы именно хотите, поэтому покажите хотябы тот участок кода который вы хотите чтоб работал (хотите измените значения или что то ), чтоб было понятно как оно должно работать. Кароч объясните что вы хотите получить, ведь скорей всего в pinescript это просто невозможно реализовать.
Удачи.
Offline
Буду первым. Возможно я не слишком спец, но полазив по мануалу 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 также не привели к решению.
Что посоветуете?
Offline
//@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)
Offline
Спасибо за ответ. Но решить задачу не получается.
Моя версия
Ваша версия
Хочется
UPD: Может в Pine невозможно реализовать такое? Я так понимаю глобальных переменных нет, а как забивать в серию (в моем случае это переменная b) постоянно 1 или -1, не сваливаясь к 0 - непонятно.
Редактировался Parkhom (01.07.2018 13:39:26)
Offline
▼
Как насчет такого? Пока не наступило условие, переменной присваивается предыдущее значение.
//@version=2
study("Flag")
rsi_ = rsi(close,14)
b = rsi_ >= 70 ? 1 : rsi_ <= 30 ? -1 : b[1]
plot(b)
Редактировался Appuxif (01.07.2018 13:46:05)
Offline
Как насчет такого? Пока не наступило условие, переменной присваивается предыдущее значение.
Да, это оно. Спасибо!!!
Offline
Готов помочь со скриптами для 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)
Offline
Как можно с тобой связаться? Какая стоимость личной консультации? Нужно обучиться.
Стоимость - не ипать мозг.
Тыж типа внутренние бары делаешь?
Чтобы на каком то ТФе отображалось что то с другого ТФа используй security
Например
security(tickerid, "60", close>open)
tickerid - это тек. инструмент (eurusd usdjpy и т.п.)
"60" - это ТФ, т.е. выбирается в минутах
close>open - это условие срабатывания, ну тут ты можешь вписать что хочешь
На счет линий что у тебя чертятся, они у тебя чертятся до тех пор пока твое условие не сработает по новой. До края графика кажется они чертится и не умеют в pinescripte.
Offline
Спасибо за подсказку. Примерно так я и думал.
На счет линий что у тебя чертятся, они у тебя чертятся до тех пор пока твое условие не сработает по новой. До края графика кажется они чертится и не умеют в pinescripte.
Вот и я не пойму как такое может быть. Может условие как-то можно прописать чтоб когда заканчивается линия sr, начиналась новая линия, которая имела бы координаты цены sr В таком случае линия может быть до конца графика. Только как это сделать ума не приложу. А потом на этом еще нужно стратегию делать. Такое вообще реально?
Как вообще можно вытягивать от туда данные чтоб их потом обрабатывать например самостоятельно? Например чтоб прикрутить ИИ.
Редактировался barton (05.08.2018 15:04:52)
Offline
Включи в plot trackprice=true и будет тебе на весь график линии.
Offline
Вот те примерный код. Единственный косяк в этих show_last в плотах, они показывают плоты за последние указанное кол-во свечей, т.е. на М5 их надо наверное штук 20 или 40, ну сам посмотришь. Менять число можно только прямо в плоте (увы), через инпут работать не хочет. Или посмотри как это было реализовано в моих пивотах , идею я брал с другого скрипта под названием КитКат кажется.
Ну если что пиши. Помогу по мере возможности, да и кроме меня тут есть кому помочь. Ты главное не пытайся сделать из нереализованной идеи что то супер секретное, все давно придумано, так что чем больше открытости - тем легче работать, понимая что ты хочешь.
Offline
Привет!
Помогу плиз установить алерты для этого скрипта
//@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)
Offline
Привет!
Помогу плиз установить алерты для этого скрипта▼
Помогу если скажешь при каком условии тебе нужен алерт )
Offline
вот так выглядит индюк http://joxi.ru/krDGW5gCEdKk5A хотелось бы отдельно при смене цвета скользящей с красного на зеленый и наоборот, два разных алерта было. Спасиб)
Редактировался sheef (07.08.2018 19:48:42)
Offline
а как можно сделать чтобы алерт один раз срабатывал? сейчас если я в настройках ставлю 1 раз на закрытии свечи то по граику один и тот же сигнал срабатывает на закрытии каждой свечи пока выполняется условие http://joxi.ru/a2XEgJlu1pwR3A а хотелось бы что бы было один раз купить - один раз продать, можно так?
Offline
Если поставить один раз, то он отрабатывает только один раз, а при дальнейших сигналах уведомления уже нет
Offline
все равно сигналит после каждой свечи
Offline
Я не телепат, так что давай дальше тыкать пальцем в небо..
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)
Offline
Так вроде норм. Спасибо тебе большое!! Добрый человек :lol:
Offline
а можно еще вопросик? вот есть скрипт индюка:
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 ПОКУПАЙ ПОКУПАЙ!')
но алерт не срабатывает
Offline
Внимательней со знаками > <
Offline
По аналогии делал, вот твое готовое решение:
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 ПОКУПАЙ ПОКУПАЙ!')
где ошибка, подскажи плиз)
Offline
Может потому что А и В это просто закрытие свечей с Дневного ТФа и они ну никак не могут пересекаться?))) Скользящие у тебя n1 и n2
Offline
этот код с индюка, и он нормально отрисовывается, и выводит эти точки на график разными цветами
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 там где А и В
Offline
Ты хоть понимаешь что эта точка в лучшем случае 1 раз в день появляется?
Offline