
यह रणनीति एक ट्रेडिंग सिस्टम है जो चार्ड गतिशीलता कंपन संकेतक (सीएमओ) पर आधारित है। यह रणनीति कीमतों की गतिशीलता की गणना और विश्लेषण के माध्यम से ओवरसोल्ड क्षेत्रों में खरीदने के अवसरों की तलाश करती है, ओवरबॉय क्षेत्रों में बेचने के अवसरों की तलाश करती है, जबकि पोजीशन रखने के समय की सीमा के साथ जोखिम का प्रबंधन करती है। यह विधि कीमतों के पलटाव के अवसरों को पकड़ने के साथ-साथ उतार-चढ़ाव वाले बाजारों में लगातार व्यापार से बचने में मदद करती है।
रणनीति का मूल बाजार की गतिशीलता को मापने के लिए सीएमओ सूचकांक का उपयोग करना है। सीएमओ एक सूचकांक मूल्य उत्पन्न करता है जो -100 और -100 के बीच उतार-चढ़ाव का कारण बनता है। जब सीएमओ 50 से कम होता है, तो यह दर्शाता है कि बाजार ओवरसोल्ड है, और सिस्टम कई संकेत देता है। जब सीएमओ 50 से अधिक होता है या 5 चक्रों से अधिक समय तक रहता है, तो सिस्टम बंद हो जाता है। यह डिजाइन कीमतों में उछाल के अवसरों को पकड़ने के साथ-साथ समय पर स्टॉप-लॉस को भी रोकता है।
यह एक गति-आधारित ट्रेंड ट्रैकिंग रणनीति है, जो सीएमओ सूचकांकों के माध्यम से बाजार में ओवरबॉय और ओवरसेलिंग अवसरों को पकड़ती है। रणनीति को तर्कसंगत बनाया गया है, जिसमें स्पष्ट ट्रेडिंग नियम और जोखिम नियंत्रण तंत्र हैं। हालांकि कुछ अंतर्निहित जोखिम हैं, अनुकूलन के माध्यम से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है। रणनीति विशेष रूप से अस्थिर बाजारों के लिए उपयुक्त है, जो प्रवृत्ति के स्पष्ट चरणों में बेहतर रिटर्न प्राप्त करने में सक्षम है।
/*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)