この戦略は,チャンデモメントオシレーター (CMO) をベースとしたトレンドフォローする取引システムである.リスク管理のためのポジション保持時間制限を組み込む一方で,過剰販売地域での購入機会と過剰購入地域での販売機会を探している.このアプローチは,価格逆転を捕捉し,変動する市場で頻繁な取引を避けることを可能にする.
戦略の核心は,CMOインジケーターを使用して市場の勢いを測定する.CMOは,上向きと下向きの動きの差の比率を合計に計算することによって-100から100までの振動器を生成する.CMOが -50を下回るときにシステムは長い信号を生成し,過剰販売の市場状態を示す.CMOが50を超えたときまたは保有期間が5サイクルを超えるとポジションは閉鎖される.このデザインは,適時に利益を得たり,ストップ・ロスを実施しながら価格リバウンドの機会を捉える.
このモメンタムベースのトレンドフォローストラテジーは,CMO指標を使用して市場過剰購入および過剰販売の機会を把握する.戦略設計は合理的で,明確な取引規則とリスク管理メカニズムがあります.固有のリスクが存在するものの,最適化は戦略の安定性と収益性をさらに高めることができます.この戦略は特に不安定な市場に適しており,明確なトレンド段階では良い収益を達成することができます.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 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)