
この戦略は,チャドの動力振動指数 ((CMO) に基づくトレンド追跡取引システムである.この戦略は,価格振動の計算と分析により,超売り区域で買取の機会を探し,超買い区域で売出の機会を探し,ポジション保持時間制限と組み合わせてリスクを管理する.この方法は,価格の逆転の機会を捉え,また,振動市場での頻繁な取引を回避する.
戦略の核心は,CMO指標を使用して市場の動力を測定することです. CMOは,上昇と下落の差値と合計の比率を計算することによって,100から100の間の変動する指標値を生成します. CMOが50を下回ると,市場が超売り状態にあることを示すため,システムは複数の信号を発信します.
これは,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)