Heikin Ashi und Kaufman Adaptive Moving Average Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-19 15:51:30
Tags:

img

Übersicht

Die Heikin Ashi und Kaufman Adaptive Moving Average Trading Strategie (HLC3/Kaufman Strategie) ist eine quantitative Handelsstrategie, die Heikin Ashi Kerzen und Kaufman Adaptive Moving Average (KAMA) kombiniert.

Strategie Logik

Die Hauptkomponenten dieser Strategie sind:

  1. Diese Preise spiegeln den mittleren Preis von Kerzenkörpern wider und können etwas Lärm filtern.

  2. Berechnen Sie den Kaufman Adaptive Moving Average (KAMA).

  3. Vergleichen Sie die Beziehung zwischen Heikin Ashi Close und KAMA, um Kauf- und Verkaufssignale zu ermitteln. Wenn Heikin Ashi Close über KAMA kreuzt, wird ein Kaufsignal generiert. Wenn Heikin Ashi Close unter KAMA kreuzt, wird ein Verkaufssignal generiert.

  4. Hinzufügen des ADX-Indikators, um die Stärke des Trends zu beurteilen, um falsche Signale in Bereichsmärkten zu vermeiden.

Analyse der Vorteile

Der größte Vorteil dieser Strategie ist der doppelte Filter von Heikin Ashi Kerzen und KAMA, die laute Trades und falsche Signale erheblich reduzieren können.

  1. Heikin Ashi Kerzen selbst haben Geräuschreduktionsfähigkeiten, um einige kurzfristige Schwankungen zu filtern.
  2. Die KAMA ist empfindlicher als die SMA und die EMA und kann Trendveränderungen auf großen Ebenen effektiv verfolgen.
  3. Die Kombination von Heikin Ashi und KAMA-Doppelfiltern kann Fehler reduzieren.
  4. Der ADX-Indikator kann so konfiguriert werden, dass er die Stärke des Trends bestimmt, um falsche Signale zu vermeiden.
  5. Handelssignale sind direkt und leicht zu bedienen und flexibel.

Risikoanalyse

  1. In einigen Märkten mit unterschiedlichem Marktumfang kann es zu falschen Signalen kommen, die entsprechend angepasst werden müssen, um dieses Risiko zu vermeiden.
  2. Überempfindliche Parameter können leicht die Spitzen verfolgen und die Tiefen töten.
  3. In langfristigen Trends kann KAMA bei den Preisänderungen in gewissem Maße zurückbleiben.

Optimierungsrichtlinien

  1. Optimieren Sie die Heikin-Ashi-Schließen- und KAMA-Parameter, um die besten Filterbedingungen zu finden.
  2. Hinzufügen von Trendbewertungsindikatoren wie ADX, um sicherzustellen, dass Handelssignale nur dann generiert werden, wenn der Trend stabil ist.
  3. Sie kombinieren andere Hilfsindikatoren wie Bollinger-Bänder, um Stop-Loss-Standards festzulegen.
  4. Die Stabilität von Parametern an verschiedenen Produkten zu testen, um die optimalen Parameterkombinationen zu finden.

Zusammenfassung

Die Heikin Ashi und Kaufman Adaptive Moving Average Trading Strategie ist eine Dual-Filter-Trend-Tracking-Strategie. Sie kombiniert die Geräuschreduktionsfähigkeit von Heikin Ashi Kerzen und KAMAs schnelle Verfolgung von Trendänderungen, um Geräuschtrades effektiv zu filtern und falsche Signale zu reduzieren. Sie eignet sich für die Verfolgung mittelfristiger und langfristiger Trends. Die Strategie kann durch Parameteroptimierung, Bestätigung durch Hilfsindikatoren usw. in Bezug auf Stabilität und Rentabilität weiter verbessert werden.


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





Mehr