
Die Mean Return Trading Strategie basierend auf dem Cande Dynamic Oscillator (CMO) ist eine technische Analyse-Strategie zur Identifizierung von Überkauf-Überverkaufszonen durch die Berechnung der Dynamik der Preisänderungen über einen bestimmten Zeitraum. Die Strategie basiert hauptsächlich auf der Überwachung der dynamischen Veränderungen der Vermögenspreise, um bei extremen Preisverschiebungen zu handeln, um die Gelegenheit zu erfassen, dass der Preis zum Mean Return zurückkehrt. Die Strategie verwendet die 9-Tage-Zyklus-CMO-Anzeige als Kernsignal, um bei einem CMO unter -50 zu positionieren und bei einem CMO über -50 oder einer Positionshaltung von mehr als 5 Tagen zu halten.
Das Herzstück der Strategie ist die Berechnung und Anwendung der CMO-Indikatoren. Der CMO misst die Dynamik durch die Berechnung der Differenz zwischen den Erhöhungen und Abnahmen in einem bestimmten Zeitraum und dem Verhältnis der Summe. Die spezifische Berechnungsformel lautet: CMO = 100 × (Sättigung - Sättigung) / (Sättigung + Sättigung)
Im Gegensatz zum herkömmlichen RSI nutzt der CMO gleichzeitige Auf- und Abwärtsdaten in den Molekülen und bietet eine symmetrischere Dynamikmessung. Die Strategie nimmt an, dass der Markt überverkauft ist, wenn der CMO unter 50 liegt, und erwartet, dass der Preis wieder steigen wird, so dass er mehr Positionen aufnimmt.
Die Strategie nutzt die CMO-Indikatoren, um Überkauf- und Überverkaufsmöglichkeiten zu erfassen. In Kombination mit festen Stop-Losses wird ein robustes Mean-Return-Trading-System aufgebaut. Die Strategie hat eine klare Logik, eine vernünftige Risikokontrolle und einen guten praktischen Wert. Die Stabilität und Profitabilität der Strategie können durch weitere Optimierung der Parameter und die Erhöhung der Nebenindikatoren weiter verbessert werden.
/*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)