Нужна помощь в переносе кода из Tradingview в MT4 (код простейший внутри)

 

Код

TrendUp=var[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=var[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

TrendUp2=var2[1]>TrendUp2[1]? max(Up2,TrendUp2[1]) : Up2
TrendDown2=var2[1]<TrendDown2[1]? min(Dn2,TrendDown2[1]) : Dn2

Trend = var[0] > TrendDown[1] ? 1: var[0]< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

Trend2 = var2[0] > TrendDown2[1] ? 1: var2[0]< TrendUp2[1]? -1: nz(Trend2[1],1)
Tsl2 = Trend2==1? TrendUp2: TrendDown2


linecolor = Trend == 1 ? green : red
linecolor2 = Trend2 == 1 ? green : red

plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
plot(Tsl2, color = linecolor2 , style = line , linewidth = 2,title = "SuperTrend")
 
Для мт супертрендов - как собак. Есть две породы - с cci и без. Без - https://www.mql5.com/ru/code/8268 , с сси - https://www.mql5.com/ru/code/7816
 
SeriousRacoon:
Для мт супертрендов - как собак. Есть две породы - с cci и без. Без - https://www.mql5.com/ru/code/8268 , с сси - https://www.mql5.com/ru/code/7816

Я знаю, что их как собак. В этом варианте смена тренда немного по другому принципу происходит. Не закреплением цены, а пересечением скользящей var.

 
Если "код простейший", то что не сами?
 
Dmitry Fedoseev:
Если "код простейший", то что не сами?
А по вашему это сложный? 
Я на данный момент только начинаю постигать язык программирования. И этот кусок кода я до конца не могу понять. А точнее как на mql4 будет выглядеть эти строки
TrendUp=var[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=var[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

Trend = var[0] > TrendDown[1] ? 1: var[0]< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
 
Denis Chebatarev:
А по вашему это сложный? 
Я на данный момент только начинаю постигать язык программирования. И этот кусок кода я до конца не могу понять. А точнее как на mql4 будет выглядеть эти строки

А причем тут я? Его не мне надо, а вам. А для вас, как видим, он не просто сложен, а непостижимо сложен. Даже полностью код не смогли скопировать, а рассуждаете о простоте и сложности.

 
Dmitry Fedoseev:

А причем тут я? Его не мне надо, а вам. А для вас, как видим, он не просто сложен, а непостижимо сложен. Даже полностью код не смогли скопировать, а рассуждаете о простоте и сложности.

Я просто скопировал то, с чем возникли сложности в переносе. С остальным я справился сам. Вы лично хотите помочь? Или просто зашли, чтобы носом ткнуть? 
 
Denis Chebatarev:
Я просто скопировал то, с чем возникли сложности в переносе. С остальным я справился сам. Вы лично хотите помочь? Или просто зашли, чтобы носом ткнуть? 

А что не понятно?, код должен прекрасно отрабатывать в mql с мелкой правкой

Какие трудности с данным куском?

P.S.

TrendUp=var[1]>TrendUp[1]? fmax(Up,TrendUp[1]) : Up
TrendDown=var[1]<TrendDown[1]? fmin(Dn,TrendDown[1]) : Dn

Trend = var[0] > TrendDown[1] ? 1: var[0]< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
 
Denis Chebatarev:

Код

Для начала открой метаидитор , а потом нажми булку F1 . Выскочит справка по кодам.
Тебе всего то и нужно два оператора : первый if , а второй OrderSend . А дальше строго по инструкции .
Приблизительно должно быть так 

if(var>TrendUp){fmax(Up,TrendUp); OrderSend(....);}
 
Vitaly Muzichenko:

А что не понятно?, код должен прекрасно отрабатывать в mql с мелкой правкой

Какие трудности с данным куском?

P.S.

Трудность в разном принципиальном подходе при создании индикаторов там и здесь. Поэтому не код надо переписывать, а алгоритм переносить. То есть, нужен весь код, чтобы полностью понять индикатор, а потом писать его здесь.

 
Dmitry Fedoseev:

Трудность в разном принципиальном подходе при создании индикаторов там и здесь. Поэтому не код надо переписывать, а алгоритм переносить. То есть, нужен весь код, чтобы полностью понять индикатор, а потом писать его здесь.

study("Supertrend x2", overlay = true)


Factor=input(2.0, minval=0.1,maxval = 1000.0)

Pd=input(50, minval=1,maxval = 1000)

var=ema(close,Pd)


Factor2=input(2.0, minval=0.1,maxval = 1000.0)

Pd2=input(100, minval=1,maxval = 1000)

var2=ema(close,Pd2)


Up=var-(Factor*atr(Pd))

Dn=var+(Factor*atr(Pd))


Up2=var2-(Factor2*atr(Pd2))

Dn2=var2+(Factor2*atr(Pd2))


TrendUp=var[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up

TrendDown=var[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn


TrendUp2=var2[1]>TrendUp2[1]? max(Up2,TrendUp2[1]) : Up2

TrendDown2=var2[1]<TrendDown2[1]? min(Dn2,TrendDown2[1]) : Dn2


Trend = var[0] > TrendDown[1] ? 1: var[0]< TrendUp[1]? -1: nz(Trend[1],1)

Tsl = Trend==1? TrendUp: TrendDown


Trend2 = var2[0] > TrendDown2[1] ? 1: var2[0]< TrendUp2[1]? -1: nz(Trend2[1],1)

Tsl2 = Trend2==1? TrendUp2: TrendDown2



linecolor = Trend == 1 ? green : red

linecolor2 = Trend2 == 1 ? green : red


plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

plot(Tsl2, color = linecolor2 , style = line , linewidth = 2,title = "SuperTrend")

Причина обращения: