
यह एक ट्रेंड ट्रैकिंग ट्रेडिंग रणनीति है जिसमें द्वि-समान रेखा प्रणाली ((EMA5 और EMA20) और सुपरट्रेंड सूचक ((Supertrend)) शामिल हैं। यह रणनीति तेजी से चलती औसत और धीमी गति से चलती औसत के क्रॉस सिग्नल के माध्यम से एक विश्वसनीय ट्रेडिंग सिस्टम बनाने के लिए बनाई गई है, जो सुपरट्रेंड सूचक द्वारा प्रदान की जाने वाली प्रवृत्ति की दिशा की पुष्टि करती है। रणनीति डिजाइन में प्रवृत्ति की पुष्टि और गतिशीलता में परिवर्तन के दो महत्वपूर्ण कारकों को ध्यान में रखा गया है, जो दोहरे सत्यापन तंत्र के माध्यम से ट्रेडिंग के संकेत की विश्वसनीयता को बढ़ाता है।
रणनीति का मुख्य तर्क तीन प्रमुख तकनीकी संकेतकों के संयोजन पर आधारित हैः
खरीद संकेतों को दो शर्तों को पूरा करना होगा:
विक्रय सिग्नल के लिए निम्नलिखित आवश्यकताओं को पूरा करना होगा:
यह एक पूरी तरह से संरचित, तर्कसंगत और स्पष्ट प्रवृत्ति ट्रैकिंग रणनीति है। एक सम-रेखा प्रणाली और सुपरट्रेंड संकेतक के संयोजन के माध्यम से, संकेत सटीकता और विलंबता को प्रभावी ढंग से संतुलित किया जाता है। रणनीति का दृश्य डिजाइन और सूचना प्रदर्शन प्रणाली व्यापारियों को बाजार की स्थिति का त्वरित आकलन करने में मदद करती है। उचित पैरामीटर अनुकूलन और जोखिम प्रबंधन के माध्यम से, यह रणनीति ट्रेंडिंग बाजार में अच्छा व्यापारिक प्रभाव प्राप्त कर सकती है।
/*backtest
start: 2024-02-22 00:00:00
end: 2024-07-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Advanced Supertrend + EMA Strategy", overlay=true)
// =================== PARAMETER INPUTS ===================
// EMA Parameters
emaFastLength = input.int(5, "Fast EMA", minval=1, maxval=50, group="EMA Settings")
emaSlowLength = input.int(20, "Slow EMA", minval=1, maxval=100, group="EMA Settings")
// Supertrend Parameters
atrPeriod = input.int(10, "ATR Period", minval=1, maxval=50, group="Supertrend Settings")
factor = input.float(3.0, "Factor", step=0.1, group="Supertrend Settings")
// =================== CALCULATIONS ===================
// EMA Calculations
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// Supertrend Calculation
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
// =================== SIGNAL GENERATION ===================
// EMA Crossovers
emaCrossUp = ta.crossover(emaFast, emaSlow)
emaCrossDown = ta.crossunder(emaFast, emaSlow)
// Supertrend Signals
stUp = direction < 0
stDown = direction > 0
// Buy and Sell Conditions
longCondition = emaCrossUp and stUp
shortCondition = emaCrossDown and stDown
// =================== GRAPHICAL INDICATORS ===================
// EMA Lines
plot(emaFast, color=color.new(color.blue, 0), linewidth=2, title="Fast EMA")
plot(emaSlow, color=color.new(color.red, 0), linewidth=2, title="Slow EMA")
// Supertrend Line
supertrendColor = direction < 0 ? color.green : color.red
plot(supertrend, color=supertrendColor, linewidth=2, title="Supertrend")
// Buy-Sell Signals
plotshape(longCondition, title="Buy", text="BUY", location=location.belowbar,
color=color.green, style=shape.labelup, size=size.normal, textcolor=color.white)
plotshape(shortCondition, title="Sell", text="SELL", location=location.abovebar,
color=color.red, style=shape.labeldown, size=size.normal, textcolor=color.white)
// =================== STRATEGY EXECUTIONS ===================
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.close("Long")
// =================== INFORMATION TABLE ===================
var table infoTable = table.new(position.bottom_right, 2, 4, bgcolor=color.new(color.black, 90))
// Signal Status
signalText = ""
signalColor = color.white
if (longCondition)
signalText := "BUY SIGNAL"
signalColor := color.green
if (shortCondition)
signalText := "SELL SIGNAL"
signalColor := color.red
// Table Content
table.cell(infoTable, 0, 0, "CURRENT SIGNAL", bgcolor=color.new(color.blue, 90))
table.cell(infoTable, 1, 0, signalText, text_color=signalColor)
table.cell(infoTable, 0, 1, "EMA TREND")
table.cell(infoTable, 1, 1, emaFast > emaSlow ? "UP" : "DOWN",
text_color=emaFast > emaSlow ? color.green : color.red)
table.cell(infoTable, 0, 2, "SUPERTREND")
table.cell(infoTable, 1, 2, direction < 0 ? "UP" : "DOWN",
text_color=direction < 0 ? color.green : color.red)
// Last Trade Information
table.cell(infoTable, 0, 3, "LAST TRADE")
table.cell(infoTable, 1, 3, longCondition ? "BUY" : shortCondition ? "SELL" : "-",
text_color=longCondition ? color.green : shortCondition ? color.red : color.white)