0 beğenilme 0 beğenilmeme
239 kez görüntülendi
Aşağıdaki kodları matriks diline uyarlaya bilir msiniz acaba ?

 

 

amplitude = input(title="Amplitude", defval=2)

channelDeviation = input(title="Channel Deviation", defval=2)

showArrows = input(title="Show Arrows", defval=true)

showChannels = input(title="Show Channels", defval=true)

 

var int trend = 0

var int nextTrend = 0

var float maxLowPrice = nz(low[1], low)

var float minHighPrice = nz(high[1], high)

 

var float up = 0.0

var float down = 0.0

float atrHigh = 0.0

float atrLow = 0.0

float arrowUp = na

float arrowDown = na

 

atr2 = atr(100) / 2

dev = channelDeviation * atr2

 

highPrice = high[abs(highestbars(amplitude))]

lowPrice = low[abs(lowestbars(amplitude))]

highma = sma(high, amplitude)

lowma = sma(low, amplitude)

 

if nextTrend == 1

maxLowPrice := max(lowPrice, maxLowPrice)

 

if highma < maxLowPrice and close < nz(low[1], low)

trend := 1

nextTrend := 0

minHighPrice := highPrice

else

minHighPrice := min(highPrice, minHighPrice)

 

if lowma > minHighPrice and close > nz(high[1], high)

trend := 0

nextTrend := 1

maxLowPrice := lowPrice

 

if trend == 0

if not na(trend[1]) and trend[1] != 0

up := na(down[1]) ? down : down[1]

arrowUp := up - atr2

else

up := na(up[1]) ? maxLowPrice : max(maxLowPrice, up[1])

atrHigh := up + dev

atrLow := up - dev

else

if not na(trend[1]) and trend[1] != 1

down := na(up[1]) ? up : up[1]

arrowDown := down + atr2

else

down := na(down[1]) ? minHighPrice : min(minHighPrice, down[1])

atrHigh := down + dev

atrLow := down - dev

 

ht = trend == 0 ? up : down

 

var color buyColor = color.blue

var color sellColor = color.red

 

htColor = trend == 0 ? buyColor : sellColor

htPlot = plot(ht, title="HalfTrend", linewidth=2, color=htColor)

 

atrHighPlot = plot(showChannels ? atrHigh : na, title="ATR High", style=plot.style_circles, color=sellColor)

atrLowPlot = plot(showChannels ? atrLow : na, title="ATR Low", style=plot.style_circles, color=buyColor)

 

fill(htPlot, atrHighPlot, title="ATR High Ribbon", color=sellColor)

fill(htPlot, atrLowPlot, title="ATR Low Ribbon", color=buyColor)

 

buySignal = not na(arrowUp) and (trend == 0 and trend[1] == 1)

sellSignal = not na(arrowDown) and (trend == 1 and trend[1] == 0)

 

plotshape(showArrows and buySignal ? atrLow : na, title="Arrow Up", style=shape.triangleup, location=location.absolute, size=size.tiny, color=buyColor)

plotshape(showArrows and sellSignal ? atrHigh : na, title="Arrow Down", style=shape.triangledown, location=location.absolute, size=size.tiny, color=sellColor)

 

alertcondition(buySignal, title="Alert: HalfTrend Buy", message="HalfTrend Buy")

alertcondition(sellSignal, title="Alert: HalfTrend Sell", message="HalfTrend Sell")
İndikatör Pozisyonları ve Değerleri kategorisinde (14 puan) tarafından | 239 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
merhaba,

çogu zaman diğer dillerden formül çevirimi mümkün olmamaktadır,

formülünüzü inceledik maalesef olumlu dönüş yapamıyoruz

bilgilerinize
(40,139 puan) tarafından
Hoş geldiniz, Matriks Destek Platformu sizlere sorularınızın hızlıca cevaplanması için bir ortam sağlar. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.



7,574 soru
7,580 cevap
4,427 yorum
10,061 kullanıcı