
La stratégie HLC3/Kaufman est une stratégie de trading quantitative qui combine la ligne K de Heikin Ashi et la moyenne mobile de Kaufman. La stratégie utilise la ligne K de Heikin Ashi pour déterminer l’orientation des transactions, puis utilise la moyenne mobile de Kaufman comme indicateur auxiliaire pour filtrer les signaux de trading.
La stratégie est principalement composée des éléments suivants:
Calculer les prix d’ouverture et de clôture de Heikin Ashi. Ces prix reflètent les prix moyens des entités de la ligne K et peuvent filtrer une partie du bruit.
Le calcul de la moyenne mobile adaptative de Kaufman (KAMA) [2]. Le KAMA est capable d’ajuster dynamiquement sa propre fluidité et ne génère pas beaucoup de retard lors d’une forte fluctuation soudaine du marché [2].
Comparez la relation entre le prix de clôture de Heikin Ashi et la taille de KAMA pour déterminer les signaux d’achat et de vente. Un signal d’achat est généré lorsque le prix de clôture de Heikin Ashi est au-dessus du KAMA; un signal de vente est généré lorsque le prix de clôture de Heikin Ashi est en dessous du KAMA.
L’ADX peut être ajouté pour juger de la force ou de la faiblesse de la tendance, afin d’éviter de produire de faux signaux dans un marché en crise.
Le plus grand avantage de cette stratégie réside dans la combinaison du double filtrage des lignes Heikin Ashi K et KAMA, qui permet de réduire considérablement les échanges de bruit et les faux signaux. Les avantages spécifiques sont les suivants:
La stratégie de trading en moyenne mobile adaptative Heikin Ashi et Kaufman est une stratégie de suivi de la tendance à double filtrage. Elle combine la fonction de débruit de la ligne K de Heikin Ashi et les avantages de KAMA pour suivre rapidement les changements de tendance, afin de filtrer efficacement les transactions de bruit et de réduire les signaux erronés.
/*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)