#pine-script
Вопрос:
Здравствуйте, я новичок в скрипте pine и тестирую стратегию, которая имеет разные условия входа и выхода. Проблема, с которой я сталкиваюсь, заключается в том, что при выходе условия входа все еще могут быть выполнены и возвращаются в то же положение, что и раньше. Я никогда не хочу входить в позицию в том же направлении, т. Е. Если я закрою длинную, я не хочу снова входить в длинную, пока не столкнусь с короткой. Есть ли какой-нибудь способ попросить скрипт проверить, была ли последняя введенная позиция длинной, чтобы снова не входить в длинную, если только сначала не произошло короткое замыкание?
Ответ №1:
Когда ваши условия входа будут выполнены и переданы в функцию strategy.entry (), дополнительно установите постоянную переменную. Например:
var bool lastTradeLong = na
long = crossover(a,b)
long_entry = long and (na(lastTradeLong) or not lastTradeLong)
if long_entry
lastTradeLong := true
strategy.entry('Long', strategy.long, when=long_entry)
И установите реверс для короткой позиции, поэтому входите, когда ваши короткие условия верны , и lastTradeLong
это либо na
или true
, а затем, когда произойдет эта комбинация и сделка вступит, установите lastTradeLong в значение false.