
यह रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जिसमें सूचकांक चलती औसत (ईएमए) और चलती औसत प्रवृत्ति / विचलन (एमएसीडी) संकेतक शामिल हैं। यह रणनीति व्यापारियों को एक व्यापक ट्रेंड ट्रैकिंग समाधान प्रदान करती है, जिसमें अल्पकालिक और दीर्घकालिक ईएमए के क्रॉसिंग सिग्नल और एमएसीडी गतिशीलता की पुष्टि होती है। इसमें एक गतिशील स्टॉप-लॉस और स्टॉप-आउट तंत्र भी शामिल है, जो जोखिम को प्रभावी ढंग से नियंत्रित करते हुए लाभ को अधिकतम करने का प्रयास करता है।
रणनीति का मुख्य तर्क दो तकनीकी संकेतकों के समन्वय पर आधारित है। पहला, 12 चक्र और 26 चक्र ईएमए का उपयोग बाजार की प्रवृत्ति की पहचान करने के लिए किया जाता है, जब दीर्घकालिक ईएमए पर एक अल्पकालिक ईएमए पर एक अधिक संकेत उत्पन्न होता है, तो नीचे एक शून्य संकेत उत्पन्न होता है। दूसरा, प्रवृत्ति की गतिशीलता की पुष्टि करने के लिए MACD संकेतक का उपयोग किया जाता है ((12,26,9 सेटिंग्स), जो MACD लाइन और लाइन के संकेतों के स्थान संबंध को ईएमए द्वारा उत्पन्न व्यापार संकेतों का समर्थन करने के लिए कहता है। सिस्टम को गतिशील स्टॉप लॉस (डिफ़ॉल्ट 2%) और स्टॉप लॉस डिफ़ॉल्ट (डिफ़ॉल्ट 5%) के लिए प्रतिशत तरीके से सेट किया गया है, और ईएमए क्रॉसिंग या एमएसीडी रिवर्सिंग के साथ अतिरिक्त स्थिति संकेतों को ट्रिगर करता है।
यह एक तर्कसंगत, तार्किक रूप से स्पष्ट प्रवृत्ति ट्रैकिंग रणनीति है। ईएमए और एमएसीडी के लाभों के संयोजन के माध्यम से, रणनीति को सरल और समझने में आसान रखते हुए, अधिक विश्वसनीय ट्रेडिंग सिग्नल जनरेशन को प्राप्त किया जाता है। रणनीति की अनुकूलन क्षमता मजबूत है, जोखिम प्रबंधन तंत्र में सुधार हुआ है, मध्यम और दीर्घकालिक प्रवृत्ति व्यापार के लिए एक बुनियादी ढांचे के रूप में उपयुक्त है। व्यापारियों को सलाह दी जाती है कि वे वास्तविक समय में उपयोग करने से पहले पैरामीटर सेटिंग्स का पूरी तरह से परीक्षण करें और विशिष्ट व्यापार किस्मों और बाजार की स्थिति के अनुसार लक्षित अनुकूलन करें।
/*backtest
start: 2025-01-21 00:00:00
end: 2025-02-03 15:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA + MACD Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs ===
shortEmaLength = input.int(12, title="Short EMA Period", minval=1)
longEmaLength = input.int(26, title="Long EMA Period", minval=1)
macdFastLength = input.int(12, title="MACD Fast EMA Period", minval=1)
macdSlowLength = input.int(26, title="MACD Slow EMA Period", minval=1)
macdSignalLength = input.int(9, title="MACD Signal Period", minval=1)
stopLossPerc = input.float(2.0, title="Stop-Loss (%)", minval=0.1, step=0.1)
takeProfitPerc = input.float(5.0, title="Take-Profit (%)", minval=0.1, step=0.1)
// === Indicator Calculations ===
// Exponential Moving Averages (EMA)
shortEMA = ta.ema(close, shortEmaLength)
longEMA = ta.ema(close, longEmaLength)
// MACD
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
// === Entry Conditions ===
// Buy signal: Short EMA crosses above Long EMA and MACD > Signal Line
longCondition = ta.crossover(shortEMA, longEMA) and (macdLine > signalLine)
// Sell signal: Short EMA crosses below Long EMA and MACD < Signal Line
shortCondition = ta.crossunder(shortEMA, longEMA) and (macdLine < signalLine)
// === Entry Signals with Stop-Loss and Take-Profit ===
if (longCondition)
strategy.entry("Long", strategy.long)
// Calculate Stop-Loss and Take-Profit
stopPrice = close * (1 - stopLossPerc / 100)
takePrice = close * (1 + takeProfitPerc / 100)
strategy.exit("Long Exit", from_entry="Long", stop=stopPrice, limit=takePrice)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Calculate Stop-Loss and Take-Profit
stopPrice = close * (1 + stopLossPerc / 100)
takePrice = close * (1 - takeProfitPerc / 100)
strategy.exit("Short Exit", from_entry="Short", stop=stopPrice, limit=takePrice)
// === Exit Conditions ===
// Alternative exit conditions based on crossovers
exitLongCondition = ta.crossunder(shortEMA, longEMA) or (macdLine < signalLine)
exitShortCondition = ta.crossover(shortEMA, longEMA) or (macdLine > signalLine)
if (exitLongCondition)
strategy.close("Long")
if (exitShortCondition)
strategy.close("Short")
// === Indicator Plotting ===
// EMA
plot(shortEMA, color=color.blue, title="Short EMA")
plot(longEMA, color=color.red, title="Long EMA")
// MACD Indicator in separate window
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)
plot(macdLine - signalLine, color=(macdLine - signalLine) >= 0 ? color.green : color.red, title="MACD Histogram", style=plot.style_histogram)
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// === Signal Visualization ===
// Markers for Long and Short entries
plotshape(series=longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// Markers for Long and Short exits
plotshape(series=exitLongCondition, title="Long Exit", location=location.abovebar, color=color.red, style=shape.labeldown, text="Exit Long")
plotshape(series=exitShortCondition, title="Short Exit", location=location.belowbar, color=color.green, style=shape.labelup, text="Exit Short")