
یہ ایک ٹریڈنگ حکمت عملی ہے جو ڈبل مساوی لائن سسٹم ((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)