Как стать автором
Обновить

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

if (close <= trailingStopLong) // Закрытие по трейлинг-стопу strategy.close("Long")

Вы считаете, что цена сделки по стопу равна close?

Но это реально не так.

close - это цена последней сделки в свече. Она станет известна, когда завершится время свечи.

Стоп это отложенная на сервере брокера заявка. При срабатывании условия, которое проверяется сервером, будет сформирована заявка и отправлена на биржу и там она попадет в очередь. Таким образом реально будет затрачено всегда не нулевое время. Как правило срабатывание стопа происходит при резком движении рынка против позиции. Т е реальная цена будет уже далеко от close.

Таким образом, если стоп сработал на close, то сделка по стопу не может быть исполнена по close, т.к. close уже в прошлом. Это систематическая ошибка всех таких стратегий . Называю это заглядыванием в будущее. В результате такие стратегии показывают всегда результат лучше, чем в реальности. т е на истории есть плюс, а в реальности будет минус.

И еще...

Как вам такой подход: Вход в лонг - это есть выход из шорта и наоборот. Т. е. вход и выход равноценны по значимости, тем более на фьючерсах.

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

Теперь к сути:

process_orders_on_close=true - важный нюанс

Когда в стратегии указано process_orders_on_close=true, это не означает исполнение ордера по close текущего бара, а значит, что решение об открытии/закрытии позиции принимается в момент закрытия свечи, но исполняется уже на следующем баре.

strategy(..., process_orders_on_close=true)

Таким образом, когда в коде написано:

if (close <= trailingStopLong)
strategy.close("Long")

это условие только инициирует закрытие позиции, а сама сделка будет исполнена по цене открытия следующей свечи (open следующего бара), с учетом slippage и commission, заданных в стратегии.

Никакого заглядывания в будущее здесь нет, если правильно понимать механизм работы strategy.* функций в TradingView.

По условию срабатывания стопа в данном случае понятно.

Но так реальный стоп не работает. Так работает заявка по фиксированной цене.

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

В любом случае, тест не отражает реальные ситуации.

-------------------

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

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

-------------------


Если вы про статью https://habr.com/ru/articles/891786/, то там всё таки разбор идеи Александра Резвякова.

Как вам такой подход: Вход в лонг - это есть выход из шорта и наоборот. Т. е. вход и выход равноценны по значимости, тем более на фьючерсах.

Мне кажется всё время быть в рынке не очень хорошая идея...

Нет, речь не о об этом.

Вы в начале статьи утверждаете, что важен не вход, а выход.

Я полагаю, что вход и выход равноценны.

Закрытие и открытие позиции это есть лишь перекладывание права собственности из одних бумаг в другие. Деньги - это бумаги государства. акции- бумаги компаний.

я когда писал систему бэктестироваия принял такое правило: стоп выполнится заведомо хуже цены срабатывания, но вот насколько?

Мы знаем каково тело свечи, и можем взять например 2-5% от нее (но не менее минимального шага).

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

Раздельное тестирование выхода полезно, но в некоторых случаях оно наложится на след. вход, так что полной чистоты тут не будет. )

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации