Я хочу поставить длинную позицию, когда предыдущие 2 свечи гистограммы расположены в порядке возрастания
fast_length = input(title = "Fast Length", defval=25)
slow_length = input(title = "Slow Length", defval=100)
signal_length = input.int(title = "Signal Smoothing", minval = 1, maxval = 50, defval = 9)
src = input(title = "Source", defval=close)
sma_source = input.string(title = "Oscillator MA Type", defval = "EMA", options=["SMA", "EMA"])
sma_signal = input.string(title = "Signal Line MA Type", defval = "EMA", options=["SMA", "EMA"])
// Plot colors
col_grow_above = input(#26A69A, "Above Grow", group = "Histogram", inline = "Above")
col_fall_above = input(#B2DFDB, "Fall", group = "Histogram", inline = "Above")
col_grow_below = input(#FFCDD2, "Below Grow", group = "Histogram", inline = "Below")
col_fall_below = input(#FF5252, "Fall", group = "Histogram", inline = "Below")
// Calculating
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
я хочу поставить длинную позицию, если гистограмма отрицательна
if hist < 0 and hist [2] > hist [1]
strategy.entry("long2",strategy.long,100)
и если гист положительный
if hist >0 and hist[1]>hist[2]
strategy.entry("long2",strategy.long,100)
но мой метод не работает, почему?
кажется, что ваш код работает по назначению. Вы должны быть осторожны, чтобы написать
hist[2]
и не
hist [2]
Я добавил это в конце вашего кода:
if hist < 0 and hist[2] > hist[1]
label.new(bar_index,hist,"N")
if hist > 0 and hist[1] > hist[2]
label.new(bar_index,hist,"P")
и я получаю этот результат: