Стратегия двойного скользящего среднего HullMA Crossover Trend - это стратегия, основанная на перекрестном использовании двойных скользящих средних.
Стратегия двойного движущегося среднего HullMA Crossover Trend использует три линии WMA с различными периодами, включая wma1, wma2 и wma3. wma2 и wma3 конструируют систему двойного движущегося среднего. Пересечение wma2 выше wma3 дает бычьи сигналы, в то время как пересечение wma2 ниже wma3 дает медвежие сигналы. wma1 служит вспомогательной ссылкой.
Кроме того, стратегия использует скользящую среднюю Hull для укрепления проверки сигнала. В частности, она рассчитывает разницу между 2-периодным WMA удвоенным (n2ma) и n-периодным WMA (nma). Только когда разница возрастает, бычьи сигналы подтверждаются действительными. Только когда разница падает, медвежие сигналы подтверждаются действительными.
Стратегия также включает в себя проверку цены. Только когда цена выше, чем в предыдущий день, бычьи сигналы будут подтверждены для длинных ордеров. Только когда цена ниже, чем в предыдущий день, медвежие сигналы будут подтверждены для коротких ордеров.
Стратегия HullMA Crossover Trend сочетает в себе двойной кроссовер скользящей средней и проверку цены, что позволяет эффективно отфильтровывать ложные сигналы.
Как стратегия, следующая за трендом, стратегия двойного скользящего среднего HullMA Crossover Trend может генерировать относительно больше сделок и расходов на скольжение на рынках с ограниченным диапазоном. Кроме того, двойные системы кроссоверов скользящих средних имеют тенденцию быть слишком чувствительными и могут излучать неправильные сигналы во время боковых тенденций. Желательно настроить параметры скользящих средних или наложить соответствующие дополнительные фильтры.
Стратегия двойного скользящего среднего HullMA Crossover Trend может быть улучшена в следующих аспектах:
Оптимизировать параметры скользящей средней для поиска лучшей комбинации параметров
Добавьте фильтры, такие как объем или волатильность, чтобы исключить ложные прорывы
Включение других показателей в качестве дополнительной проверки для улучшения качества сигнала
Динамическая оптимизация параметров скользящих средних периодов
В целом, стратегия Dual Moving Average HullMA Crossover Trend - это стабильная и надежная стратегия, следующая за трендом. Она производит высококачественные сигналы путем сочетания двойного пересечения скользящей средней и проверки цены. Благодаря настройке параметров и добавлению фильтров, она может еще больше уменьшить неправильные сигналы и достичь лучших результатов. Она подходит для улавливания средне- и долгосрочных тенденций и является надежным выбором для количественной торговли.
/*backtest start: 2023-02-25 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("ZendicatoR", overlay=true) dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001) keh=input(title="Double HullMA Cross",defval=7, minval=1) che1=input(title="MA 1",defval=34,minval=1) che2=input(title="MA 2",defval=144,minval=1) che3=input(title="MA 3",defval=377,minval=1) amnt=input(title="TP ($)",defval=4200,minval=1) wma1=wma(close,che1) wma2=wma(close,che2) wma3=wma(close,che3) tms=10000000000000 A=request.security(syminfo.tickerid, 'D', close)*tms B=request.security(syminfo.tickerid, 'D', close[1])*tms C=A>B?green:red D=wma2>wma3?green:red plot(wma1,style=line,color=C,linewidth=4) p1=plot(wma2,style=line,color=D) p2=plot(wma3,style=line,color=D) fill(p1, p2, color=D, transp=75) n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma,sqn=round(sqrt(keh)) n2ma1=2*wma(close[2],round(keh/2)) nma1=wma(close[2],keh) diff1=n2ma1-nma1,sqn1=round(sqrt(keh)) n1=wma(diff,sqn)*tms n2=wma(diff1,sqn)*tms closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt if (closelong) strategy.close("Long") closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt if (closeshort) strategy.close("Short") longCondition = A*tms>B*tms and n1*tms>n2*tms if (longCondition) strategy.entry("Long",strategy.long) shortCondition = A*tms<B*tms and n1*tms<n2*tms if (shortCondition) strategy.entry("Short",strategy.short)