विपरीत ब्रेकआउट ट्रेडिंग रणनीति एक ऐसी रणनीति है जो लगातार कीमतों में वृद्धि या गिरावट के आधार पर विपरीत संकेतों को लेती है जब शॉर्ट शर्त पूरी हो जाती है या लंबी शर्त पूरी होने पर शॉर्ट जाती है। इसका उद्देश्य विपरीत व्यापार करके लाभ प्राप्त करना है जब किसी परिसंपत्ति को दी गई रणनीति के साथ केवल नुकसान होता है।
इस रणनीति को मुख्य रूप से निम्नलिखित भागों के माध्यम से लागू किया जाता हैः
मूल्य वृद्धि और गिरावट के लिए लगातार अवधि निर्धारित करें, अर्थात लगातार बारसअप और लगातार बारसडाउन। जब वर्तमान अवधि की प्रवृत्ति निर्धारित लंबाई तक पहुंच जाती है, तो एक ट्रेडिंग सिग्नल ट्रिगर किया जाता है।
पिछले अवधि की कीमत के सापेक्ष वर्तमान मूल्य की वृद्धि और गिरावट की गणना करें। वृद्धि और गिरावट के आधार पर वर्तमान लगातार वृद्धि या गिरावट की अवधि की लंबाई की गणना करें।
बैकटेस्टिंग समय सीमा को सेट करें ताकि रणनीति को केवल बैकटेस्टिंग समय के भीतर time_cond के माध्यम से संचालित करने के लिए सीमित किया जा सके.
दैनिक व्यापार समय निर्धारित समय सीमा के भीतर ही जारी किए जाने वाले व्यापार संकेतों को सीमित करने के लिए timetobuy के माध्यम से सेट करें।
जब लगातार बढ़ते चक्र सेट लंबाई तक पहुँचता है, तो strategy.long के माध्यम से एक लंबा संकेत जारी करें। जब लगातार गिरते चक्र सेट लंबाई तक पहुँचता है, तो strategy.short के माध्यम से एक छोटा संकेत जारी करें।
स्टॉप लॉस और टेक प्रॉफिट की कीमतें सेट की जा सकती हैं. लंबी पोजीशन के लिए अल्पकालिक स्टॉप और छोटी पोजीशन के लिए दीर्घकालिक स्टॉप सेट करें. लंबी पोजीशन के लिए दीर्घकालिक ले लाभ और छोटी पोजीशन के लिए अल्पकालिक ले लाभ सेट करें.
ट्रेड सिग्नल संदेश भेजने के दौरान सेट किए जा सकते हैं।
उपरोक्त मापदंडों और मूल्य स्तरों के आधार पर शर्तें पूरी होने पर लंबे या छोटे संकेत जारी करें।
इस विपरीत ब्रेकआउट रणनीति के निम्नलिखित फायदे हैंः
मूल्य उलट बिंदुओं को कैप्चर करता है। विपरीत संचालन अच्छे लाभ प्राप्त कर सकता है। विपरीत दिशा में संचालन जब मूल्य एक प्रवृत्ति बनाता है तो मूल्य उलट पर लाभ प्राप्त कर सकता है।
लचीले विन्यास योग्य मापदंड। लगातार अवधि जैसे मापदंडों को समायोजित किया जा सकता है, स्टॉप लॉस और ले लाभ स्तर सेट किए जा सकते हैं, व्यापार समय सीमा सीमित की जा सकती है। बाजार की स्थिति के अनुसार मापदंडों को अनुकूलित किया जा सकता है।
स्टॉप लॉस और टेक प्रॉफिट जोखिम को नियंत्रित कर सकते हैं। स्टॉप लॉस और टेक प्रॉफिट को पहले से सेट करने से लॉग या शॉर्ट जाने के बाद ट्रेडिंग जोखिम को नियंत्रित करने में मदद मिलती है।
ट्रेड संदेश स्वचालित ट्रेडिंग की सुविधा प्रदान करते हैं। ट्रेड सिग्नल संदेशों को सेट करने से स्वचालित ट्रेडिंग सिस्टम के साथ एकीकरण की सुविधा होती है।
बैकटेस्टिंग समय सीमा रणनीति परीक्षण को सुविधाजनक बनाता है। बैकटेस्टिंग समय सीमा सेटिंग्स को जोड़ने से विभिन्न बाजार स्थितियों में रणनीति प्रदर्शन का आसान अवलोकन करने की अनुमति मिलती है।
इस रणनीति में कुछ जोखिम भी हैं जिन पर ध्यान दिया जाना चाहिए:
महत्वपूर्ण समाचार घटनाओं से बचें। प्रमुख घोषणाओं के दौरान मूल्य रुझान अप्रत्याशित होते हैं, जिससे एक साथ लंबे और छोटे संकेत और नुकसान होते हैं। प्रमुख आर्थिक रिलीज़ से बचना चाहिए।
जब उलटफेर स्पष्ट नहीं होते हैं तो कम प्रभावी होता है। जब रुझान अस्पष्ट होते हैं, तो विपरीत व्यापार का उपयोग सावधानी से किया जाना चाहिए।
बैकटेस्टिंग डेटा ओवरफिटिंग जोखिम। अनुकूलन बैकटेस्टिंग डेटा पर अत्यधिक निर्भरता से बचना चाहिए, जो भविष्य के रुझानों का प्रतिनिधित्व नहीं करता है। लाइव ट्रेडिंग के दौरान मापदंडों को उचित रूप से समायोजित किया जाना चाहिए।
उच्च व्यापारिक आवृत्ति से ओवरट्रेडिंग का जोखिम होता है। लघु चक्र सेटिंग्स के परिणामस्वरूप अत्यधिक व्यापारिक आवृत्ति और दीर्घकालिक स्थिर लाभ के जोखिम हो सकते हैं।
जोखिम को कम करने के लिए स्टॉप लॉस और टेक प्रॉफिट रणनीतियों को अनुकूलित किया जा सकता है। फिक्स्ड स्टॉप को ट्रेलिंग स्टॉप में और सुधार किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
गैर-ट्रेंडिंग बाजारों में यादृच्छिक उलटफेर से बचने के लिए ट्रेंड डिटेक्शन जोड़ें, ट्रेंड को मापने और उलटफेर को पकड़ने के लिए अस्थिरता, चैनलों आदि का उपयोग करें।
प्रतिशत आधारित, एटीआर या अन्य अनुकूलन विधियों का उपयोग करके बाजार की अस्थिरता के आधार पर समायोजन करने के लिए स्टॉप और लेता है।
केवल मूल्य पैटर्न से झूठे संकेतों से बचने के लिए वॉल्यूम विश्लेषण जोड़ें।
एकल परिसंपत्ति जोखिम को कम करने के लिए कई उत्पादों में पोर्टफोलियो विविधता।
पैरामीटर अनुकूलन और मशीन लर्निंग. अधिक ऐतिहासिक डेटा एकत्र करें और अधिक मजबूत रणनीतियों के लिए पैरामीटर को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग का उपयोग करें.
विपरीत ब्रेकआउट रणनीति विपरीत संचालन के माध्यम से मूल्य उलटफेर को पकड़कर अच्छा ट्रेडिंग संकेत प्रदान करती है। फायदे में लचीला विन्यास, जोखिम नियंत्रण और स्वचालित ट्रेडिंग के लिए उपयुक्तता शामिल है। लेकिन जोखिम मौजूद हैं और दीर्घकालिक स्थिर लाभ के लिए मापदंडों और तर्क में निरंतर सुधार की आवश्यकता है।
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy strategy("Up/Down Strategy - Contrarian", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) consecutiveBarsUp = input(1, title='Consecutive Bars Up') consecutiveBarsDown = input(1, title='Consecutive Bars Down') price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backtesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time, title='Backtesting Start Date') finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time, title='Backtesting End Date') time_cond = true //Time Restriction Settings startendtime = input("", title='Time Frame To Enter Trades') enableclose = input(false, title='Enable Close Trade At End Of Time Frame') timetobuy = true timetoclose = true // Stop Loss & Take Profit Tick Based enablesltp = input(false, title='Enable Take Profit & Stop Loss') stopTick = input(5.0, title='Stop Loss Ticks', type=input.float) / 100 takeTick = input(10.0, title='Take Profit Ticks', type=input.float) / 100 longStop = strategy.position_avg_price - stopTick shortStop = strategy.position_avg_price + stopTick shortTake = strategy.position_avg_price - takeTick longTake = strategy.position_avg_price + takeTick plot(strategy.position_size > 0 and enablesltp ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL") plot(strategy.position_size < 0 and enablesltp ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL") plot(strategy.position_size > 0 and enablesltp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit") plot(strategy.position_size < 0 and enablesltp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit") // Alert messages message_enterlong = input("", title="Long Entry message") message_entershort = input("", title="Short Entry message") message_closelong = input("", title="Close Long message") message_closeshort = input("", title="Close Short message") // Strategy Execution if (dns >= consecutiveBarsDown) and time_cond and timetobuy strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_enterlong) if (ups >= consecutiveBarsUp) and time_cond and timetobuy strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_entershort) if strategy.position_size < 0 and timetoclose and enableclose strategy.close_all(alert_message = message_closelong) if strategy.position_size > 0 and timetoclose and enableclose strategy.close_all(alert_message = message_closeshort) if strategy.position_size < 0 and enablesltp and time_cond strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong) if strategy.position_size > 0 and enablesltp and time_cond strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)