
یہ حکمت عملی ایک مقداری تجارتی نظام ہے جس میں انڈیکس منتقل اوسط (EMA) اور منتقل اوسط رجحان / انحراف (MACD) اشارے شامل ہیں۔ مختصر اور طویل EMA کے کراس سگنل کو مربوط کرکے ، اور MACD کی نقل و حرکت کی تصدیق کرکے ، یہ تاجروں کو ایک جامع رجحان سے باخبر رہنے کا حل فراہم کرتا ہے۔ اس حکمت عملی میں متحرک اسٹاپ اور اسٹاپ میکانزم بھی شامل ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتے ہوئے منافع کو زیادہ سے زیادہ کرنے کی کوشش کرتا ہے۔
حکمت عملی کی بنیادی منطق دو تکنیکی اشارے کے ہم آہنگی پر مبنی ہے۔ پہلے ، مارکیٹ کے رجحانات کی نشاندہی کرنے کے لئے 12 سائیکل اور 26 سائیکل ای ایم اے کا استعمال کیا جاتا ہے ، جب طویل مدتی ای ایم اے پر مختصر مدت کے ای ایم اے کے ذریعے جانے پر ایک کثیر سگنل پیدا ہوتا ہے ، اور نیچے جانے پر ایک خالی سگنل پیدا ہوتا ہے۔ دوسرا ، رجحان کی حرکیات کی تصدیق کے لئے MACD اشارے ((12 ، 26 ، 9 سیٹ اپ) کا استعمال کرتے ہوئے ، MACD لائنوں اور لائنوں کے سگنل کے مقام کے تعلقات کو ای ایم اے کے ذریعہ تیار کردہ تجارتی سگنل کی حمایت کرنے کی ضرورت ہوتی ہے۔ نظام کو متحرک اسٹاپ نقصان ((ڈیفالٹ 2٪) اور اسٹاپ ڈیفالٹ (ڈیفالٹ 5٪) کے لئے فی صد کی شکل میں ترتیب دیا گیا ہے ، اور ای ایم اے کراسنگ یا MACD ریٹرنس وقت میں اضافی پوزیشن سگنل کو متحرک کرتا ہے۔
یہ ایک ڈیزائن کردہ ، معقول ، منطقی اور واضح رجحان کی پیروی کرنے والی حکمت عملی ہے۔ حکمت عملی کو سادہ اور سمجھنے میں آسان رکھنے کے ساتھ ، ای ایم اے اور ایم اے سی ڈی کے فوائد کو یکجا کرکے ، زیادہ قابل اعتماد تجارتی سگنل جنریٹر کو حاصل کیا گیا ہے۔ حکمت عملی کی تخصیص پذیری مضبوط ہے ، رسک مینجمنٹ کا طریقہ کار بہتر ہے ، اور درمیانی اور طویل مدتی رجحانات کی تجارت کے لئے بنیادی فریم ورک کے طور پر موزوں ہے۔ اس سے پہلے کہ وہ عملی طور پر استعمال ہوں ، تاجروں کو مشورہ دیا جاتا ہے کہ وہ پیرامیٹرز کی ترتیب کو اچھی طرح سے جانچیں اور مخصوص تجارتی اقسام اور مارکیٹ کے ماحول کے مطابق ہدف کے مطابق اصلاح کریں۔
/*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")