Прорывные взлеты и падения Стратегия обратного тестирования

Автор:Чао Чжан, Дата: 2024-01-08 16:13:44
Тэги:

img

Обзор

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

Принцип

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

В фактической торговле, если цена закрытия больше или равна самой низкой цене периода просмотра, она рассматривается как подъемный прорыв и идет на длинный. Если цена закрытия меньше или равна самой высокой цене периода просмотра, она рассматривается как падение прорыв и идет на короткий.

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

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

Основными преимуществами этой стратегии являются:

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

  2. Простой и понятный, очень подходит для начинающих.

  3. Легко оптимизировать путем корректировки периодических параметров, применимых к различным сортам.

  4. Может устанавливать обратный вход для обратной операции, обогащая стратегию использования.

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

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

Существуют также некоторые риски:

  1. Не может эффективно отфильтровать боковую волатильность, возможные множественные ошибки.

  2. Не может контролировать стоп-лосс, существует определенная степень риска потери.

  3. В зависимости от затрат на торговлю фактическая PnL может отклоняться.

  4. Невозможно ограничить размер позиции, существует риск переоценки.

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

Оптимизация

Основными направлениями оптимизации являются:

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

  2. Установите отстающую стоп-потерю или временную стоп-потерю для контроля риска единичных потерь и обеспечения общей прибыльности.

  3. Оптимизировать размер позиций и управление деньгами, чтобы предотвратить чрезмерную торговлю и обеспечить стабильность.

  4. Испытать эффекты различных периодических параметров и выбрать оптимальные комбинации параметров.

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

Резюме

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


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
xHigh  = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow   = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
       iff(close < vS1, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

Больше