Эта стратегия использует индикатор HMA (Hull Moving Average) и технический анализ K-line для оценки импульса и прорывных операций по ценам.
Показатель HMA был создан Аланом Халлом в 2005 году для создания скользящей средней, которая является чувствительной и плавной.
(1) Вычислить средний DMA двойного сглаживания полуцикла
(2) Вычислить средний средний показатель SMA для всего цикла
(3) Расчет разницы DIFF между DMA и SMA
(4) Вычислить среднюю линию цикла SQRT ((период) DIFF, чтобы получить HMA
Стратегия использует подъемные и понижающиеся прорывы индикатора HMA в качестве сигналов, в сочетании с прорывом части K-линии, чтобы генерировать сигналы покупки и продажи.
Характеристика
Механизм двойного прорыва улучшает надежность сигналов и предотвращает их захват.
Динамическая стоп-лосс и защита прибыли оптимизируют риск и доходность.
Полностью автоматизированная торговля упрощает операции.
При бурных колебаниях на рынке вероятность того, что будет достигнут стоп-лосс, выше.
Высокая частота торгов увеличивает комиссионные.
Неправильные параметры могут генерировать много ложных сигналов.
Оптимизируйте условия стоп-лосса и получения прибыли и устанавливайте разумные ретрекши.
Корректируйте частоту торговли, чтобы уменьшить влияние комиссионных.
Испытать и оптимизировать цикл HMA и условия прорыва для определения оптимальных параметров.
Включать индикаторы оценки тренда, чтобы избежать торговли контртендом.
Увеличить автоматическое суждение об изменении источника данных для адаптации к более широкой рыночной среде.
Увеличить алгоритмы машинного обучения для автоматической оптимизации параметров.
Развернуть на сервере для достижения 24-часовой проверки торговли.
Стратегия HMA использует уникальные преимущества скользящей средней, чтобы точно фиксировать рыночный импульс. Двойной механизм фильтрации улучшает качество сигнала, а динамический стоп-прибыль и стоп-потеря защищают доход. Эта стратегия проста в использовании, эффективна и очень практичный количественный торговый инструмент, который стоит продвигать.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //SeaSide420 strategy("Hull Moving Average and Daily Candle Crossover", shorttitle="Hull&D", 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) // settings---------------------- q=input(title="HullMA",defval=5) SL = input(defval=-10000.00, title="Stop Loss in $", type=float, step=1) TP = input(defval=500.00, title="Target Point in $", type=float, step=1) price=input(ohlc4,title="Price data") ot=1 p=price[1] // Daily candle crossover--------- dt = 0.0010 Daily=(p-p[1])/p[1] //-------------------------------- // Hull MA's---------------------- n2ma=2*wma(p,round(q/2)) nma=wma(p,q) diff=n2ma-nma sqn=round(sqrt(q)) n2ma1=2*wma(p[1],round(q/2)) nma1=wma(p[1], q) diff1=n2ma1-nma1 sqn1=round(sqrt(q)) n1=wma(diff,sqn) n2=wma(diff1,sqn) //--------------------------------- // Plotting------------------------ z1e=n1>n2?green:black z2e=n1>n2?black:red z3e=n1>n2?green:red n1e=plot(n1, title="HMA1", color=z1e, linewidth=2, offset=2) n2e=plot(n2, title="HMA2", color=z2e, linewidth=2, offset=2) fill(n1e, n2e, color=z3e, transp=80) // Order controls------------------- closelong = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] or strategy.openprofit<SL or strategy.openprofit>TP if (closelong) strategy.close("Long") closeshort = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] or strategy.openprofit<SL or strategy.openprofit>TP if (closeshort) strategy.close("Short") longCondition = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] and strategy.opentrades<ot and Daily>dt and close>n1 if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] and strategy.opentrades<ot and Daily<dt and close<n1 if (shortCondition) strategy.entry("Short",strategy.short)