यह रणनीति चांडे मोमेंटम ऑसिलेटर (सीएमओ) पर आधारित एक प्रवृत्ति-अनुसरण ट्रेडिंग प्रणाली है। यह जोखिम प्रबंधन के लिए स्थिति धारण समय सीमाओं को शामिल करते हुए ओवरसोल्ड क्षेत्रों में खरीदने के अवसरों और ओवरबोल्ड क्षेत्रों में बेचने के अवसरों की तलाश करती है। यह दृष्टिकोण बाजारों में लगातार व्यापार से बचते हुए मूल्य उलटफेर को पकड़ने की अनुमति देता है।
रणनीति का मूल बाजार गति को मापने के लिए सीएमओ संकेतक का उपयोग करता है। सीएमओ ऊपर और नीचे के आंदोलनों के बीच अंतर के अनुपात की गणना करके -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)