Индивидуальная стратегия времени начала бэктестинга


Дата создания: 2023-09-26 20:53:15 Последнее изменение: 2023-09-26 20:53:15
Копировать: 4 Количество просмотров: 651
1
Подписаться
1617
Подписчики

Обзор

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

Стратегический принцип

Эта стратегия реализует настраиваемое время запуска обратной связи с помощью функций времени и временной маркировки скриптов pine.

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

В определении условий стратегии он добавляет новое условие startTime. Стратегия запускается только тогда, когда текущее время больше или равно startTime.

Например:

longCondition = crossover(sma(close, 14), sma(close, 28)) 

if (longCondition and startTime) 

  strategy.entry("My Long Entry Id", strategy.long)

Таким образом, можно реализовать настраиваемое время запуска обратной связи. Пользователь может гибко настраивать начало обратной связи в зависимости от потребности, а не ограничиваться только временем жесткого кодирования.

Анализ преимуществ

Такой подход имеет следующие преимущества:

  1. Большая гибкость: пользователь может полностью настроить время запуска отслеживания, не ограничиваясь фиксированным временем.

  2. Более реалистичный: можно установить время запуска отсчета как время, когда стратегия фактически работает, что делает отсчет более близким к реальному состоянию рынка.

  3. Удобство отслеживания событий: время запуска может быть настроено на то, когда произошло событие, чтобы отслеживать конкретные события.

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

  5. Повторяемая надежность: параметризация времени запуска отслеживания позволяет получить надежные результаты отслеживания.

Анализ рисков

Использование ретроспективного времени запуска имеет некоторые риски:

  1. Результаты отслеживания зависят от времени запуска: разное время запуска может привести к значительным различиям в результатах отслеживания.

  2. Необходимо тщательно выбирать время запуска: необоснованное время запуска может привести к искажению обратной связи и не отразить реальную ситуацию.

  3. Увеличение риска совпадения кривой: легко совпадать с историческими данными путем корректировки времени запуска, что создает риск пересоответствия.

  4. Снижение сопоставимости результатов отслеживания: результаты отслеживания этой стратегии менее сопоставимы с результатами отслеживания при фиксированном времени запуска.

Решение проблемы:

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

  2. Выбор времени события в качестве времени запуска, чтобы уменьшить погрешность отсчета.

  3. Осторожность в корректировке времени запуска позволяет избежать чрезмерного сопоставления исторических данных.

  4. Сохранение отзывов с фиксированным временем запуска в качестве ориентира для сравнения с отзывами на заказ.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Поддержка настройки времени начала и окончания, гибкая конфигурация окна времени полного отсчета.

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

  3. Поддержка графического интерфейса конфигурации, что делает настройки параметров времени более интуитивными.

  4. Поддержка различных форм гранулы времени: год, месяц, день, час, минута, секунда и т. д.

  5. Записывается конфигурация времени отслеживания, что позволяет воспроизводить, отслеживать и сравнивать результаты отслеживания.

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

  7. Предоставляет функцию привязки времени запуска, одновременное копирование времени запуска в несколько стратегий одним клавишем.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time
xYear = input(2018, title = "Start Year")
xMonth = input(01, title = "Start Month", minval = 01, maxval = 12)
xDay = input(01, title = "Start Day", minval = 01, maxval = 31)
xHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
xMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = time >= timestamp(xYear, xMonth, xDay, xHour, xMinute)
// End copy and paste
// Add (and startTime) at the end of your condition/s to activate

// The strategy below is just an example
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
    strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition and startTime)
    strategy.entry("My Short Entry Id", strategy.short)
// Happy trading!