La stratégie de négociation des moyennes mobiles adaptatives de Heikin Ashi et Kaufman (HLC3/Stratégie Kaufman) est une stratégie de négociation quantitative qui combine les bougies Heikin Ashi et la moyenne mobile adaptative de Kaufman (KAMA).
Les principales composantes de cette stratégie sont les suivantes:
Calculer les prix d'ouverture et de fermeture Heikin Ashi. Ces prix reflètent le prix moyen des corps de bougies et peuvent filtrer un peu de bruit.
Calculer la moyenne mobile adaptative de Kaufman (KAMA). KAMA peut ajuster dynamiquement sa fluidité et ne sera pas trop en retard lors de fortes fluctuations du marché.
Comparez la relation entre la clôture de Heikin Ashi et le KAMA pour déterminer les signaux d'achat et de vente.
Ajouter l'indicateur ADX pour juger de la force de la tendance afin d'éviter de faux signaux sur les marchés à fourchette.
Le plus grand avantage de cette stratégie est le double filtre des bougies Heikin Ashi et KAMA, qui peut réduire considérablement les transactions bruyantes et les signaux erronés.
La stratégie Heikin Ashi et Kaufman Adaptive Moving Average Trading est une stratégie de suivi de tendance à double filtre. Elle combine la capacité de réduction du bruit des bougies Heikin Ashi et le suivi rapide des changements de tendance de 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)