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

チェンデ・モメンタム・オシレーターに基づいた適応型平均逆転取引戦略

作者: リン・ハーンチャオチャン開催日:2024年12月11日 17:17:50
タグ:CMOSMORSISMAMRTS

img

概要

チェンデモメントオシレーター (CMO) をベースとした平均逆転取引戦略は,特定の期間の価格動力を計算することによって,過買い・過売ゾーンを特定する技術分析戦略である.この戦略は,価格が極端な偏差を示したときに資産価格と取引の動力変化を監視し,平均逆転の機会を把握することを目的としている.CMOが -50を下回るときにロングポジションに入手し,CMOが50を超えたときまたは保有期間が5日を超えると終了する.

戦略原則

戦略の核心は,CMO指標の計算と適用にあります.CMOは,特定の期間における利益と損失の差とその合計の比率を計算することによってモメンタムを測定します.公式は: CMO = 100 × (利益の総和 - 損失の総和) / ((利益の総和 + 損失の総和)

伝統的なRSIとは異なり,CMOは分母で上下両動きを使用し,より対称的なモメンタム測定を提供します.CMOが -50を下回るとロングポジションに入る.CMOが50を超えるとまたは5日間保持した後,ポジションは閉鎖されます.

戦略 の 利点

  1. 明確なシグナル - CMOは,明確な取引信号を生成する,最終的な過剰購入と過剰販売基準を提供します
  2. 堅牢なリスク管理 - 最大保有期間が長期のポジションの罠を防ぐ
  3. 高い適応性 - パラメータは異なる市場条件に調整できます
  4. 堅実な理論的基礎 - 学術的なサポートを備えた確立された平均逆転理論に基づいています
  5. シンプルな計算 - 指標の方法論は単純で理解しやすい

戦略リスク

  1. トレンド市場リスク - 平均逆転戦略は,強いトレンド市場で頻繁に損失を被る可能性があります.
  2. パラメータ感度 - 戦略の業績は,CMO期間と値選択に大きく依存する
  3. 偽信号リスク - 変動する市場は偽信号を生む可能性があります.
  4. 時間リスク - 固定退出タイミングにより,より良い利益の機会を逃す可能性があります
  5. 低流動性市場において,大きな変動が起こり得る.

オプティマイゼーションの方向性

  1. トレンドフィルタリング - トレンドのみの取引に長期トレンド指標を追加する
  2. ダイナミックパラメータ最適化 - 市場変動に基づいてCMO期間と値を調整する
  3. 増強されたストップ損失 - 利益を保護するために動的ストップ損失を実施する
  4. 保持期間最適化 - 変動に基づいて最大保持期間を動的に調整する
  5. 音量確認 - 信号の信頼性を向上させるために音量指標を組み込む

概要

この戦略は,CMO指標を通じて市場過剰購入と過剰売却の機会を把握し,固定時間ストップロスを組み合わせて,堅牢な平均逆転取引システムを構築する.この戦略には明確な論理と合理的なリスク制御が実用的な価値を有している.この戦略の安定性と収益性は,パラメータ最適化および追加の補助指標によってさらに向上することができる.


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

//@version=5
strategy("Chande Momentum Oscillator Strategy", overlay=false)

// Input for the CMO period
cmoPeriod = input.int(9, minval=1, title="CMO Period")

// Calculate price changes
priceChange = ta.change(close)

// Separate positive and negative changes
up = priceChange > 0 ? priceChange : 0
down = priceChange < 0 ? -priceChange : 0

// Calculate the sum of ups and downs using a rolling window
sumUp = ta.sma(up, cmoPeriod) * cmoPeriod
sumDown = ta.sma(down, cmoPeriod) * cmoPeriod

// Calculate the Chande Momentum Oscillator (CMO)
cmo = 100 * (sumUp - sumDown) / (sumUp + sumDown)

// Define the entry and exit conditions
buyCondition = cmo < -50
sellCondition1 = cmo > 50
sellCondition2 = ta.barssince(buyCondition) >= 5

// Track if we are in a long position
var bool inTrade = false

if (buyCondition and not inTrade)
    strategy.entry("Long", strategy.long)
    inTrade := true

if (sellCondition1 or sellCondition2)
    strategy.close("Long")
    inTrade := false

// Plot the Chande Momentum Oscillator
plot(cmo, title="Chande Momentum Oscillator", color=color.blue)
hline(-50, "Buy Threshold", color=color.green)
hline(50, "Sell Threshold", color=color.red)


関連性

もっと