Выход из тестера стратегий всегда повторный - PullRequest
0 голосов
/ 23 марта 2019

У меня есть приведенный ниже код в тестере стратегий, и когда он автоматически выходит во время тейк-профита на 300, он всегда входит снова. Как мне остановить повторный вход, когда выход вызывает

isShort=false
isLong=false

if (goLong)
    if(isShort==false)
        strategy.entry("Long", strategy.long,100000,when=isShort?false:true)
        strategy.exit("b1","Long",profit=300)
        isShort:=true
        isLong:=false

else
    if(isLong==false)
        strategy.entry("Short", strategy.short,100000,when=isLong?false:true)
        strategy.exit("b2","Short",profit=300)
        isShort:=false
        isLong:=true

1 Ответ

0 голосов
/ 25 марта 2019

Вам нужно использовать Оператор ссылки на историю [], когда вы хотите получить доступ к предыдущему значению переменной.

Вы можете подумать, что для каждой новой строки в pine-script ваш кодполучает переисполнение.Итак, что происходит, вы устанавливаете isShort и isLong на false в начале вашего кода, каждый раз.Таким образом, не имеет значения, если вы измените их позже в коде.Для следующей строки ваш код будет выполнен повторно, а isShort и isLong получат значение false в самом начале.

Вам нужно просто переназначить их старые значенияк этим переменным после объявления.Таким образом, вы сначала объявляете свои переменные, а затем присваиваете им последние значения из предыдущей строки / выполнения.

isShort=false
isLong=false

isShort := nz(isShort[1], false)
isLong := nz(isLong[1], false)
...