Стратегия двойного толчка устанавливает верхние и нижние диапазоны на основе цены открытия и диапазона предыдущего дня, выходя на длинный курс при взлетах и короткий курс при падениях.
Вычислить самый высокий высокий HH и самый низкий низкий LL на последних N-барах.
Вычислить наивысший близкий HC и самый низкий близкий LC предыдущего дня.
Диапазон предыдущего дня Диапазон больше HH-LC и HC-LL.
Высшая полоса BuyLine - это цена открытия плюс k1 * диапазон.
Нижняя полоса SellLine - это цена открытия минус k2 * диапазон.
Пройдите длинный, когда закрытие прерывается выше BuyLine, и короткий, когда закрытие прерывается ниже SellLine.
Основные преимущества этой стратегии:
Захватывает тенденцию, сформированную прорывами вокруг открывающейся цены.
Пробелы устанавливаются автоматически на основе исторической волатильности, избегая субъективности.
Настраиваемые значения k подходят для продуктов с различной волатильностью.
Сигналы прорыва относительно высокого качества.
Гибкие периоды хранения для отслеживания тенденций в разные периоды времени.
Основные риски этой стратегии:
Трудность определения разумного диапазона для полос, риски перегрузки.
Прорывы могут оказаться ложными сигналами, нужно остановить потерю.
Фиксированный период хранения не может динамически адаптироваться к рынку.
Недостаточные данные обратных испытаний приводят к настройке кривой.
Трудность совместного осуществления длинной и короткой торговли.
Решения:
Оптимизируйте значения k на больших наборах данных, чтобы избежать перегрузки.
Установите правильный стоп-лосс, чтобы ограничить потери на одну сделку.
Добавить фильтр тренда, чтобы избежать торговли контртендом.
Рассмотреть возможность сокращения периода хранения до внутридневного.
Подтверждение в режиме реального времени с постепенным размещением позиции.
Некоторые способы улучшения стратегии:
Динамически регулируйте значения k для полос.
Добавьте фильтр громкости, чтобы подтвердить сигналы прорыва.
Используйте перемещение стоп-лосса для защиты прибыли.
Оценить силу прорыва для определения размера положения.
Различить тренд и диапазон для разложения стратегии.
Стратегия двойного толчка может захватить трендовые торговые возможности вокруг открывающейся цены. Но параметры настройки и оптимизации периода хранения имеют большое пространство для улучшений с учетом контроля риска. Для живой торговли, начните с консервативных параметров и размер позиций постепенно.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Dual Thrust Strategy",overlay=true,initial_capital=1000) k1=input(0.67,type=float,step=0.01) k2=input(0.62,type=float,step=0.01) TimeFrame=input('240') len=input(20) HH=security(syminfo.tickerid,TimeFrame,highest(high,len),barmerge.lookahead_off) LC=security(syminfo.tickerid,TimeFrame,lowest(close,len),barmerge.lookahead_off) HC=security(syminfo.tickerid,TimeFrame,highest(close,len),barmerge.lookahead_off) LL=security(syminfo.tickerid,TimeFrame,lowest(low,len),barmerge.lookahead_off) Range=max(HH-LC,HC-LL) BuyLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)+k1*Range SellLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)-k2*Range plot(BuyLine,color=blue,linewidth=2,offset=1,transp=70) plot(SellLine,color=red,linewidth=2,offset=1,transp=70) LongCondition=crossover(close,BuyLine) ShortCondition=crossunder(close,SellLine) strategy.entry("enter long",true,1,when=LongCondition) strategy.entry("enter short",false,1,when=ShortCondition) plotshape(LongCondition and strategy.position_size<0?low:na,style=shape.labelup,location=location.absolute,color=blue,text="Long",textcolor=white,size=size.small) plotshape(ShortCondition and strategy.position_size>0?high:na,style=shape.labeldown,location=location.absolute,color=red,text="Short",textcolor=white,size=size.small) alertcondition(LongCondition and strategy.position_size<0,title='Long_DT') alertcondition(ShortCondition and strategy.position_size>0,title='Short_DT')