#pine-script
Вопрос:
Я хочу проверить, пересекла ли цена 200 SMA для более чем заданного количества свечей (настраивается). Если это правда, я хочу, чтобы он открывался долго (у меня есть другие условия, которые мне нужно добавить позже, но я заметил, что мой код здесь уже не работает). Он открывает длинные позиции по всему графику, даже если цена не превышает 200SMA.
это то, что у меня есть:
SMA200 = sma(close, 200)
//PRICE OVER EMA CHECKS
TrendBarsCount = input(5, "Price closes needed above/below 200 MA", minval=1)
emaCrossOver = crossover(close, SMA200)
var emaLongCondition = false
if barssince(emaCrossOver) >= TrendBarsCount
emaLongCondition := true
strategy.entry("Open Long", strategy.long, when = emaLongCondition)
похоже, ему просто наплевать на SMA, что я делаю не так?
Ответ №1:
Это сработало для меня. Проверяет, закрывается ли свеча выше 200 SMA, затем ждет 5 свечей, чтобы открыть длинную.
SMA200 = sma(close, 200)
TrendBarsCount = input(5, "Price closes needed above/below 200 MA", minval=1)
emaCrossOver = crossover(close, SMA200)
longCondition = barssince(emaCrossOver) == TrendBarsCount
if longCondition
strategy.entry("long", strategy.long)