資源の読み込みに... 荷物...

二重船体移動平均クロスオーバー量的な戦略

作者: リン・ハーンチャオチャン開催日:2024年11月29日 16:53:05
タグ:HMAマルチWMA

img

概要

この戦略は,ハル移動平均 (HMA) のクロスオーバー信号に基づいています.異なる期間の2つのHMAラインが互いに交差するときに取引信号を生成します.HMAは,重量化移動平均 (WMA) の特別な組み合わせを通じて遅れを軽減する高度な移動平均指標で,より速くスムーズな市場トレンド信号を提供します.

戦略原則

この戦略の核心は,異なる期間のHMAクロスオーバーを使用して市場傾向逆転点を捕捉することにある.HMA計算には,3つのステップが含まれます:まず半期WMAを計算し,その後全期WMAを計算し,最後に最初の2つのWMAの特殊な組み合わせを使用して,元の期間の平方根に等しい期間の別のWMAを計算します.速いHMA (9期デフォルト) がスローHMA (デフォルト16期) の上を横切るときに買い信号が生成され,速いHMAがスローHMAの下を横切るときに売り信号が生成されます.

戦略 の 利点

  1. 迅速なシグナル応答:HMAは,特別な計算方法により,伝統的な移動平均値の遅れを大幅に削減し,市場の動向の変化をより早く把握します.
  2. 騒音フィルタリング: 2つの移動平均値間のクロスオーバー確認は,誤った信号を減らすことで,市場の騒音を効果的にフィルタリングします.
  3. 柔軟なパラメータ: 戦略は,異なる市場環境に適応するために,高速と遅いライン期間を調整することを可能にします.
  4. 明確な可視化: 戦略は,簡単な分析と最適化のために,チャート上で移動平均値と取引信号の両方を明確に表示します.

戦略リスク

  1. 市場リスク: 横向市場での頻繁なクロスオーバーは,過剰取引と連続的な損失につながる可能性があります.
  2. 遅延リスク: HMA は従来の移動平均値よりも遅延が少ないが,依然としていくつかの遅延が存在し,最適なエントリーポイントが欠けている可能性がある.
  3. パラメータ敏感性:異なるパラメータの組み合わせは,非常に異なる取引結果をもたらし,注意深く最適化する必要があります.
  4. 偽のブレイクリスク:市場は偽のブレイクを示し,不正な取引信号を引き起こす可能性があります.

戦略の最適化方向

  1. トレンドフィルターを導入: ADX またはトレンド強度指標を追加して,明確なトレンドで取引するだけです.
  2. ストップ・ロスのメカニズムを最適化:ATRや波動性に基づいて動的ストップ・ロスを設計する.
  3. 取引確認条件を追加する: 補助確認信号としてボリュームとインパント指標を組み込む.
  4. パラメータ調整: 市場の変動に基づいて動的パラメータ調整メカニズムを開発する.
  5. リスク管理の最適化: ポジションサイズとマネーマネジメントモジュールを追加する.

概要

HMAクロスオーバーに基づいた定量的な取引戦略であり,伝統的な移動平均値の遅れを軽減することによってよりタイムリーな取引シグナルを提供します. 戦略設計は簡潔で,理解し,実装しやすいが,実用的なアプリケーションにおける市場環境適応性とリスク管理に注意を払う必要があります. 継続的な最適化と改善を通じて,この戦略は強力な取引システムになる可能性があります.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Hull Moving Average Crossover", overlay=true)


fastLength = input.int(9, "Fast HMA Length", minval=1)
slowLength = input.int(16, "Slow HMA Length", minval=1)


hma(src, length) =>
    wma1 = ta.wma(src, length / 2)
    wma2 = ta.wma(src, length)
    ta.wma(2 * wma1 - wma2, math.floor(math.sqrt(length)))


fastHMA = hma(close, fastLength)
slowHMA = hma(close, slowLength)


plot(fastHMA, color=color.blue, title="Fast HMA")
plot(slowHMA, color=color.red, title="Slow HMA")


longCondition = ta.crossover(fastHMA, slowHMA)
shortCondition = ta.crossunder(fastHMA, slowHMA)


if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

関連性

もっと