Стратегия TradingView Вход по цене закрытия

Как сделать ордер на вход по стратегии сразу после того, как все условия были выполнены? Например. if(open_price › _some_condition) Strategy.entry(...) Я использовал стратегию(...process_orders_on_close=true)», но я хотел бы выставить ордер не по цене закрытия этого бара, а по цене открытия этого бара (поэтому немедленно).

На странице «Стратегии» (https://www.tradingview.com/pine-script-docs/en/v4/essential/Strategies.html#broker-emulator) говорится, что в отличие от реальной торговли, эмулятор выполняет ордера только по ценам графика, поэтому ордер может быть исполнен только на следующем тике при форвардтестинге и на следующем баре или позже при бэктестинге, т.е. после расчета стратегии. Кто-нибудь знает, как побороть эту проблему и оформить заказ на месте? В противном случае тестирование на исторических данных не дает полезных данных.


person Nikita Sydorenko    schedule 23.04.2021    source источник


Ответы (2)


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

person PineCoders-LucF    schedule 03.06.2021

цена открытия текущего бара является ценой закрытия последнего бара. Итак, используя ваш пример, у вас будет:

if(close[1] > _some_condition)

что то же самое, что

if(close > _some_condition)

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

Итак, если вы хотите использовать условие для выполнения ордера, то первый пример будет подходящим способом.

person Yugenswitch    schedule 06.07.2021