यह रणनीति बहु-समय सीमा घातीय चलती औसत (ईएमए) और 200-अवधि ईएमए फ़िल्टर पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। मुख्य विचार विभिन्न समय सीमाओं पर ईएमए का उपयोग करने के लिए बाजार की प्रवृत्ति की दिशा की पहचान करने और लंबी स्थिति स्थापित करने के लिए है जब प्रवृत्ति ऊपर है और कीमत 200-अवधि ईएमए से ऊपर है। यह सुनिश्चित करता है कि ट्रेड केवल मजबूत अपट्रेंड के दौरान दर्ज किए जाते हैं, जिसका उद्देश्य परिभाषित स्टॉप-लॉस और ले-प्रॉफिट तंत्र के साथ जोखिम का प्रबंधन करते हुए निरंतर ऊपर की ओर आंदोलनों को कैप्चर करना है।
रणनीति तीन समय सीमाओं का उपयोग करती हैः 5-मिनट, 15-मिनट और 30-मिनट, प्रत्येक के लिए तेज़ और धीमे ईएमए की गणना करते हुए। प्रत्येक समय सीमा के लिए तेज़ और धीमे ईएमए की तुलना करके, प्रवृत्ति की दिशा निर्धारित की जा सकती है। तीन समय सीमाओं से प्रवृत्ति संकेतों को तब एक संयुक्त प्रवृत्ति संकेत प्राप्त करने के लिए जोड़ा जाता है। जब संयुक्त प्रवृत्ति संकेत 3 (सभी समय सीमाओं में एक अपट्रेंड का संकेत देता है) है और वर्तमान समापन मूल्य 5-मिनट के समय सीमा पर 200-अवधि ईएमए से ऊपर है, तो रणनीति एक लंबी स्थिति में प्रवेश करती है। जब संयुक्त प्रवृत्ति संकेत 3 से नीचे गिरता है या कीमत 5-मिनट के 200-अवधि ईएमए से नीचे गिरती है, तो स्थिति बंद हो जाती है।
यह रणनीति ट्रेंड फ़िल्टर के रूप में 200-पीरियड ईएमए का उपयोग करते हुए कई समय सीमाओं पर ईएमए की तुलना करके प्रवृत्ति की दिशा निर्धारित करती है। यह लंबी स्थिति स्थापित करती है जब प्रवृत्ति स्पष्ट रूप से ऊपर की ओर होती है और कीमत दीर्घकालिक चलती औसत से ऊपर होती है, जिसका उद्देश्य मजबूत अपट्रेंड को पकड़ना होता है। सख्त प्रवेश और निकास शर्तें और निश्चित स्टॉप-लॉस और ले-प्रॉफिट स्तर जोखिम को प्रबंधित करने में मदद करते हैं। हालांकि, रणनीति प्रवृत्ति मोड़ बिंदुओं पर धीरे-धीरे प्रतिक्रिया कर सकती है और निश्चित स्टॉप-लॉस और ले-प्रॉफिट स्तरों के कारण अचानक बाजार अस्थिरता से निपटने में सीमाएं हैं। भविष्य में, रणनीति की अनुकूलन क्षमता और मज़बूती को अधिक समय सीमाओं को पेश करके, स्टॉप-लॉस और टेक-प्रॉफिट स्तरों को अनुकूलित करके, अतिरिक्त ट्रेडिंग संकेतों को शामिल करके, मापदंडों को अनुकूलित करके, आदि में सुधार किया जा सकता है। इससे जोखिमों को नियंत्रित करते हुए रणनीति को बाजार के अवसरों को बेहतर ढंग से जब्त करने में सक्षम बनाया जाएगा।
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Multi-Timeframe Trend Following with 200 EMA Filter - Longs Only", shorttitle="MTF_TF_200EMA_Longs", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=1) // Inputs fast_length = input.int(9, title="Fast EMA Length", minval=1) slow_length = input.int(21, title="Slow EMA Length", minval=1) filter_length_200 = input.int(200, title="200 EMA Length", minval=1) stop_loss_perc = input.float(1.0, title="Stop Loss Percentage", minval=0.1) / 100 take_profit_perc = input.float(3.0, title="Take Profit Percentage", minval=0.1) / 100 // Calculate EMAs for 5-minute, 15-minute, and 30-minute timeframes ema_fast_5min = request.security(syminfo.tickerid, "5", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_5min = request.security(syminfo.tickerid, "5", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) ema_fast_15min = request.security(syminfo.tickerid, "15", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_15min = request.security(syminfo.tickerid, "15", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) ema_fast_30min = request.security(syminfo.tickerid, "30", ta.ema(close, fast_length), lookahead=barmerge.lookahead_on) ema_slow_30min = request.security(syminfo.tickerid, "30", ta.ema(close, slow_length), lookahead=barmerge.lookahead_on) // Calculate 200 EMA for the 5-minute timeframe ema_200_5min = ta.ema(close, filter_length_200) // Determine the trend for each timeframe trend_5min = ema_fast_5min > ema_slow_5min ? 1 : -1 trend_15min = ema_fast_15min > ema_slow_15min ? 1 : -1 trend_30min = ema_fast_30min > ema_slow_30min ? 1 : -1 // Combine trend signals combined_trend = trend_5min + trend_15min + trend_30min // Define entry and exit conditions with 200 EMA filter enter_long = combined_trend == 3 and close > ema_200_5min exit_long = combined_trend < 3 or close < ema_200_5min // Plot EMAs for the 5-minute timeframe plot(ema_fast_5min, color=color.blue, linewidth=2, title="Fast EMA 5min") plot(ema_slow_5min, color=color.red, linewidth=2, title="Slow EMA 5min") plot(ema_200_5min, color=color.green, linewidth=2, title="200 EMA 5min") // Strategy execution if (enter_long) strategy.entry("Long", strategy.long, stop=close * (1 - stop_loss_perc), limit=close * (1 + take_profit_perc)) if (exit_long) strategy.close("Long")