यह रणनीति बाजार की अस्थिरता का न्याय करने के लिए एटीआर संकेतक के साथ संयुक्त दोहरे ईएमए चलती औसत द्वारा गठित स्वर्ण क्रॉस और मृत क्रॉस संकेतों का उपयोग करती है, ताकि एक कम-खरीद-उच्च-बिक्री प्रवृत्ति के बाद की रणनीति को लागू किया जा सके। जब फास्ट लाइन स्लो लाइन से ऊपर जाती है, और एटीआर संकेतक पिछले दिन की तुलना में कम होता है, तो इसे लंबा होने के लिए एक तेजी का संकेत माना जाता है। जब फास्ट लाइन स्लो लाइन से नीचे जाती है, और एटीआर संकेतक पिछले दिन से अधिक होता है, तो इसे शॉर्ट जाने के लिए एक मंदी का संकेत माना जाता है।
लंबाई 20 और 55 के दोहरे ईएमए चलती औसत का उपयोग करें। जब तेज रेखा धीमी रेखा के ऊपर पार करती है और एक स्वर्ण क्रॉस उत्पन्न करती है, तो इसे तेजी का संकेत माना जाता है। जब तेज रेखा धीमी रेखा के नीचे पार करती है और एक मृत क्रॉस उत्पन्न करती है, तो इसे मंदी का संकेत माना जाता है।
लंबाई 14 के एटीआर संकेतक का उपयोग करें। एटीआर संकेतक बाजार की अस्थिरता और जोखिम स्तर को दर्शाता है। जब एटीआर पिछले दिन की तुलना में कम होता है, तो यह इंगित करता है कि बाजार की अस्थिरता कमजोर हो रही है और यह लंबा जाने के लिए उपयुक्त है। जब एटीआर पिछले दिन की तुलना में अधिक होता है, तो यह इंगित करता है कि बाजार की अस्थिरता बढ़ रही है और यह छोटा जाने के लिए उपयुक्त है।
केवल तब ही लॉन्ग करें जब फास्ट लाइन गोल्डन स्लो लाइन को पार करे और एटीआर पिछले दिन से कम हो। केवल तब ही शॉर्ट करें जब फास्ट लाइन डेड स्लो लाइन को पार करे और एटीआर पिछले दिन से अधिक हो। इससे बाजार की अस्थिरता अधिक होने पर हस्तक्षेप करने से बचा जाता है।
एटीआर संकेतक का उपयोग स्टॉप लॉस और ले लाभ स्तरों को सेट करने के लिए भी किया जाता है। स्टॉप लॉस को वर्तमान मूल्य से घटाकर एटीआर को स्टॉप लॉस गुणक से गुणा करके सेट किया जाता है। ले लाभ को वर्तमान मूल्य प्लस एटीआर ले लाभ गुणक से गुणा करके सेट किया जाता है।
डिफ़ॉल्ट स्टॉप लॉस गुणक 3xATR है और डिफ़ॉल्ट टेक प्रॉफिट गुणक 3xATR है। यह स्टॉप लॉस और टेक प्रॉफिट को बाजार की अस्थिरता का गतिशील रूप से पालन करने की अनुमति देता है।
दोहरी चलती औसत प्रणाली का उपयोग लंबी/लघु स्थिति की अधिक मजबूत पुष्टि प्रदान करता है। यह बाजार में अक्सर होने वाले झूठे ब्रेकआउट से गुमराह होने से बचता है।
एटीआर संकेतक को लागू करने से रणनीति केवल तब ही सक्रिय हो सकती है जब अस्थिरता कम हो। यह कई झूठे संकेतों को फ़िल्टर करता है और सिस्टम जोखिम को कम करता है।
गतिशील एटीआर स्टॉप लॉस/टेक प्रॉफिट स्टॉप और टारगेट को बाजार अस्थिरता के स्तर के अनुसार सेट करने की अनुमति देता है। इससे स्टॉप बहुत करीब या टारगेट बहुत उथले होने से बचा जाता है।
एक अतिरिक्त निकास तंत्र के रूप में चलती औसत क्रॉसओवर सेट करना संभव है। यह प्रणाली की लाभप्रदता को और अधिक अनुकूलित कर सकता है।
एटीआर पर आधारित गतिशील स्टॉप लॉस और ले लाभ स्तर ट्रेंड ट्रेडिंग लॉजिक के साथ बेहतर फिट बैठते हैं। स्टॉप लॉस बहुत संवेदनशील नहीं है और ले लाभ बहुत ढीला नहीं है।
दोहरी चलती औसत में संकेतों में कुछ विलंब होता है। इससे अधिक मजबूत अल्पकालिक रुझानों को याद किया जा सकता है।
जब अस्थिरता अधिक होती है, तो एटीआर बढ़ता है और प्रवेश के अवसरों को खो सकता है। एटीआर मापदंडों को तदनुसार समायोजित करने की आवश्यकता होती है।
लंबे होल्डिंग पीरियड्स के लिए स्टॉप लॉस बहुत करीब आ सकता है। इसे ट्रेंड की ताकत के अनुसार ढीला करने की आवश्यकता है।
चलती औसत अस्थिर बाजारों में खराब प्रदर्शन करती है। पुष्टि के लिए अन्य संकेतकों की आवश्यकता होती है।
विभिन्न उत्पादों और समय सीमाओं के लिए एटीआर मापदंडों को समायोजित करने की आवश्यकता है। गलत मापदंडों का प्रदर्शन पर नकारात्मक प्रभाव पड़ेगा।
उत्पाद की प्रवृत्ति विशेषताओं से मेल खाने वाले मापदंडों को खोजने के लिए विभिन्न लंबाई चलती औसत संयोजनों का परीक्षण करें।
चलती औसत क्रॉसओवर संकेतों की पुष्टि करने और निर्णय सुरक्षा में सुधार करने के लिए एमएसीडी, केडी जैसे अन्य संकेतकों को शामिल करें।
एटीआर मापदंडों को बैकटेस्टिंग के माध्यम से उत्पाद की अस्थिरता विशेषताओं से बेहतर मेल खाने के लिए अनुकूलित करें।
एटीआर गुणक कारक को गतिशील रूप से रुझान की ताकत के अनुसार स्टॉप लॉस/टेक प्रॉफिट को समायोजित करने के लिए समायोज्य बनाएं।
कमजोर रुझानों में स्टॉप लॉस आवश्यकताओं को कम करने के लिए एक ट्रेंड स्ट्रेंथ इंडिकेटर शामिल करें और मजबूत रुझानों में लाभ लेने में वृद्धि करें।
यह रणनीति एक अपेक्षाकृत पूर्ण ट्रेंड फॉलोइंग सिस्टम बनाने के लिए दोहरे ईएमए के ट्रेंड निर्णय और एटीआर अस्थिरता संकेतक के जोखिम नियंत्रण को एकीकृत करती है। अनुकूलन के लिए फोकस उत्पाद विशेषताओं से मेल खाने के लिए चलती औसत और एटीआर मापदंडों को समायोजित कर रहा है, और ट्रेंड की ताकत में परिवर्तन का पालन करने के लिए गतिशील स्टॉप लॉस / ले लाभ तंत्र डिजाइन कर रहा है। पैरामीटर और तर्क अनुकूलन के साथ, यह रणनीति एक उत्कृष्ट ट्रेंड फॉलोइंग रणनीति बन सकती है।
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // ********************************************** // PtahX EMA/ATR Strategy Public Release // EMA Strategy with ATR & "Fear Factor" built in // written by PtahX October 2019 // * modifications welcome // * please let me know if you improve it so I can continue to learn :) // * use at your own risk - I'm a new programmer and still learning // * Best of luck on your trades!! // Take Profit (TP) option based on ATR or MA Crossover //*********************************************** strategy(title="PtahX EMA/ATR Strategy", overlay=true, pyramiding=1, calc_on_every_tick=true, default_qty_value=1, initial_capital=10000, slippage=2) //***************************** // Global Inputs //***************************** fastMA = input(title="Fast Moving Average", defval=20, step=1) slowMA = input(title="Slow Moving Average", defval=55, step=1) source = input(close, title="Source") atrLength = input(title="ATR Length", defval=14, minval=7, step=1) slMultiplier = input(title="Stop Loss Multiple", type=input.float, defval=3, minval=1, step=0.2) tpMultiplier = input(title= "Take Profit Multiple", type=input.float, defval=3, minval=1, step=0.2) maPlot = input(true, title="Plot EMA?") maCrossoverExit = input(false, title="Exit with Slow MA Crossover?") atrExit = input(true, title="Exit with ATR?") //*********************************** // ATR //*********************************** atr = atr(atrLength) //*********************************** // Volatility Filter //********************************** // During uptrends the ATR indicator tends to post lower volatility. // During downtrends, the ATR indicator tends to post higher volatility volatilityBullish = atr < atr[1] volatilityBearish = atr > atr[1] //*********************************** // Moving Averages //*********************************** // Double Line Plot Code (used for Entries & Exits not plotted by default) fast = ema(source, fastMA) slow = ema(source, slowMA) maLong = crossover(fast, slow) maShort = crossunder(fast, slow) // Single Line Plot Code bullish = slow > slow[1] bearish = slow < slow[1] barColor = bullish ? color.green : bearish ? color.red : color.blue //***************************** // Entries //***************************** entryLong = maLong and volatilityBullish entryShort = maShort and volatilityBearish if entryLong sLoss = source - atr * slMultiplier strategy.entry("Long", strategy.long, qty=10) strategy.exit("Long Exit", "Long", stop=sLoss) if entryShort sLoss = source + atr * slMultiplier tProfit = close > slowMA strategy.entry("Short", strategy.short, qty=10) strategy.exit("Short Exit", "Short", stop=sLoss) //***************************** // Exits //***************************** exitLong = 0 exitShort = 0 if maCrossoverExit exitLong = maShort exitShort = maLong strategy.exit("Long Exit", "Long", when = exitLong) strategy.exit("Short Exit", "Short", when = exitShort) if atrExit exitLong = source + atr * tpMultiplier exitShort = source - atr * tpMultiplier strategy.exit("Long Exit", "Long", limit = exitLong) strategy.exit("Short Exit", "Short", limit = exitShort) //****************************** // ATR Based Exit/ Stop Plotting //****************************** // Stop Loss Calculations longStopLoss = source - atr(atrLength) * slMultiplier shortStopLoss = source + atr(atrLength) * slMultiplier longTakeProfit = source - atr(atrLength) * slMultiplier shortTakeProfit = source + atr(atrLength) * slMultiplier //********************************* //Chart Plotting //********************************* //ATR Based Stop Losses plot(shortStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Short Stop Loss") plot(longStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Long Stop Loss") // Single Slow EMA Option plot(slow and maPlot ? slow : na, title="EMA", color=barColor, linewidth=3)