यह रणनीति कई घातीय चलती औसत (ईएमए) क्रॉसओवर संकेतों पर आधारित एक ट्रेडिंग प्रणाली है, जो विभिन्न अवधियों के ईएमए को एटीआर-आधारित गतिशील स्टॉप-लॉस तंत्र के साथ जोड़ती है। यह रणनीति प्राथमिक संकेत संकेतकों के रूप में 10, 39, और 73 अवधियों के ईएमए का उपयोग करती है, जबकि ट्रेंड फिल्टर के रूप में 143 अवधि के उच्च समय सीमा ईएमए को शामिल करती है, और एटीआर संकेतक का उपयोग करके गतिशील स्टॉप-लॉस और लाभ लेने के लक्ष्यों को लागू करती है।
मूल तर्क कई ईएमए क्रॉसओवर और प्रवृत्ति पुष्टि पर आधारित है। एक लंबा संकेत तब उत्पन्न होता है जब अल्पकालिक ईएमए (10-अवधि) मध्यमकालिक ईएमए (39-अवधि) से ऊपर पार हो जाता है, और कीमत दीर्घकालिक ईएमए (73-अवधि) और उच्चतर समय सीमा ईएमए (143-अवधि) दोनों से ऊपर होती है। इसके विपरीत, एक छोटा संकेत तब उत्पन्न होता है जब अल्पकालिक ईएमए मध्यमकालिक ईएमए से नीचे पार हो जाता है, और कीमत दोनों दीर्घकालिक ईएमए से नीचे होती है। रणनीति स्टॉप-लॉस के लिए 1x एटीआर और लाभ लेने के लक्ष्यों के लिए 2x एटीआर का उपयोग करके 1:2 के जोखिम-लाभ अनुपात को लागू करती है।
यह रणनीति कई ईएमए क्रॉसओवर और एटीआर-आधारित गतिशील स्टॉप के माध्यम से प्रवृत्ति के बाद और जोखिम प्रबंधन को जोड़ती है। इसकी मुख्य ताकत कई समय सीमा की पुष्टि तंत्र और गतिशील स्थिति प्रबंधन में निहित है, जबकि बाजार और लेग जोखिमों को ध्यान में रखते हुए। वॉल्यूम पुष्टि, प्रवृत्ति शक्ति फ़िल्टरिंग और अन्य अनुकूलन के माध्यम से रणनीति स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है। व्यावहारिक अनुप्रयोग में, मापदंडों को विभिन्न बाजार वातावरण और ट्रेडिंग उपकरण विशेषताओं के अनुसार समायोजित किया जाना चाहिए।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Enhanced EMA Crossover Strategy", overlay=true) // Define the EMA lengths ema_short_length = 10 ema_long_length = 39 ema_filter_length = 73 ema_higher_tf_length = 143 // Calculate the EMAs ema_short = ta.ema(close, ema_short_length) ema_long = ta.ema(close, ema_long_length) ema_filter = ta.ema(close, ema_filter_length) ema_higher_tf = request.security(syminfo.tickerid, "D", ta.ema(close, ema_higher_tf_length)) // Calculate ATR for volatility-based stop loss and take profit atr_length = 14 atr = ta.atr(atr_length) // Plot the EMAs plot(ema_short, title="EMA 10", color=color.blue) plot(ema_long, title="EMA 35", color=color.red) plot(ema_filter, title="EMA 75", color=color.orange) plot(ema_higher_tf, title="EMA Higher TF", color=color.purple) // EMA crossover conditions with EMA 75 and higher timeframe EMA filter longCondition = ta.crossover(ema_short, ema_long) and close > ema_filter and close > ema_higher_tf shortCondition = ta.crossunder(ema_short, ema_long) and close < ema_filter and close < ema_higher_tf // Execute long trade with dynamic stop loss and take profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", limit=close + 2 * atr, stop=close - 1 * atr) // Execute short trade with dynamic stop loss and take profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", limit=close - 2 * atr, stop=close + 1 * atr) // Plot signals on the chart plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")