TradingView
ROBO_Trading
5 дек 2018 г., 20:11

Галки "пересчитывать" Обучение

Bitcoin / US Dollar Perpetual Inverse Swap ContractBitMEX

Описание

В свойствах скриптов стратегий есть 2 галки "пересчитывать". Спрашивали стоит ли их ставить, и как оно влияет. Да, их лучше ставить, обе. Потому что так чуть точнее считает.

Опишу ситуацию почему эти галки влияют на результат теста и как влияют. Если галки не стоят, то на одной свече может быть только одно срабатывание ордера. То есть, допустим используем часовой таймфрейм, если произошло открытие позиции, то на бектесте без этих галок закрытие позиции (и вообще любая другая сделка) может появиться только на следующей свече (в следующий час), но не может появиться в той же свече. А ведь это не совсем верно. На реальной практике бывает что позиция открылась и закрылась в тот же час, то есть в рамках одной свечи. Чтобы позиция на бектесте могла закрываться в той же свече где открылась нужно поставить обе галки "пересчитывать".
Комментарии
artemrr
Ещё один вопрос по поводу настроек в бектестах. В строке " Проверка цены для исполнения Лимитовых заявок" нужно чтобы была 1 или 0? результаты бекстестов сильно отличаются при изменении этого параметра
ROBO_Trading
@artemrr, я пока не знаю еще. Вообще нам тестер нужен чтобы оптимальные настройки найти и только. Будущая доходность сильнее всего зависит от волатильности. А в следующем году её будет или намного меньше, или намного больше. В любом случае реальный результат за следующий год будет ну очень сильно отличаться от бектеста за прошлый год. Причем сильно отличаться результат может и в лучшую и в худшую сторону. Поэтому бектестер не отвечает на вопрос "Сколько даст стратегия в следующем году?", но отвечает на вопрос "Оптимальные ли эти параметры?". Ну например, если бектест показывает -100% за прошлый год, то не стоит так же торговать в следующем году :) Я бы еще так сказал, тут бектестер позволяет "измерить типичную волатильность пары". Это для биткойна на часовом ТФ шифт -5% будет хорошим выбором, потому что у него волатильность такая вот, а у большинства пар волатильность сильнее (из-за их более низкой капитализации), поэтому там -5% не оптимально уже, там часто лучше -7% или -10% ставить, смотря какая пара. Поэтому за точностью на бектесте гоняться смысла даже и нет, главное чтобы он волатильность правильно измерил и всё.
artemrr
@Noro, судя по выдержке из wiki TW,я считаю ,что этот параметр на бекстесты данной стратегии не влияет
" Также возможно эмулировать очередь заказов. Этот параметр называется «Проверить цену для лимитных ордеров» и может быть найден в свойствах стратегии или задан в самом скрипте: strategy(... backtest_fill_limits_assumption=X, ...). Указанное значение = количество точек / пипсов (минимальное изменение цены), значение по умолчанию = 0. Лимит-заказ заполняется, если текущая цена лучше (выше для ордеров на продажу, ниже для заказов на покупку) за указанное количество очков / пипсов. Цена исполнения по-прежнему соответствует цене лимитного ордера.

Пример:

backtest_fill_limits_assumption = 1. Minimum price movement (Минимальное движение цены) = 0.25.

A buy limit order is placed at price 12.50. Приказ о лимитировании покупки размещается по цене 12.50

Current price is (Текущая цена) 12.50.

Ордер не может быть заполнен по текущей цене только потому, что backtest_fill_limits_assumption = 1. Чтобы исполнить ордер, цена должна стать на 0,25 * 1 ниже. Ордер помещается в очередь.

Предположим, что следующий тик приходит по цене 12.00. Эта цена на 2 пункта ниже, что означает условие “backtest_fill_limits_assumption = 1” , поэтому ордер должен быть заполнен. Заказ заполняется в 12.50 (первоначальная цена заказа), даже если цена больше не доступна."
ROBO_Trading
@artemrr, влияет. Я проверял уже. Если с дефолтными ShiftMA запустить без галок, то на часовом на битмексе XBTUSD будет 82 сделки. А с галками 83 сделки. Я специально нашел эту сделку, из-за которой разница, так как раз тот случай что я описал. Позиция должна была закрыться в той же свече, в которой открылась. То есть так правильнее. Но для этого надо обе галки ставить.
artemrr
@Noro, я же не о галках, с ними уже разобрались.
я про " Проверка цены для исполнения Лимитовых заявок"- нужно чтобы была 1 или 0?
если ставлю 0 то нормально настравиваю и хорошая прибыль выходит,а когда ставлю 1 напротив этого параметра то сразу в минуса показывает тестер
ROBO_Trading
@artemrr, как нибудь разберусь с этим, и напишу отдельный пост как это работает и как лучше сделать.
Ещё