यह रणनीति एक बहु-समय फ्रेम सूचकांक चलती औसत (ईएमए) और 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")