
यह रणनीति एक बहु-समय क्षेत्र ट्रेडिंग प्रणाली है जो MACD सूचक और चलती औसत पर आधारित है। यह 1 मिनट और 3 मिनट की दो समय अवधि के MACD सूचक को जोड़ती है, जबकि 200 चक्र ईएमए को एक प्रवृत्ति फ़िल्टर के रूप में उपयोग करती है, जो बाजार की प्रवृत्ति की निरंतरता को पकड़कर व्यापार करती है। रणनीति में जोखिम प्रबंधन तंत्र शामिल है, जिसमें स्टॉप लॉस सेटिंग्स और आधार बिंदु पर जाने के लिए गतिशील समायोजन सुविधा शामिल है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
विशिष्ट ट्रेडिंग सिग्नल जनरेशन नियम इस प्रकार हैंः
जोखिम नियंत्रण सुझाव:
इस रणनीति ने बहु-समय अवधि के MACD संकेतकों और ईएमए रुझान फिल्टर के संयोजन के माध्यम से एक अपेक्षाकृत पूर्ण व्यापार प्रणाली का निर्माण किया है। इसकी ताकत बहु-पुष्टि तंत्र और जोखिम प्रबंधन की अखंडता में है, लेकिन साथ ही साथ विभिन्न बाजार स्थितियों में अनुकूलता के मुद्दों पर ध्यान देने की आवश्यकता है। अनुशंसित अनुकूलन दिशा के माध्यम से, रणनीति को अपनी स्थिरता बनाए रखते हुए अपनी लाभप्रदता को और बढ़ाने की उम्मीद है।
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-15 02:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("NQ MACD Continuation Backtest", overlay=true)
// MACD Settings
fastLength = 12
slowLength = 26
signalLength = 9
// 1-minute MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// 3-minute MACD for trend filter
[htfMacd, htfSignal, _] = request.security(syminfo.tickerid, "3", ta.macd(close, fastLength, slowLength, signalLength), lookahead=barmerge.lookahead_on)
// 200 EMA
ema200 = ta.ema(close, 200)
// Time Filters
inSession = (hour(time, "America/New_York") >= 9 and (hour(time, "America/New_York") > 9 or minute(time, "America/New_York") >= 45)) and (hour(time, "America/New_York") < 22 or (hour(time, "America/New_York") == 22 and minute(time, "America/New_York") == 30))
notRestricted = (hour(time, "America/New_York") >= 6 and hour(time, "America/New_York") < 22)
// Track Previous MACD Crosses
var bool bullishCrossed = false
var bool bearishCrossed = false
if (ta.crossover(macdLine, signalLine) and macdLine > 0)
bullishCrossed := true
if (ta.crossunder(macdLine, signalLine) and macdLine < 0)
bearishCrossed := true
// Define Continuation Signals with EMA and 3-Min MACD Filter
bullishContinuation = (ta.crossover(macdLine, signalLine) and macdLine > 0 and signalLine > 0 and htfMacd > htfSignal and bullishCrossed and close > ema200)
bearishContinuation = (ta.crossunder(macdLine, signalLine) and macdLine < 0 and signalLine < 0 and htfMacd < htfSignal and bearishCrossed and close < ema200)
// Entry Conditions with SL and 10 Contracts
if (bullishContinuation and inSession and notRestricted)
strategy.entry("Long", strategy.long, qty=10, stop=close - 7 * syminfo.mintick)
if (bearishContinuation and inSession and notRestricted)
strategy.entry("Short", strategy.short, qty=10, stop=close + 7 * syminfo.mintick)
// Break-Even Adjustment
if (strategy.position_size > 0 and close >= strategy.position_avg_price + 5 * syminfo.mintick)
strategy.exit("BreakEvenLong", from_entry="Long", stop=strategy.position_avg_price)
if (strategy.position_size < 0 and close <= strategy.position_avg_price - 5 * syminfo.mintick)
strategy.exit("BreakEvenShort", from_entry="Short", stop=strategy.position_avg_price)
// Display Indicators on Chart
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
plot(ema200, color=color.red, title="200 EMA")