
حکمت عملی ایک تجارتی نظام ہے جو ایکسپونینشل موونگ ایوریج (EMA) کراس اوور پر مبنی ہے، جو کہ اوسط ٹرو رینج (ATR) کے ساتھ مل کر متحرک رسک مینجمنٹ کو حاصل کرتی ہے۔ حکمت عملی قیمتوں کے رجحانات میں رفتار کی تبدیلیوں کو پکڑنے کے لیے قلیل مدتی اور طویل مدتی EMA لائنوں کا استعمال کرتی ہے، اور تجارتی خطرات پر درست کنٹرول حاصل کرنے کے لیے متحرک طور پر ٹیک-پرافٹ اور سٹاپ-لاس پوزیشنز کو سیٹ کرنے کے لیے ATR کا استعمال کرتی ہے۔
حکمت عملی کی بنیادی منطق مختلف ادوار (9 اور 21) کے دو ایکسپونیشنل حرکت پذیر اوسط کے کراس اوور سگنلز پر مبنی ہے۔ جب قلیل مدتی EMA طویل مدتی EMA کو اوپر کی طرف کراس کرتا ہے، ایک طویل سگنل پیدا ہوتا ہے؛ جب مختصر مدت EMA طویل مدتی EMA کو نیچے کی طرف کراس کرتا ہے، ایک مختصر سگنل پیدا ہوتا ہے۔ خطرات کو بہتر طریقے سے منظم کرنے کے لیے، حکمت عملی 14 مدت کے ATR پر مبنی ایک متحرک سٹاپ-پرافٹ اور سٹاپ-لاس میکانزم کو متعارف کراتی ہے، ٹیک-پرافٹ لیول 2 گنا ATR پر سیٹ کیا گیا ہے، اور سٹاپ-لاس کی سطح 1 گنا پر سیٹ کی گئی ہے۔ ATR یہ ترتیب کافی منافع کی جگہ کو یقینی بناتی ہے، اور وقت پر خطرات کو کنٹرول کر سکتی ہے۔
یہ حکمت عملی کلاسک EMA کراس اوور سسٹم اور متحرک ATR رسک مینجمنٹ کو ملا کر ایک نسبتاً مکمل تجارتی نظام کا ادراک کرتی ہے۔ حکمت عملی کے اہم فوائد اس کی متحرک رسک مینجمنٹ کی صلاحیتیں اور اچھے رجحان کی پیروی کرنے والی خصوصیات ہیں۔ تجویز کردہ اصلاحی ہدایات کے ذریعے، حکمت عملی میں مزید بہتری کی گنجائش باقی ہے۔ جب ریئل ٹائم میں لاگو کیا جاتا ہے، تو یہ سفارش کی جاتی ہے کہ کافی بیک ٹیسٹنگ اور پیرامیٹر کی اصلاح کریں، اور مارکیٹ کی مخصوص خصوصیات کی بنیاد پر مناسب ایڈجسٹمنٹ کریں۔
/*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("Improved EMA Crossover Strategy", overlay=true)
// User-defined inputs for EMAs
shortTermLength = input(9, title="Short-Term EMA Length")
longTermLength = input(21, title="Long-Term EMA Length")
// Dynamic Take Profit and Stop Loss
atrLength = input(14, title="ATR Length")
atrMultiplierTP = input(2.0, title="ATR Multiplier for Take Profit")
atrMultiplierSL = input(1.0, title="ATR Multiplier for Stop Loss")
// Calculate EMAs and ATR
shortTermEMA = ta.ema(close, shortTermLength)
longTermEMA = ta.ema(close, longTermLength)
atr = ta.atr(atrLength)
// Plot the EMAs
plot(shortTermEMA, color=color.blue, title="Short-Term EMA")
plot(longTermEMA, color=color.red, title="Long-Term EMA")
// Generate Entry Conditions
longCondition = ta.crossover(shortTermEMA, longTermEMA)
shortCondition = ta.crossunder(shortTermEMA, longTermEMA)
// Optional Debugging: Print conditions (you can remove this later)
var label longLabel = na
var label shortLabel = na
if longCondition
longLabel := label.new(bar_index, high, "Buy Signal", color=color.green, style=label.style_label_down, textcolor=color.white)
if shortCondition
shortLabel := label.new(bar_index, low, "Sell Signal", color=color.red, style=label.style_label_up, textcolor=color.white)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", limit=close + atr * atrMultiplierTP, stop=close - atr * atrMultiplierSL)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", limit=close - atr * atrMultiplierTP, stop=close + atr * atrMultiplierSL)