0 beğenilme 0 beğenilmeme
344 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 | 344 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,149 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.



8,639 soru
8,593 cevap
4,826 yorum
19,831 kullanıcı