
Heikin Ashi и Kaufman Adaptive Moving Average Trading Strategy (HLC3/Kaufman Strategy) - это количественная торговая стратегия, объединяющая Heikin Ashi K-линии и Kaufman Adaptive Moving Average (KAMA). Эта стратегия определяет направление торговли по Heikin Ashi K-линии, а затем использует Kaufman Adaptive Moving Average в качестве вспомогательного показателя для фильтрации торговых сигналов.
Стратегия состоит из следующих частей:
Вычислите цены открытия и закрытия Heikin Ashi. Эти цены отражают средние цены на объекты K-линии, что позволяет отфильтровать часть шума.
Кафман адаптируется к скользящей среднему ((KAMA) │КАМА способен динамически регулировать свою плавность, не создавая больших задержек при резких рыночных колебаниях │
Сравнение величины цены закрытия Heikin Ashi и KAMA для определения сигналов покупки и продажи. Сигнал покупки возникает, когда цена закрытия Heikin Ashi пересекает KAMA; сигнал продажи возникает, когда цена закрытия Heikin Ashi пересекает KAMA.
Добавление индикатора ADX позволяет определить, насколько сильна или слаба тенденция, чтобы избежать ошибочных сигналов на рынке во время колебаний.
Наибольшим преимуществом этой стратегии является сочетание двойных фильтров Heikin Ashi K и KAMA, что позволяет значительно снизить уровень шума и ложных сигналов. Конкретные преимущества:
Heikin Ashi и Kaufman Adaptive Moving Average Trading Strategy - это стратегия двойного отслеживания тенденций. Она сочетает в себе функции отключения шума Heikin Ashi K-линии и преимущества быстрого отслеживания изменений тенденций KAMA, чтобы эффективно отфильтровать шум торговли и уменьшить ошибочные сигналы, подходящие для отслеживания среднесрочных и долгосрочных тенденций.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Heikin/Kaufman by Marco
strategy("HLC3/Kaufman Strategy ",shorttitle="HLC3/KAU",overlay=true)
res1 = input(title="Hlc3 Time Frame", defval="D")
test = input(1,"Hlc3 Shift")
sloma = input(20,"Slow EMA Period")
//Kaufman MA
Length = input(5, minval=1)
xPrice = input(hlc3)
xvnoise = abs(xPrice - xPrice[1])
Fastend = input(2.5,step=.5)
Slowend = input(20)
nfastend = 2/(Fastend + 1)
nslowend = 2/(Slowend + 1)
nsignal = abs(xPrice - xPrice[Length])
nnoise = sum(xvnoise, Length)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMA = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
//Heikin Ashi Open/Close Price
//ha_t = heikinashi(tickerid)
//ha_close = request.security(ha_t, period, nAMA)
//mha_close = request.security(ha_t, res1, hlc3)
bha_close = request.security(syminfo.ticker, timeframe.period, nAMA)
bmha_close = request.security(syminfo.ticker, res1, hlc3)
//Moving Average
//fma = ema(mha_close[test],1)
//sma = ema(ha_close,sloma)
//plot(fma,title="MA",color=black,linewidth=2,style=line)
//plot(sma,title="SMA",color=red,linewidth=2,style=line)
bfma = ema(bmha_close[test],1)
bsma = ema(bha_close,sloma)
plot(bfma,title="MA",color=black,linewidth=2,style=line)
plot(bsma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
//golong = crossover(fma,sma)
//goshort = crossunder(fma,sma)
golong = crossover(bfma,bsma)
goshort = crossunder(bfma,bsma)
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)