Создание индикаторов исследования с использованием нескольких условий

Я пытаюсь создать исследование (не стратегию), которое укажет, когда покупать и продавать при удовлетворении различных наборов условий.

В этом коде я хочу иметь возможность различать, в какой сделке я участвую. Поэтому, если я инициирую сделку с longCond1, только shortCond1 сможет указать выход. У Autoview было предложение использовать функцию кроссовера, чтобы указать это, но он использовал только 1 условие, а не 2.

longCond1 = close>open[1] ? 1:0
shortCond1 = open<close[1] ? 1:0

longCond2 = close>high[1] ? 1:0
shortCond2 = close>high[2] ? 1:0


plot(longCond1)
plot(shortCond1)
plot(longCond2)
plot(shortCond2)

person Noah Bastola    schedule 13.01.2019    source источник


Ответы (1)


Я создал пример сценария, который должен вам помочь. https://www.tradingview.com/script/llcoIPKG-Pine-Example-Holding-a-state-in-a-variable/

//@version=3
study("Holding a state in a variable")
longCond1 = close>open[1] // Just some entry signal (GREEN)
shortCond1 = open<close[1] // Just some exit signal (RED)
isInPosition = false // Variable that holds some state (BLACK)
isInPosition := na(isInPosition[1]) ? false : isInPosition[1]

if longCond1 and not isInPosition
    isInPosition := true

if shortCond1 and isInPosition
    isInPosition := false

plot(isInPosition ? 3 : na, color=black, linewidth=2, style=linebr)
plot(shortCond1 ? 2 : na, color=red, style=linebr)
plot(longCond1 ? 1 : na, color=green, style=linebr)

ПРИМЕЧАНИЕ. Скоро появится Pine Script версии 4. Это будет намного проще благодаря новому ключевому слову «var», подробнее.

person vitvlkv    schedule 29.01.2019