
यह रणनीति डबल मूविंग एवरेज क्रॉसओवर सिग्नल पर आधारित एक गतिशील ट्रेंड ट्रैकिंग सिस्टम है। यह अल्पकालिक 20-दिवसीय एक्सपोनेंशियल मूविंग एवरेज (ईएमए) और दीर्घकालिक 50-दिवसीय एक्सपोनेंशियल मूविंग एवरेज (ईएमए) के क्रॉसओवर के माध्यम से बाजार की प्रवृत्ति में बदलाव की पहचान करता है। ईएमए), और स्वचालित रूप से खरीद और बिक्री संचालन निष्पादित करता है। यह रणनीति एक परिपक्व तकनीकी विश्लेषण पद्धति को अपनाती है, जो प्रवृत्ति ट्रैकिंग और गतिशील स्थिति प्रबंधन की विशेषताओं को जोड़ती है, और अधिक अस्थिरता वाले बाजार वातावरण के लिए उपयुक्त है।
रणनीति का मूल तर्क निम्नलिखित प्रमुख तत्वों पर आधारित है:
यह रणनीति क्लासिक ट्रेंड ट्रैकिंग सिस्टम का आधुनिक कार्यान्वयन है। प्रोग्रामेटिक ट्रेडिंग के माध्यम से, पारंपरिक डबल मूविंग एवरेज क्रॉसओवर रणनीति को व्यवस्थित और मानकीकृत किया जाता है। यद्यपि इसमें कुछ अंतर्निहित जोखिम हैं, फिर भी निरंतर अनुकूलन और सुधार के माध्यम से इस रणनीति के अनुप्रयोग की अच्छी संभावनाएं हैं। वास्तविक उपयोग से पहले पर्याप्त पैरामीटर अनुकूलन और बैकटेस्टिंग सत्यापन करने की सिफारिश की जाती है।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Buy/Sell Signals", overlay=true)
// Input parameters for EMAs
emaShortLength = input.int(20, title="Short EMA Length")
emaLongLength = input.int(50, title="Long EMA Length")
// Calculating EMAs
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
// Plotting EMA crossover lines
plot(emaShort, color=color.green, title="20 EMA")
plot(emaLong, color=color.red, title="50 EMA")
// Buy and Sell signal logic
longCondition = ta.crossover(emaShort, emaLong)
exitLongCondition = ta.crossunder(emaShort, emaLong)
shortCondition = ta.crossunder(emaShort, emaLong)
exitShortCondition = ta.crossover(emaShort, emaLong)
// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=exitLongCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Exit")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")
plotshape(series=exitShortCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Exit")
// Backtesting strategy logic
var float entryPrice = na
var int position = 0 // 1 for long, -1 for short, 0 for no position
if (longCondition and position == 0)
entryPrice := close
position := 1
if (shortCondition and position == 0)
entryPrice := close
position := -1
if (exitLongCondition and position == 1)
strategy.exit("Exit Long", from_entry="Long", limit=close)
position := 0
if (exitShortCondition and position == -1)
strategy.exit("Exit Short", from_entry="Short", limit=close)
position := 0
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)