торговля скриптом pine — частичный выход, работающий на длинную, но не на короткую стратегию

#pine-script #algorithmic-trading #trading

#pine-script #алгоритмическая торговля #торговля

Вопрос:

Здравствуйте и спасибо, что изучили это!

Я закодировал стратегию отката, которая пытается покупать, когда цена возвращается к EMA, а затем продает часть позиции при фиксированной цели ATR, другую часть при следующей или при повышенном стопе. Это отлично работает для выхода из длинной позиции. Вы можете найти код, который я использую ниже

 if long_entry
    strategy.entry("buy", true, initial_qty , comment = "ELP")

strategy.exit("TP1", "buy", qty_tp1, limit = target_price1, stop = stop_price1)
strategy.exit("TP2", "buy", limit = target_price2, stop = stop_price1, when = strategy.position_size > qty_tp1 )
strategy.exit("TP2", "buy", limit = target_price2, stop = stop_price2, when = strategy.position_size < qty_tp1)
 

Я пытаюсь сделать то же самое для вариации стратегии, которая ищет короткие позиции, вторая остановка не сработает, и независимо от того, как я пытаюсь организовать ситуацию, не сработает.

Это короткая версия

 if short_entry
    strategy.entry("enter short", false, qty1, comment = "ESP")

strategy.exit("Stop1/TP1", "enter short", qty2, limit = target_price1, stop = stop_price1)
strategy.exit("Stop1/TP2", "enter short", limit = target_price2, stop = stop_price1, when = strategy.position_size < qty2)
strategy.exit("Stop2/TP2", "enter short", limit = target_price2, stop = stop_price2, when = strategy.position_size > qty2)
 

Чтобы упростить понимание подхода, я включил два скриншота.

1-й показывает, как срабатывает поднятый стоп после того, как цена достигла TP1 в моей длинной стратегии. Красный — начальный стоп, синий — цена входа, зеленый — 1-я и 2-я цели, а желтый — поднятый стоп.

2-й показывает, как на стоп не влияет торговля ценой через него.

Я перепробовал все виды комбинаций с функцией «когда», но я не могу заставить ее работать. Чего мне здесь не хватает?

Большое спасибо!

Комментарии:

1. Возможно, версия сортировки завершается неудачно, потому что strategy.position_size возвращает отрицательное значение для короткой позиции ( tradingview.com/pine-script-reference/#var_strategy {точка}position_size )?

2. Да, я тоже думал об этом. Но независимо от того, как я его изменяю, также с вставкой float * (-1) Я не могу заставить его работать.

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