Обратное тестирование скрипта Pine

Я пишу простой сосновый скрипт, чтобы открывать длинные позиции до 10-минутного часового закрытия свечи и закрывать короткие позиции через 10 минут после закрытия свечи.

Но скрипт не применяется к предыдущей дате/времени, а применяется только с того момента, когда я добавляю его на график.

Я хотел бы протестировать эту простую стратегию. Может кто-нибудь помочь, пожалуйста?

Я очень новичок в написании сценариев. Цените любую помощь.

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jayaguru
//@version=4 
strategy("My Strategy", overlay=true)

longCondition = minute(timenow)

if (longCondition == 55)
    strategy.entry("Long", strategy.long, comment="Long")
if (longCondition == 14 or strategy.openprofit < -15 or strategy.openprofit > 40)
    strategy.close_all()

person Jay    schedule 10.06.2020    source источник


Ответы (1)


Вы используете переменную timenow, которая является текущей датой/временем. (как "сейчас").
Вместо этого вам нужно использовать time< /a>, который возвращает время открытия бара.
Вот так:

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jayaguru
//@version=4 
strategy("My Strategy", overlay=true)

longCondition = minute(time)

if (longCondition == 55)
    strategy.entry("Long", strategy.long, comment="Long")
if (longCondition == 14 or strategy.openprofit < -15 or strategy.openprofit > 40)
    strategy.close_all()

См. Программный доступ к времени бара в TradingView Pine для получения дополнительной информации.

person Bjorn Mistiaen    schedule 11.06.2020
comment
Большое спасибо, Бьорн. ценю вашу помощь. Не могли бы вы помочь, если приведенное ниже утверждение неверно. это не работает. Я пытаюсь оставаться в позиции до тех пор, пока она не достигнет чистого убытка или прибыли, но, похоже, это не работает. if (longCondition == 14 или Strategy.netprofit ‹ -100 или Strategy.netprofit › 60) Strategy.close_all() - person Jay; 12.06.2020