Как выйти из стратегии в трейдинге по достижению цели, стоп-лоссу или условию - PullRequest
0 голосов
/ 18 декабря 2018

Из того, что я понимаю, согласно справочному руководству по сценарию Pine на https://www.tradingview.com/study-script-reference/ параметр в функции Strategy.exit используется только для размещения ордера, это то, что написано в документации "Условиеордер. Порядок размещается, если условие «истина». Если условие «ложь», ничего не происходит (ранее размещенный ордер с тем же идентификатором не отменяется). Значение по умолчанию «истина». "

Это означает, что заказ не обязательно может быть выполнен при выполнении условия.Например, если у меня есть условие, при котором я должен был бы выйти из сделки, когда RSI меньше 30, и если у меня есть

strategy.exit("IdOfThisOrder","EntryOrderID", when=rsilessthan30, profit=100,loss=50) 

(что означает, что у меня есть цель прибыли 100 пиков и стоп-лосс в размере50 тиков), тогда, предполагая, что ни поставленная цель прибыли, ни стоп-лосс будут выставлены только ордер и он не будет выполнен.

Если мне придется выйти из позиции, когда RSI <30, тогда яна самом деле придется проверить это, а затем вызвать стратегию.close </p>

if rsi<30
  strategy.close("EntryOrderID")

Кроме того, мне также придется отменить существующий ордер, что означает

if rsi<30
  strategy.cancel("IdOfThisOrder")
  strategy.close("EntryOrderID")

По сути, цель иСтратегия. exit и любые другие условия будут учитываться при получении прибыли .close

Это кажется довольно сложным, и, возможно, я не могу понять, как его использовать.Иногда я получаю результаты, которые не совсем понятны, поэтому я хотел понять, как они используются вместе

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

Ответ на первый комментарий: Этот код:

if (shortentercondition )
    strategy.entry("Tech1", strategy.short)
    strategy.exit("Exit","Tech1",profit=profittarget,stop=sl_level)

if ( shortclosecondition )
    strategy.cancel("Exit")
    strategy.close("Tech1")

и этот код: if (shorttentercondition) Strategy.entry ("Tech1", Strategy.short) // Strategy.exit («Выход», «Tech1», прибыль = профит-цель, стоп = уровень_стали)

if ( shortclosecondition or proftconditionmet or slconditionmet)
    // strategy.cancel("Exit")
    strategy.close("Tech1")

должны быть эквивалентны в моем случае.Но первый дает мне убыток (около -10%), а второй - прибыль (около 20%).Я не могу выяснить причины, по которым сделки были закрыты во многих случаях в первом случае.Я могу предоставить подробную информацию о реальных сделках, но это, возможно, будет много данных для устранения неполадок на этом форуме.Надеюсь, вы сможете найти различия в этом коде.

...