Из того, что я понимаю, согласно справочному руководству по сценарию 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%).Я не могу выяснить причины, по которым сделки были закрыты во многих случаях в первом случае.Я могу предоставить подробную информацию о реальных сделках, но это, возможно, будет много данных для устранения неполадок на этом форуме.Надеюсь, вы сможете найти различия в этом коде.