モメンタム移動平均クロスオーバーとMACDフィルター付きHeiken Ash Candle戦略


作成日: 2024-01-02 12:18:03 最終変更日: 2024-01-02 12:18:03
コピー: 0 クリック数: 932
1
フォロー
1621
フォロワー

モメンタム移動平均クロスオーバーとMACDフィルター付きHeiken Ash Candle戦略

概要

この戦略は,ヘイケン・アッシュの技術を用いて,均線交差信号とMACD指標をフィルタリングし,トレンド追跡戦略を構築する. この戦略は,異なる時間周期における市場トレンドを捕捉し,均線交差を利用して取引信号を生成し,その後,MACD指標を介して偽信号をフィルタリングし,反テストで高い率を示している.

戦略原則

この戦略は,主に以下の3つの技術指標を活用しています.

  1. ハイケン・アッシュ技術。この技術は,閉盤価格を修正して,の影のないのを構成する。これは,価格の真の傾向をより明確に表し,過剰な市場騒音をフィルターする。

  2. 指数移動平均線 ((EMA) 。 急速EMAは短期トレンドを捉え,遅いEMAは長期トレンドの方向を判断するために用いられる。 急速EMAの上を通過すると遅いEMAで買い信号が生じる; 急速EMA下を通過すると遅いEMAで売り信号が生じる。

  3. MACD指数。この指数は,快慢EMAと結合し,MACD主線がシグナル線より高いときは看板信号,主線がシグナル線より低いときは看板信号。

この戦略の取引信号は,高速EMAと遅いEMAの金叉死叉から来ている.偽のシグナルをフィルターするために,戦略は,MACD指標を補助判断のために導入し,MACD指標が同方向信号を発信するときにのみ最終的な取引信号を生成する.これは,誤った取引の確率を大幅に減らす.

具体的には,速速EMA上をゆっくりEMA ((金叉) とMACD主線が信号線より高く (看板信号) が同時に出現すると,買入信号が生じます.速速EMA下をゆっくりEMA ((死叉) とMACD主線が信号線より低く (看板信号) が同時に出現すると,売出信号が生じます.

均線交差とMACDのフィルタリングを組み合わせることで,市場の重要な転換点を効果的に識別し,順調に価格トレンドを捉えることができます.

戦略的優位性

この戦略には以下の利点があります.

  1. トレンド信号の捕捉の確率が大幅に向上する.ハイケン・アッシュ技術を使用すると,トレンドをより明確に判断できる.両均線の交差システムによる信号生成の効率も非常に高い.MACDフィルタリングと組み合わせた後の信頼性が高い.

  2. 撤回リスクは低い。MACDは,補助判断指標として,停止損失リスクを一定程度に回避し,平仓の損失を効果的に減らすことができる。

  3. 調整可能なパラメータが多い.海ケン・アッシュの周期,平均線システムの快慢周期,MACDのパラメータなど,市場に応じて調整でき,戦略を異なる状況に適応させることができる.

  4. 実現は比較的シンプルで明快である.ハイケン・アシュタインで価格を表し,常用指標で判断する.プログラミングが容易で,コードは簡潔で,容易に理解できる.

  5. 資金の使用効率が高い. 戦略を採用してトレンド追跡法により,ほとんどの場合,資金は市場の主流の方向で動作させ,資金の量を効果的に利用して収益を生み出すことができる.

戦略リスク

この戦略には以下のリスクもあります.

  1. 市場が急激に波動すると,大きな損失が発生する可能性があります.価格が急激に上昇したり,短期間に急激に反転したときに,止損措置が破られ,予想以上の損失が発生する可能性があります.

  2. MACDのフィルタリング誤判の可能性。MACDは補助指標としても誤判を発生させ,策略上の誤差でポジションを立てたり平定したりする可能性がある。

  3. 参数設定が過度に固定されている. 固定された参数組み合わせは,必ずしも変化する市場に適応できないし,良い取引機会を逃す可能性があります.

  4. 取引頻度は高すぎます.トレンドフォローでポジションを構築する方法は,頻繁に取引し,取引コストとスライドポイントの損失を増加させる可能性があります.

上記のリスクを回避し,軽減するために,以下の措置を講じることができます.

  1. ストップ・ロスを設定し,単一の損失を制限する.同時に,過剰に落を追いかけず,ポジションの規模を制御する.

  2. MACDのパラメータを調整して,補助指標が誤信号を発する確率を下げる。また,他の指標を導入して複数の検証を行うこともできる。

  3. パラメータ最適化メカニズムを確立する. 戦略をより適応的にするために,機械学習などの方法を採用して,パラメータの組み合わせを自動的に最適化する.

  4. 取引信号のトリガー条件を適切に緩和し,取引の頻度を低下させる.また,取引をトリガーするために最小価格変動を設定することもできます.

戦略の最適化

この戦略は,以下のような点で改善できる:

  1. ハイケン・アッシュの時間軸の最適化 長いか短い周期をテストして,市場トレンドをより表す時間帯の区間を見つけることができます.

  2. 均線システムのパラメータ調整 ◎ EMAの周期パラメータを修正し,最適なパラメータ組み合わせを見つける

  3. MACD指標の多パラメータ最適化. MACDの快速平均線とシグナル線のパラメータを調整し,最適なパラメータを探します.

  4. 戦略的リスク管理モジュールの強化.より科学的な止損と停止ルールを設定し,ポジション制御,資金管理などのモジュールも追加できます.

  5. KD,RSIなどの他の指標を導入し,マルチファクター検証を行い,信号の質を向上させる.

  6. 機械学習の応用 戦略のパラメータをリアルタイムに最適化して,戦略をより適応的にするために,ニューラルネットワーク,遺伝的アルゴリズムなどの方法を使用する

技術指標の代組合せ,パラメータの継続的な最適化,リスク制御モジュールの強化などの方法によって,この戦略はさらに向上し,より安定して効率的な利益を得ることができます.

要約する

この戦略は,ハイケン・アッシュと均線交差システムの組み合わせで市場トレンドを捕捉し,MACD指数で補助的なフィルタリングを行うことで,重要な転換点を効果的に識別し,高信頼性の取引信号を生成することができる.この戦略は,優れたリターンメーティングパフォーマンスを有し,利益の確率が高い,撤回リスクは低い,調整性が強いなどの利点を持っています.同時に,リスク管理に注意し,極端な状況からの衝撃を防ぐ必要があります.継続的な最適化と改善により,この戦略は,量化取引の高効率戦略になる可能性があります.

ストラテジーソースコード
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Heikin Ashi Strategy  V1 by nachobuey

strategy("Heikin Ashi Strategy  V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame",  defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1   = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="60")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )


strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)

plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)

alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")