यह रणनीति ईएमए पार करने पर ट्रेडिंग सिग्नल उत्पन्न करती है और जोखिमों को प्रबंधित करने के लिए एटीआर को गतिशील स्टॉप लॉस के रूप में उपयोग करती है।
मुख्य तर्क यह है:
ATR को स्टॉप लॉस लाइन के रूप में गणना करें, ATR मान स्टॉप दूरी nLoss निर्धारित करता है
मूल्य स्रोत डिफ़ॉल्ट रूप से बंद मूल्य है, यदि हेकिन एशी विकल्प h सक्षम है तो हेकिन एशी बंद का उपयोग करें
xATRTrailingStop पिछले स्टॉप के साथ मूल्य तुलना के आधार पर गतिशील स्टॉप हानि रेखा को ट्रैक करता है
स्थिति pos के लिए 1 है जब मूल्य स्टॉप लॉस लाइन से ऊपर पार करता है, -1 के लिए छोटा है जब यह नीचे पार करता है, अन्यथा 0
ईएमए क्रॉसओवर संकेत, ईएमए के ऊपर खरीद संकेत है, नीचे बिक्री संकेत है
खरीद/बिक्री संकेतों पर ट्रेडों में प्रवेश करना, विपरीत संकेतों पर बाहर निकलना
स्थिति, मार्क सिग्नल और स्टॉप लॉस लाइनों के आधार पर रंगीन बार
यह रणनीति एटीआर पर आधारित गतिशील रुकावटों के साथ रुझानों का अनुसरण करती है। यह रुझानों की पहचान कर जोखिमों का प्रभावी ढंग से प्रबंधन कर सकती है।
इसके लाभ इस प्रकार हैंः
एटीआर आधारित गतिशील स्टॉप बाजार की अस्थिरता के अनुकूल है
ईएमए फिल्टर शोर से झूठे संकेतों को कम करता है
वैकल्पिक हेकिन आशी शोर फ़िल्टर और प्रवृत्ति की पहचान करता है
Clear long/short position avoids whipsaws from trailing stop आदेश के लिए अनुवादित परिणामः
रेखाएं, लेबल और रंग जैसे दृश्य सहायक उपकरण
संशोधित करने के लिए सरल और समझने में आसान तर्क
विभिन्न बाजारों के लिए अनुकूलन योग्य एटीआर अवधि और गुणक
संक्षेप में, ट्रेंड फॉलोइंग और डायनेमिक स्टॉप को मिलाकर, यह रणनीति ट्रेंड को पकड़ सकती है और स्विंग ट्रेडिंग के लिए जोखिमों को अच्छी तरह से प्रबंधित कर सकती है।
विचार करने के लिए कुछ जोखिम हैंः
ईएमए संकेत अल्पकालिक चाल की अनुपस्थिति में देरी कर सकते हैं
अस्थिर बाजारों में अक्सर स्टॉप लॉस ट्रिगर संभव
कमीशन जैसी लागतों का कोई विचार नहीं
स्थिति आकार नियंत्रण की कमी
प्रदर्शन पैरामीटर ट्यूनिंग पर निर्भर करता है
विभिन्न बाजारों में विप्सॉव का जोखिम
निगरानी और हस्तक्षेप की आवश्यकता है
मापदंडों को अनुकूलित करके, फ़िल्टर जोड़कर, स्थिति को सही ढंग से आकार देकर, प्रदर्शन की निगरानी करके और आवश्यक होने पर हस्तक्षेप करके जोखिमों को कम किया जा सकता है।
रणनीति में सुधार के कुछ तरीके:
विभिन्न बाजारों के लिए एटीआर मापदंडों को समायोजित करें
संकेतों को फ़िल्टर करने के लिए अन्य चलती औसत का परीक्षण करें
अधिक संभावना के लिए प्रवृत्ति फ़िल्टर संकेतक जोड़ें
स्थिति आकार सीमाओं को लागू करें
मात्रा, एमए से दूरी जैसे प्रवेश शर्तें जोड़ें
रोक में कमीशन जैसी लागतों को शामिल करें
अधिक संकेतों के साथ प्रवेश और निकास समय अनुकूलित करें
मुनाफा लेने या ट्रेलिंग स्टॉप शुरू करें
स्वचालित पैरामीटर अनुकूलन
प्रविष्टियों, निकासों, फिल्टरों और पैरामीटर ट्यूनिंग के लिए अधिक तकनीकों को मिलाकर, रणनीति को और मजबूत किया जा सकता है।
यह रणनीति गतिशील स्टॉप और ट्रेंड फॉलोइंग को अच्छी तरह से जोड़ती है। प्रभावी स्टॉप, चिकनी ट्रेंड ट्रैकिंग, उपयोग में आसानी और अनुकूलन क्षमता के साथ, यह स्विंग ट्रेडिंग रुझानों के लिए उपयुक्त है। लेकिन उचित जोखिम प्रबंधन, निगरानी और पैरामीटर ट्यूनिंग की आवश्यकता होती है। जब ट्रेंडिंग बाजारों पर अच्छी तरह से लागू किया जाता है, तो अच्छे परिणाम प्राप्त किए जा सकते हैं। कुल मिलाकर यह ट्रेंड ट्रेडिंग और जोखिम प्रबंधन को जोड़ने के लिए एक सरल और व्यावहारिक दृष्टिकोण प्रदान करता है।
/*backtest start: 2022-10-25 00:00:00 end: 2023-10-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="UT Bot Strategy", overlay = true) //CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. // Inputs a = input(1, title = "Key Vaule. 'This changes the sensitivity'") c = input(10, title = "ATR Period") h = input(false, title = "Signals from Heikin Ashi Candles") xATR = atr(c) nLoss = a * xATR src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close xATRTrailingStop = 0.0 xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss), iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss))) pos = 0 pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1, iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue ema = ema(src,1) above = crossover(ema, xATRTrailingStop) below = crossover(xATRTrailingStop, ema) buy = src > xATRTrailingStop and above sell = src < xATRTrailingStop and below barbuy = src > xATRTrailingStop barsell = src < xATRTrailingStop plotshape(buy, title = "Buy", text = 'Buy', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny) plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny) barcolor(barbuy ? color.green : na) barcolor(barsell ? color.red : na) strategy.entry("long", true, when = buy) strategy.entry("short", false, when = sell)