ハイキン・アシとカウフマン適応型移動平均取引戦略 (HLC3/Kaufman Strategy) は,ハイキン・アシのキャンドルとカウフマン適応型移動平均 (KAMA) を組み合わせた定量的な取引戦略である.取引方向を決定するためにハイキン・アシのキャンドルと,貿易信号フィルタリングのための補助指標としてKAMAを使用する.
この戦略の主な構成要素は以下の通りである.
ハイキン・アシの開閉価格を計算する.これらの価格は,キャンドルボディの平均価格を反映し,いくつかのノイズをフィルタリングすることができます.
カウフマン適応移動平均 (KAMA) を計算する.KAMAは動的にそのスムーズさを調整することができ,急激な市場変動の間にあまりにも遅れることはありません.
ハイキン・アシ・ローズとKAMAの関係を比較して,買い・売るシグナルを決定する. ハイキン・アシ・ローズがKAMAを横切ると,買い信号が生成される. ハイキン・アシ・ローズがKAMAを下回ると,売る信号が生成される.
ADX インディケーターを追加して,トレンドの強さを判断し,レンジ・バインド市場での間違った信号を避ける.
この戦略の最大の利点は,騒々しい取引と間違ったシグナルを大幅に減らすことができるハイキンアシキャンドルとKAMAの二重フィルターです. 具体的な利点は:
ハイキンアシとカウフマン適応型移動平均取引戦略 (Heikin Ashi and Kaufman Adaptive Moving Average Trading Strategy) は,デュアルフィルタートレンド追跡戦略である.ハイキンアシのキャンドルと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)