यह ट्रेडिंग रणनीति ट्रेंड ट्रैकिंग के लिए एक सरल चलती औसत और चलती औसत क्रॉसओवर सिस्टम पर आधारित है। यह लंबी या छोटी जाने के संकेत के रूप में विभिन्न अवधियों के साथ तेजी से और धीमी गति से चलती औसत के क्रॉसओवर का उपयोग करता है। जब तेजी से एमए नीचे से धीमी एमए से ऊपर पार हो जाता है, तो लंबा हो जाता है; जब तेजी से एमए ऊपर से धीमी एमए से नीचे पार हो जाता है, तो छोटा हो जाता है। यह रणनीति स्पष्ट रुझान वाले उत्पादों के लिए अच्छी तरह से काम करती है।
यह रणनीति 60 दिनों की तरह एक तेज़ सरल चलती औसत और 200 दिनों की तरह एक धीमी औसत का उपयोग करती है। तेज़ एमए मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करता है, जो अल्पकालिक रुझानों को दर्शाता है; जबकि धीमी एमए धीमी प्रतिक्रिया करता है और मध्यम से दीर्घकालिक रुझानों को दिखाता है।
जब छोटा एमए नीचे से लंबे एमए के ऊपर से पार हो जाता है, तो यह संकेत देता है कि अल्पकालिक कीमतें बढ़ने लगती हैं और एक बैल बाजार में प्रवेश करती हैं, इसलिए लंबे समय तक जाएं। जब छोटा एमए ऊपर से लंबे एमए के नीचे से पार हो जाता है, तो यह संकेत देता है कि अल्पकालिक कीमतें गिरना शुरू हो जाती हैं और एक भालू बाजार में प्रवेश करती हैं, इसलिए छोटा हो जाता है।
रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए एमए क्रॉसओवर का उपयोग करती है। जब अल्पकालिक मूल्य तेजी से बढ़ते हैं, तो लघु एमए लंबे एमए को ऊपर धकेल देगा और इसे नीचे से पार करेगा। इसका मतलब है कि एक अपट्रेंड उभर रहा है और लंबी स्थिति ली जानी चाहिए। इसके विपरीत, जब अल्पकालिक मूल्य तेजी से गिरते हैं, तो लघु एमए लंबे एमए को नीचे खींच लेगा और इसे ऊपर से पार करेगा, जिसका अर्थ है एक डाउनट्रेंड और छोटी स्थिति ली जानी चाहिए।
तेजी से और धीमे एमए क्रॉसओवर का उपयोग करके मूल्य रुझानों के मोड़ बिंदुओं को पकड़कर, रणनीति तदनुसार लंबी / छोटी स्थिति को समायोजित कर सकती है। यह रणनीति के रुझान निर्धारण और व्यापार संकेत उत्पादन के पीछे मुख्य तर्क है।
उत्पादों की अस्थिरता की आवृत्ति के आधार पर एमए अवधि को समायोजित करना, अधिक जटिल संकेतकों का उपयोग करके स्टॉप लॉस/टेक प्रॉफिट में सुधार करना, वॉल्यूम फिल्टर आदि जोड़ना इस रणनीति को अनुकूलित कर सकता है और स्थिरता में सुधार कर सकता है।
इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित किया जा सकता हैः
विभिन्न अस्थिरता आवृत्तियों वाले उत्पादों के अनुकूल करने के लिए तेज और धीमी एमए अवधि का अनुकूलन करें। इष्टतम खोजने के लिए अधिक संयोजनों का परीक्षण किया जा सकता है।
झूठे संकेतों को कम करने के लिए वॉल्यूम स्पाइक जैसे अधिक फ़िल्टर जोड़कर प्रवेश स्थितियों में सुधार करें।
लाभप्रदता में सुधार के लिए स्टॉप लॉस/टेक प्रॉफिट जैसे ट्रेलिंग स्टॉप या डायनेमिक टेक प्रॉफिट में सुधार करें।
अधिक यथार्थवादी बैकटेस्ट के लिए कमीशन जैसी ट्रेडिंग लागतों पर विचार करें और लागत मूल्यांकन मॉड्यूल जोड़ें।
विभिन्न उत्पादों के अनुरूप इष्टतम पैरामीटर संयोजन खोजने के लिए पैरामीटर ब्रह्मांड डिजाइन करें।
रुझान मोड़ बिंदुओं को निर्धारित करने और प्रवेश और निकास के समय में सुधार करने में सहायता के लिए स्थानीय पैटर्न पहचान जोड़ें।
व्यवस्थित रणनीति अनुकूलन के माध्यम से लाभप्रदता, स्थिरता में काफी सुधार किया जा सकता है और निकासी को कम किया जा सकता है।
ट्रेडिंग रणनीति एमए क्रॉसओवर का उपयोग करके ट्रेंड शिफ्ट निर्धारित करती है, एक विशिष्ट ट्रेंड-फॉलोइंग रणनीति। यह दोनों के संयोजन के माध्यम से ट्रेंड दिशा की पहचान करते हुए, लंबे / छोटे संकेत उत्पन्न करने के लिए तेज़ और धीमे एमए के बीच क्रॉसओवर का उपयोग करती है। यह रणनीति लगातार और विश्वसनीय रूप से रुझानों को पकड़ती है और इसे समझना और लागू करना आसान है। जब अनुकूलित किया जाता है, तो यह अधिकांश उत्पादों के अनुकूल हो सकता है और एक मौलिक मात्रात्मक ट्रेडिंग रणनीति बनाता है। अन्य तकनीकी संकेतकों के साथ संयोजन करके लाभप्रदता और जीत दर में और सुधार प्राप्त किया जा सकता है, स्टॉप लॉस / ले लाभ रणनीतियों को अनुकूलित करना आदि।
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © thebearfib // //@version=5 // strategy("x-over 150d_200d_sma - Free", overlay = true) repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system srcmc = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off) fast_length = input(title="Fast Length", defval=60) slow_length = input(title="Slow Length", defval=275) _fast = ta.sma(srcmc, fast_length) _slow = ta.sma(srcmc, slow_length) plot(_fast, title="Fast SMA", color=color.red, linewidth = 1) plot(_slow, title="Slow SMA", color=color.white, linewidth = 3) // // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— // ————————————————————————————————— Calculating ————————————————————————————————————————————————————————————————————————— // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— // longProfitPerc = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01 longStopPerc = input.float(title="Long Stop (%)", minval=0.01, step=1.0, defval=13) * .01 // // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— // ————————————————————————————————— Stop Conditions ———————————————————————————————————————————————————————————————————— // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— longExitPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc * (1 + longProfitPerc) longStopPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 - longStopPerc) : srcmc * (1 - longStopPerc) // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— // ————————————————————————————————— Long Conditions ———————————————————————————————————————————————————————————————————— // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— longCondition = srcmc > _slow and ta.crossover(_fast, _slow) closeCondition = ta.crossover(srcmc, _slow) if (longCondition) strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆") if (closeCondition) strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←") if (strategy.position_size > 0) strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss") // // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— // ————————————————————————————————— Never the End Just the beginning ————————————————————————————————————————————————— // ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— //