Различные результаты из-за условия if в стратегии () - PullRequest
0 голосов
/ 19 июня 2020

Может кто-нибудь объяснить мне, почему эти две стратегии показывают разные результаты? Стратегия 1:

//@version=4
strategy("My script",overlay=true)
v=vwma(close,100)
var count = 0
var activate = 0
if low[1]<v[1]
    count:=0
    activate:=1
    count:=count+1
if count>=1 and low[1]>v[1]
    count:=count+1
    if count==16
        count:=0
        activate:=0

if activate==1//<<<The only difference
    strategy.entry("Short", strategy.short, 1, stop = lowest(50), when = strategy.position_size >= 0  )
strategy.exit("Exit Short", "Short", stop = avg(highest(50),lowest(50)))

Стратегия 2:

//@version=4
strategy("My script",overlay=true)
v=vwma(close,100)
var count = 0
var activate = 0
if low[1]<v[1]
    count:=0
    activate:=1
    count:=count+1
if count>=1 and low[1]>v[1]
    count:=count+1
    if count==16
        count:=0
        activate:=0


strategy.entry("Short", strategy.short, 1, stop = lowest(50), when = strategy.position_size >= 0 and activate==1  )//<<<The only difference
strategy.exit("Exit Short", "Short", stop = avg(highest(50),lowest(50)))

Я просто хотел сделать фильтры для каналов Дончиана. Таким образом, если минимум пересек Vwma (100), переменная активации будет равна 1 в течение 16 часов. Может ли кто-нибудь объяснить, почему стратегия с условием if дает совершенно другие результаты, чем другая стратегия?

...