Эта стратегия основана на индикаторе Hull Moving Average, изобретенном Аланом Халлом, относящемся к следующим тенденциям стратегиям.
Вычислить краткосрочные и долгосрочные Hull MA. Короткий период для конкретного направления торговли, длительный период для общей тенденции.
Когда краткосрочные Hull MAs пересекаются, определяется обратный тренд.
Добавьте ценовой прорыв через Hull MA условие, чтобы обеспечить успешный прорыв.
Добавить фильтр изменения курса цены, чтобы избежать нежелательного прорыва.
Установите стоп-лосс и возьмите прибыль, чтобы контролировать риск.
По сравнению с простыми скользящими средними, преимущества этой стратегии включают:
Hull MA реагирует на изменения цен быстрее, способна своевременно улавливать тенденции.
Структура двойного корпуса MA может определять тенденции как на длинные, так и на короткие сроки.
Фильтры ценового прорыва и изменения курса помогают избежать ложных прорывов.
Динамическая остановка потерь и получение прибыли блокирует прибыль и контролирует риск.
Риски этой стратегии:
Неправильное установление параметров может пропустить повороты ценового тренда.
Ошибочное общее суждение о тренде может привести к сделкам с противоположным трендом.
Строп-лосс, установленный слишком широко, может привести к большим потерям.
Слишком частые сделки увеличивают затраты на транзакции и риски скольжения.
Она может быть оптимизирована в следующих аспектах:
Оптимизировать периоды MA корпуса для сбалансированной чувствительности и гладкости.
Оптимизируйте параметры входа и выхода, чтобы найти оптимальные значения.
Испытать прочность параметров на различных приборах для улучшения адаптивности.
Включить объем, чтобы избежать рисков дивергенции.
Добавьте условия для улучшения стабильности.
В целом, эта стратегия использует способность Hull MA реагировать на тенденции вовремя, и имеет сильную прибыльность при контроле рисков.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-12 22:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //SeaSide420 strategy("SS420FX", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) q=input(title="HullMA Short",defval=14) z=input(title="HullMA Long",defval=14) dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001) SL = input(defval=-50000.00, title="Stop Loss in $", type=float, step=1) TP = input(defval=100000.00, title="Target Point in $", type=float, step=1) ot=1 n2ma=2*wma(close,round(q/2)) nma=wma(close,q) diff=n2ma-nma sqn=round(sqrt(q)) n2ma1=2*wma(close[1],round(q/2)) nma1=wma(close[1], q) diff1=n2ma1-nma1 sqn1=round(sqrt(q)) n1=wma(diff,sqn) n2=wma(diff1,sqn) z2ma=2*wma(close[11],round(z/2)) zma=wma(close[11],z) ziff=n2ma-nma zqn=round(sqrt(z)) z2ma1=2*wma(close[12],round(z/2)) zma1=wma(close[12], z) ziff1=n2ma1-nma1 zqn1=round(sqrt(z)) z1=wma(diff,sqn) z2=wma(diff1,sqn) z1e=z1>z2?green:black z2e=z1>z2?black:red z3e=z1>z2?green:red n1e=plot(z1, title="HMA1", color=z1e, linewidth=2, offset=2) n2e=plot(z2, title="HMA2", color=z2e, linewidth=2, offset=2) fill(n1e, n2e, color=z3e, transp=80) confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1]) closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP if (closelong) strategy.close("Long") closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP if (closeshort) strategy.close("Short") longCondition = n1>n2 and z1>z2 and strategy.opentrades<ot and confidence>dt and close>n1 if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and z1<z2 and strategy.opentrades<ot and confidence<dt and close<n1 if (shortCondition) strategy.entry("Short",strategy.short)