यह रणनीति स्वचालित ट्रेडिंग के लिए खरीदने और बेचने के संकेत स्थापित करने के लिए चलती औसत क्रॉसओवर और प्रतिरोध स्तर ब्रेकआउट की तकनीकों को एकीकृत करती है। जब अल्पकालिक चलती औसत नीचे से मध्यम अवधि के चलती औसत से पार हो जाती है, और शेयर की कीमत प्रतिरोध स्तर को तोड़ती है, तो एक खरीद संकेत उत्पन्न होता है। जोखिमों को नियंत्रित करने के लिए रणनीति 15% मूल्य वृद्धि पर लाभ और 3% मूल्य कमी पर स्टॉप-लॉस सेट करती है। यह परिपक्व मात्रात्मक ट्रेडिंग रणनीति स्वचालित रूप से बाजार के रुझानों की पहचान कर सकती है और उचित जोखिम प्रबंधन के साथ, तकनीकी संकेतों के उभरने पर पदों में पहुंच सकती है।
रणनीति मुख्य रूप से निम्नलिखित तकनीकी संकेतकों और निर्णयों के आधार पर व्यापार संकेत उत्पन्न करती है:
मूविंग एवरेज क्रॉसओवर तकनीकः 20 दिन और 44 दिन के सरल मूविंग एवरेज की गणना की जाती है। जब 20 दिन का एसएमए 44 दिन की रेखा से पार हो जाता है, तो यह माना जाता है कि बाजार ऊपर की ओर प्रवृत्ति में है, जो एक खरीद संकेत उत्पन्न करता है।
प्रतिरोध स्तर ब्रेकआउट तकनीकः मूल्य स्तर जो शेयर मूल्य ने बार-बार प्राप्त किया है लेकिन इसे तोड़ने में विफल रहा है, प्रतिरोध स्तर कहा जाता है। उन्हें तोड़ने से संकेत मिलता है कि मूल्य एक नई उदय प्रवृत्ति में प्रवेश कर रहा है। यह रणनीति पिछले बंद के 0.7% से ऊपर एक ब्रेकआउट को प्रतिरोध ब्रेकआउट के रूप में मानती है।
आरएसआई ऑसिलेटर: रिलेटिव स्ट्रेंथ इंडेक्स, ओवरबॉट और ओवरसोल्ड स्थितियों की पहचान करने के लिए एक गति संकेतक। यह रणनीति ओवरबॉट सिग्नल के रूप में 50 से ऊपर के 14-दिवसीय आरएसआई मूल्य का उपयोग करती है।
वॉल्यूम विश्लेषणः पिछले 10 दिनों के औसत से अधिक वॉल्यूम अक्सर मूल्य आंदोलन में मजबूत खरीद या बिक्री रुचि और गति का संकेत देता है।
खरीद संकेतः जब लघु एसएमए मध्यम एसएमए से पार हो जाता है, तो आरएसआई मूल्य अधिक खरीदा जाता है और औसत ट्रेडिंग वॉल्यूम से अधिक होता है, जो ऊपर की प्रवृत्ति को इंगित करता है।
बिक्री संकेतः प्रवेश मूल्य से 15% लाभ, 3% स्टॉप-लॉस।
यह परिपक्व मात्रात्मक ट्रेडिंग रणनीति बाजार संरचना और प्रवृत्ति की पहचान करने के लिए कई तकनीकी विश्लेषण विधियों को एकीकृत करती है, उचित जोखिम प्रबंधन के साथ प्रवृत्ति के गठन के दौरान स्वचालित रूप से ट्रेडिंग संकेत उत्पन्न करती है।
चलती औसत तकनीक के साथ बाजार के रुझानों को सुचारू रूप से कैप्चर करता है।
वॉल्यूम विश्लेषण को शामिल करके झूठे ब्रेकआउट के दौरान पदों को खोलने से बचा जाता है।
स्टॉप-लॉस और टेक-प्रॉफिट सेट करके प्रभावी जोखिम नियंत्रण, जोखिम-लाभ अनुपात को अनुकूलित करना।
कुल मिलाकर, बाजार संरचना का उत्कृष्ट आकलन, कठोर व्यापार नियम और जोखिम नियंत्रण इसे एक मजबूत मात्रात्मक व्यापार रणनीति बनाते हैं।
दोहरी चलती औसत प्रणाली विभिन्न अवधियों के लिए पैरामीटर ट्यूनिंग के प्रति संवेदनशील हो सकती है।
ट्रेंड फॉलो करने वाले सिस्टम अचानक मौलिक घटनाओं पर तेजी से प्रतिक्रिया नहीं दे सकते हैं, जिससे स्टॉप लॉस के जोखिम का सामना करना पड़ता है।
हालांकि स्टॉप लॉस स्थापित होने के साथ, उच्च ट्रेडिंग आवृत्ति से स्टॉप लॉस निष्पादन की अपरिहार्य संख्या होती है, जिसके परिणामस्वरूप असमान लाभ स्तर होते हैं।
तकनीकी संकेतकों के संकेत अक्सर बाजारों के सबसे अच्छे पलटाव बिंदुओं से पीछे रह जाते हैं।
अनुकूलन करने के लिए पैरामीटर ट्यूनिंग विधियों द्वारा चलती औसत लंबाई, स्टॉप लॉस/लाभ लक्ष्य जैसे मापदंडों का अनुकूलन करें।
सिग्नल की सटीकता में सुधार के लिए रेंज डिटेक्शन के लिए बोलिंगर बैंड्स, विचलन का पता लगाने के लिए एमएसीडी आदि जैसे अन्य तकनीकी संकेतक जोड़ें।
नकारात्मक समाचारों से ट्रिगर किए गए स्टॉप लॉस से बचने के लिए मौलिक और घटना संचालित संकेतों को शामिल करें।
व्यापार जोखिमों को नियंत्रित करने के लिए निश्चित मात्रा, निश्चित प्रतिशत विधियों द्वारा धन प्रबंधन को अनुकूलित करना।
यह रणनीति सुचारू संचालन, सटीक निर्णय और कठोर ट्रेडिंग नियमों का प्रदर्शन करती है, जो अधिक प्रभावी मात्रात्मक ट्रेडिंग तकनीकों में से एक का प्रतिनिधित्व करती है। लेकिन तकनीकी विश्लेषण में अकेले बाजारों को पढ़ने में सीमाएं हैं, इसलिए आगे के सुधार अधिक संकेतकों और मौलिक / घटना संकेतों को शामिल करने, स्टॉप लॉस / लाभ लेने के स्तरों और धन प्रबंधन तंत्र को अनुकूलित करने में निहित हैं। सारांश में, यह रणनीति तकनीकी विश्लेषण रणनीतियों के बीच उच्च स्तर तक पहुंच गई है, लेकिन अगले चरणों में मौलिक / घटना संचालित चक्र ट्रेडिंग रणनीतियों की ओर बढ़ना चाहिए।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Advanced Strategy with Conditional Stop Loss", overlay=true) // Parameters ma_length_20 = 20 ma_length_44 = 44 ma_length_100 = 100 rsi_length = 14 volume_length = 10 profit_target = 1.15 // 15% above the buy price stop_loss_target = 0.97 // 3% below the buy price wait_candles = 10 // Number of candles to wait after selling, unless MA cross condition met // Indicators moving_average_20 = ta.sma(close, ma_length_20) moving_average_44 = ta.sma(close, ma_length_44) moving_average_100 = ta.sma(close, ma_length_100) rsi = ta.rsi(close, rsi_length) volumeAvg = ta.sma(volume, volume_length) // Variables to manage the wait period after a sell var int last_sell_candle = 0 // Update last sell candle if (strategy.position_size[1] > 0 and strategy.position_size == 0) last_sell_candle := bar_index // Trend identification uptrend = close > moving_average_20 above_ma20_by_1_percent = close > moving_average_20 * 1.01 ma_cross = ta.crossover(moving_average_20, moving_average_44) or ta.crossunder(moving_average_20, moving_average_44) close_near_high = (close >= high * 0.993) and (close <= high) // Buy condition (only in uptrend, above 1% from 20-day MA, and respecting new filter) can_buy_after_cross = ma_cross and close > high[1] can_buy_after_wait = (bar_index - last_sell_candle) > wait_candles buy_condition = (can_buy_after_cross or can_buy_after_wait) and uptrend and above_ma20_by_1_percent and close > moving_average_44 and close > moving_average_100 and close > high[1] and rsi > 50 and volume > volumeAvg and not close_near_high // Entry if (buy_condition and strategy.position_size == 0) strategy.entry("Buy", strategy.long) // Exit conditions if (strategy.position_size > 0) // Profit target profit_level = strategy.position_avg_price * profit_target strategy.exit("Take Profit", "Buy", limit=profit_level) // Dynamic Stop Loss - Check on every bar if the price has dropped 3% below the buy price stop_loss_level = strategy.position_avg_price * stop_loss_target if (low < stop_loss_level) strategy.close("Buy", comment="Stop Loss") // Plotting plot(moving_average_20, color=color.green, title="20-Day Moving Average") plot(moving_average_44, color=color.blue, title="44-Day Moving Average") plot(moving_average_100, color=color.red, title="100-Day Moving Average")