Heikin Ashi et Kaufman Stratégie de négociation de moyenne mobile adaptative

Auteur:ChaoZhang est là., Date: 2023-12-19 à 15h51h30
Les étiquettes:

img

Résumé

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).

La logique de la stratégie

Les principales composantes de cette stratégie sont les suivantes:

  1. 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.

  2. 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é.

  3. Comparez la relation entre la clôture de Heikin Ashi et le KAMA pour déterminer les signaux d'achat et de vente.

  4. Ajouter l'indicateur ADX pour juger de la force de la tendance afin d'éviter de faux signaux sur les marchés à fourchette.

Analyse des avantages

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.

  1. Les bougies Heikin Ashi ont elles-mêmes des capacités de réduction du bruit pour filtrer certaines fluctuations à court terme.
  2. Le KAMA est plus sensible que la SMA et l'EMA et peut suivre efficacement les changements de tendance aux niveaux majeurs.
  3. La combinaison de deux filtres Heikin Ashi et KAMA peut réduire les erreurs.
  4. L'indicateur ADX peut être configuré pour déterminer la force de la tendance afin d'éviter de faux signaux.
  5. Les signaux de trading sont directs et faciles à utiliser de manière flexible.

Analyse des risques

  1. Des signaux erronés peuvent se produire sur certains marchés à fourchette, les paramètres devant être ajustés en conséquence pour éviter ce risque.
  2. Les paramètres trop sensibles peuvent facilement chasser les sommets et tuer les fonds.
  3. Dans les marchés à tendance à long terme, le KAMA peut être en retard sur les variations de prix dans une certaine mesure.

Directions d'optimisation

  1. Optimiser les paramètres Heikin Ashi close et KAMA pour trouver les meilleures conditions de filtrage.
  2. Ajouter des indicateurs de jugement de tendance tels que l'ADX pour s'assurer que les signaux de négociation ne sont générés que lorsque la tendance est stable.
  3. Combinez d'autres indicateurs auxiliaires tels que les bandes de Bollinger pour définir des normes de stop loss.
  4. Testez la stabilité des paramètres sur différents produits pour trouver les combinaisons optimales de paramètres.

Résumé

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 pour filtrer efficacement les transactions bruyantes et réduire les mauvais signaux.


/*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)





Plus de