यह रणनीति चलती औसत, आरएसआई संकेतक और ट्रैलिंग स्टॉप लॉस पर आधारित एक मात्रात्मक ट्रेडिंग प्रणाली है। यह तकनीकी विश्लेषण से प्रवृत्ति के बाद और गति संकेतक को जोड़ती है, सख्त प्रवेश और निकास शर्तों के माध्यम से जोखिम-नियंत्रित व्यापार प्राप्त करती है। मूल तर्क अपट्रेंड में ओवरसोल्ड अवसरों की तलाश करना और ट्रैलिंग स्टॉप का उपयोग करके लाभ की रक्षा करना है।
यह रणनीति ट्रेडिंग संकेत उत्पन्न करने के लिए रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) के साथ संयोजन में ट्रेंड जजमेंट के लिए 200-दिवसीय सरल चलती औसत (एसएमए) को आधार के रूप में उपयोग करती है। विशेष रूप सेः 1. मुख्य प्रवृत्ति का न्याय करने के लिए 200-दिवसीय एसएमए का उपयोग करता है, केवल लंबी स्थिति पर विचार करता है जब कीमत औसत से ऊपर होती है 2. ओवरसोल्ड सिग्नल की पहचान करता है जब आरएसआई पूर्व निर्धारित सीमा से नीचे गिर जाता है (डिफ़ॉल्ट 40) 3. जब दोनों शर्तें पूरी हो जाती हैं और अंतिम निकास (डिफ़ॉल्ट 10 दिन) के बाद प्रतीक्षा अवधि समाप्त हो जाती है तो लॉन्ग एंट्री ट्रिगर होती है 4. ट्रेलिंग स्टॉप लॉस (डिफ़ॉल्ट 5%) के माध्यम से पद धारण के दौरान लाभ की रक्षा करता है 5. जब मूल्य ट्रेलिंग स्टॉप या 200-दिवसीय एसएमए से नीचे टूटता है तो स्थिति से बाहर निकलता है
यह एक पूर्ण संरचना और स्पष्ट तर्क के साथ एक मात्रात्मक ट्रेडिंग रणनीति है। यह कई तकनीकी संकेतकों को जोड़कर जोखिम को नियंत्रित करते हुए स्थिर रिटर्न का पीछा करता है। हालांकि अनुकूलन के लिए जगह है, बुनियादी ढांचे में अच्छी व्यावहारिकता और विस्तार है। रणनीति मध्यम से दीर्घकालिक निवेशकों के लिए उपयुक्त है और विभिन्न बाजार वातावरण के लिए अच्छी तरह से अनुकूल है।
/*backtest start: 2025-01-09 00:00:00 end: 2025-01-16 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("200 SMA Crossover Strategy", overlay=false) // Define inputs smaLength = input.int(200, title="SMA Length") rsiLength = input.int(14, title="RSI Length") rsiThreshold = input.float(40, title="RSI Threshold") trailStopPercent = input.float(5.0, title="Trailing Stop Loss (%)") waitingPeriod = input.int(10, title="Waiting Period (Days)") // Calculate 200 SMA sma200 = ta.sma(close, smaLength) // Calculate RSI rsi = ta.rsi(close, rsiLength) // Plot the 200 SMA and RSI plot(sma200, color=color.blue, linewidth=2, title="200 SMA") plot(rsi, color=color.purple, title="RSI", display=display.none) // Define buy and sell conditions var isLong = false var float lastExitTime = na var float trailStopPrice = na // Explicitly declare timeSinceExit as float float timeSinceExit = na(lastExitTime) ? na : (time - lastExitTime) / (24 * 60 * 60 * 1000) canEnter = na(lastExitTime) or timeSinceExit > waitingPeriod buyCondition = close > sma200 and rsi < rsiThreshold and canEnter if (buyCondition and not isLong) strategy.entry("Buy", strategy.long) trailStopPrice := na isLong := true // Update trailing stop loss if long if (isLong) trailStopPrice := na(trailStopPrice) ? close * (1 - trailStopPercent / 100) : math.max(trailStopPrice, close * (1 - trailStopPercent / 100)) // Check for trailing stop loss or sell condition if (isLong and (close < trailStopPrice or close < sma200)) strategy.close("Buy") lastExitTime := time isLong := false // Plot buy and sell signals plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=(isLong and close < trailStopPrice) or close < sma200, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")