इस रणनीति का मुख्य विचार दीर्घकालिक प्रवृत्ति की दिशा के साथ अल्पकालिक पुलबैक का व्यापार करना है। विशेष रूप से, 200-दिवसीय सरल चलती औसत का उपयोग दीर्घकालिक प्रवृत्ति की दिशा निर्धारित करने के लिए किया जाता है, और 10-दिवसीय सरल चलती औसत का उपयोग अल्पकालिक प्रवृत्ति की दिशा निर्धारित करने के लिए किया जाता है। जब कीमत 200-दिवसीय रेखा से ऊपर होती है, तो यह एक बैल बाजार होता है। जब कीमत 200-दिवसीय रेखा से नीचे होती है, तो यह एक भालू बाजार होता है। एक बैल बाजार में, जब कीमत 10-दिवसीय रेखा तक गिरती है, तो लंबी जाती है। एक भालू बाजार में, जब कीमत 10-दिवसीय रेखा तक बढ़ जाती है, तो छोटी जाती है।
यह रणनीति बाजार की प्रवृत्ति को निर्धारित करने के लिए 200-दिवसीय सरल चलती औसत और 10-दिवसीय सरल चलती औसत का उपयोग करती है। जब कीमत 200-दिवसीय रेखा से ऊपर जाती है, तो इसे बैल बाजार में प्रवेश करने के रूप में माना जाता है। जब कीमत 200-दिवसीय रेखा से नीचे जाती है, तो इसे भालू बाजार में प्रवेश करने के रूप में माना जाता है। एक बैल बाजार में, यदि कीमत 10 दिन की रेखा के आसपास गिरती है, तो इसका मतलब है कि एक अल्पकालिक सुधार का सामना करना पड़ता है। इस समय, लंबी अवधि के तेजी की प्रवृत्ति की निरंतरता को लक्षित करते हुए, लंबे समय तक जाएं। एक भालू बाजार में, यदि कीमत 10 दिन की रेखा के आसपास बढ़ जाती है, तो इसका मतलब है कि एक अल्पकालिक रिबाउंड का सामना करना पड़ता है। इस समय, लंबी अवधि के मंदी प्रवृत्ति की निरंतरता को लक्षित करते हुए, शॉर्ट जाएं।
विशेष रूप से, जब निम्नलिखित शर्तें पूरी हो जाती हैं, तो बाजार में प्रवेश करने के लिए लंबा करेंः कीमत 200-दिवसीय रेखा से ऊपर है, कीमत 10-दिवसीय रेखा से नीचे है, और कोई पिछली स्थिति नहीं थी। जब निम्नलिखित शर्तें पूरी हो जाती हैं, तो बाजार से बाहर निकलने के लिए स्थिति बंद करेंः कीमत 10-दिवसीय रेखा से ऊपर है, और एक पिछली लंबी स्थिति थी। भारी नुकसान को रोकने के लिए, एक FAILSAFE स्टॉप लॉस सेट किया जाता है। यदि उच्चतम बिंदु से पुनरावृत्ति 10% से अधिक है, तो सीधे बाहर निकलने के लिए स्टॉप लॉस बंद करें।
यह देखा जा सकता है कि इस रणनीति का ट्रेडिंग तर्क मुख्य रूप से चलती औसत के स्वर्ण क्रॉस और डेथ क्रॉस पर आधारित है। यह लंबी और छोटी चलती औसत द्वारा निर्धारित दिशा में प्रवृत्ति ट्रैकिंग के आधार पर पुलबैक और निकास के आधार पर प्रवेश करता है, जो एक विशिष्ट प्रवृत्ति ट्रैकिंग रणनीति से संबंधित है।
इस रणनीति का सबसे बड़ा लाभ अधिक लाभ प्राप्त करने के लिए कम लागत वाले ट्रेंड ट्रैकिंग है। विशिष्ट लाभ निम्नलिखित हैंः
प्राथमिक और द्वितीयक रुझानों की दिशा निर्धारित करने के लिए दीर्घकालिक और अल्पकालिक चलती औसत के संयोजन का उपयोग मध्यम और दीर्घकालिक रुझान अवसरों को प्रभावी ढंग से लॉक कर सकता है और अल्पकालिक बाजार आंदोलनों से भटकने से बचा जा सकता है।
अल्पकालिक वापसी के आधार पर प्रवेश करके, अपेक्षाकृत उच्च लाभ क्षमता प्राप्त करने के लिए प्रवेश लागत को कम किया जा सकता है।
FAILSAFE स्टॉप लॉस तंत्र खाता धन की सुरक्षा के लिए एकल हानि को प्रभावी ढंग से नियंत्रित कर सकता है।
ट्रेंड ट्रैकिंग से बाहर निकलने की अनुमति देने से अल्फा अधिशेष रिटर्न के लिए मध्यम और दीर्घकालिक ट्रेंड अवसरों का पूरी तरह से लाभ उठाया जा सकता है।
पूरी तरह से स्वचालित व्यापार पद्धति को अपनाने से व्यक्तिपरक भावनात्मक प्रभाव से बचा जाता है और रणनीति को लागू करना आसान हो जाता है।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
बैकटेस्ट ओवरफिट जोखिमः वास्तविक बाजार स्थितियां ऐतिहासिक आंकड़ों से भिन्न हो सकती हैं, जिसके परिणामस्वरूप वास्तविक व्यापार प्रदर्शन में कमी आ सकती है।
झूठे ब्रेकआउट का जोखिमः चलती औसत के पास कीमतों के उलटने की संभावना अपेक्षाकृत बड़ी है, जिससे आसानी से छोटे संचयी नुकसान हो सकते हैं।
रुझान उलटने का जोखिमः मध्यम और दीर्घकालिक रुझानों में अचानक उलट-फेर आम है, जो आसानी से पदों को धारण करते समय अपेक्षाकृत बड़े नुकसान का कारण बन सकता है।
इसके लिए निम्नलिखित उपाय किए गए हैं:
विश्वसनीय परिणाम सुनिश्चित करने के लिए नमूना का आकार बढ़ाएं और विश्वसनीयता परीक्षण के लिए अधिक ऐतिहासिक डेटा का उपयोग करें।
सिग्नल की गुणवत्ता सुनिश्चित करने के लिए चलती औसत प्रणाली मापदंडों के संयोजन को समायोजित करके मापदंडों को अनुकूलित करें।
अतिसंवेदनशील स्टॉप लॉस से बचने के लिए कुछ मूल्य रिट्रेसमेंट की अनुमति देने के लिए स्टॉप लॉस लाइनों को उचित रूप से चौड़ा करें।
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
झूठे ब्रेकआउट के कारण होने वाले अनावश्यक व्यापार को प्रभावी ढंग से कम करने के लिए वॉल्यूम फिल्टरिंग जैसी फ़िल्टरिंग शर्तें जोड़ें।
व्यापार संकेतों की गुणवत्ता में सुधार के लिए कॉम्बो सिग्नल बनाने के लिए केडीजे और एमएसीडी जैसे अन्य संकेतकों को शामिल करें।
शार्प अनुपात आदि में और सुधार के लिए विभिन्न होल्डिंग अवधि का परीक्षण करें और लाभ लेने और हानि रोकने की रणनीतियों का अनुकूलन करें।
रणनीति को अधिक मजबूत बनाने के लिए अनुकूलनशील पैरामीटर अनुकूलन तंत्र बनाने के लिए बाजार की स्थितियों के आधार पर पैरामीटर को गतिशील रूप से समायोजित करें।
मानव हस्तक्षेप को कम करने के लिए स्वचालित रूप से ट्रेडिंग सिग्नल उत्पन्न करने के लिए मशीन लर्निंग आदि का उपयोग करने वाले एल्गोरिथम ट्रेडिंग मॉड्यूल जोड़ें।
इस रणनीति का समग्र तर्क स्पष्ट है और स्थिर अल्फा प्राप्त करने के लिए मध्यम और दीर्घकालिक रुझानों के कम लागत वाले ट्रैकिंग के लिए लागू करना आसान है। लेकिन प्रवृत्ति के गलत पक्ष पर पकड़े जाने के जोखिम भी हैं, जिसके लिए मजबूती में सुधार के लिए आगे अनुकूलन की आवश्यकता होती है। सामान्य तौर पर, इस रणनीति को प्रवृत्ति ट्रैकिंग के दृष्टिकोण से डिज़ाइन किया गया है और आगे के शोध और अनुप्रयोग के लायक है। उचित पैरामीटर ट्यूनिंग के साथ, इसे अच्छे लाइव ट्रेडिंग परिणाम उत्पन्न करने चाहिए।
/*backtest start: 2024-01-21 00:00:00 end: 2024-02-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © irfanp056 // @version=5 strategy("Simple Pullback Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=1000, // 100% of balance invested on each trade commission_type=strategy.commission.cash_per_contract, commission_value=0.005) // Interactive Brokers rate // Get user input i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA") i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA") i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline") i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2") i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups") i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups") // Get indicator values ma1 = ta.sma(close, i_ma1) ma2 = ta.sma(close, i_ma2) // Check filter(s) f_dateFilter = true // Check buy/sell conditions var float buyPrice = 0 buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1]) stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent // Enter positions if buyCondition strategy.entry(id="Long", direction=strategy.long) if buyCondition[1] buyPrice := open // Exit positions if sellCondition or stopCondition strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : "")) buyPrice := na // Draw pretty colors plot(buyPrice, color=color.lime, style=plot.style_linebr) plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1) plot(ma1, color=color.blue) plot(ma2, color=color.orange)