ハイケンアシクロスオーバー戦略は,ハイケンアシクロスオーバー原理とスムージングテクニックの両方を適用する定量的な取引戦略である.スムージング価格を生成するために4期間の平均価格を計算し,スムージング価格に基づいてハイケンアシクロスオーバーを計算することで,信頼できる取引信号を発行することができます.この戦略は,元のハイケンアシクロスオーバーと比較して,短期間の市場騒音をフィルタリングし,スムージングテクニックを使用して間違った信号を避けることができます.
この戦略の基本論理には以下のものがある.
ハイケン・アシ・クロスオーバー原理
ハイケン・アシ・クロスオーバーとは,短期移動平均が長期移動平均を超えたり下回ったときに発生する購入または売却信号を指す.この戦略では,短期MAはスムーズな閉値 (haclose),長期MAはスムーズな開値 (haopen) である.
スムージング テクニック
この戦略では,騒音をフィルター化するために,平滑価格を計算するために,4つの期間の平均価格を採用します.
haclose = (オープン + 高 + 低い + 閉じ) / 4
haopen = (前のhaopen + 現在のhaclose) /2
上記のスムーズ価格に基づくハイケンアシクロスオーバー信号は,より信頼性の高い取引信号を提供できます.ハクロースがハオプンの上を横切ると買い信号が生成され,ハクロースがハオプンの下を横切ると売り信号が起動されます.
原初のハイケン・アシ・クロスオーバー戦略と比較して,スムーズハイケン・アシ・クロスオーバー戦略は以下の利点を備えています.
このスムージング技術は短期的な市場騒音をフィルタリングし,間違った信号を回避し,取引信号の質を向上させます.
調整された価格を計算するために4期間の平均価格を採用することで,中長期の傾向をよりよく反映し,より信頼性の高い取引信号を生成できます.
ハイケン・アシの高速クロスオーバー機能と組み合わせると この戦略は 中長期のトレンドの転換点を適時に把握できます
この戦略にはいくつかのリスクもあります.
激しい市場変動の時期では,スムージングテクニックは効果的なシグナルをフィルタリングし,潜在的な取引機会を逃す可能性があります.
4つの期間の移動平均の計算も一定の遅延をもたらし,短期的な機会を逃す可能性があります.
この戦略には,取引頻度と保持期間に関するいくつかの要件があります.過度に頻繁または長期取引には適していません.
上記のリスクに対処するには,滑らかな技術のパラメータ調整と他の技術指標の組み込みが役立つ解決策である可能性があります.
この戦略は,次の側面で最適化できます.
適正なパラメータの組み合わせを見つけるために 移動平均周期を調整するような 滑らかな技術のためのパラメータ調整です
取引シグナルの正確性を向上させるため,ボリンジャーバンドなどの他の指標を組み込む.
ストップ・ロスの戦略を追加します ストップ・ロスの追跡や リスク管理のためのピラミッドストップ・ロスのことです
適切なポジションサイズとストップ・ロスのレベルを設定して,単一の取引の損失を制限することで,マネーマネジメントを最適化します.
ハイケンアシクロスオーバー戦略は,ハイケンアシクロスオーバー原理とスムージングテクニックを組み合わせ,短期間の市場ノイズに干渉されないまま,中長期間のトレンドターニングポイントを効果的に検出することができます.この戦略は,オリジナルのハイケンアシクロスオーバーと比較して,スムージングテクニックによっていくつかのノイズをフィルタリングし,より高い品質の取引信号を生成することができます.適切なストップ損失とマネーマネジメントにより,この戦略は市場から比較的安定したリターンを得ることができます.しかし,トレーダーは遅れや欠損信号などのリスクも認識し,それに応じて戦略を最適化する必要があります.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Heikin-Ashi Strategy", overlay=true) // Plots Color Of Heikin-Ashi Bars while Viewing Candlestics or Bars //Works on Candlesticks and OHLC Bars - Does now work on Heikin-Ashi bars - But I have verified its accuracy // Created By User ChrisMoody 1-30-2014 with help from Alex in Tech Support // === BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2017, title = "From Year", minval = 1998) ToMonth = input(defval = 1, title = "To Month", minval = 1) ToDay = input(defval = 1, title = "To Day", minval = 1) ToYear = input(defval = 9999, title = "To Year", minval = 1998) haclose = ((open + high + low + close)/4)//[smoothing] haopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2 heikUpColor() => haclose > haopen heikDownColor() => haclose <= haopen barcolor(heikUpColor() ? aqua: heikDownColor() ? red : na) if (heikUpColor() ) strategy.entry("LONG", strategy.long, comment="LONG") if (heikDownColor()) strategy.entry("SHORT", strategy.short, comment="SHORT") //plot(pos, title="pos", style=line, linewidth=1, color=red )