
یہ حکمت عملی ایک رجحان ٹریڈنگ سسٹم ہے جس میں انڈیکس کی چلتی اوسط ((EMA) اور حقیقی اتار چڑھاؤ کی بنیاد پر اسٹاپ کا طریقہ کار ((ATR) شامل ہے۔ حکمت عملی مارکیٹ کے رجحانات کی نشاندہی کرنے کے لئے 9 اور 21 دوروں کے ای ایم اے کا استعمال کرتی ہے ، جبکہ اے ٹی آر کا استعمال کرتے ہوئے اسٹاپ کی پوزیشن کو متحرک طور پر ایڈجسٹ کرتی ہے ، جس میں رجحان سے باخبر رہنے اور خطرے کے کنٹرول کا ایک نامیاتی امتزاج ہوتا ہے۔
حکمت عملی کے بنیادی منطق میں دو اہم حصے شامل ہیں: رجحان کا فیصلہ اور خطرے کا کنٹرول۔ رجحان کا فیصلہ کرنے کے معاملے میں ، تیز EMA ((9 سائیکل) اور سست EMA ((21 سائیکل) کے کراس کی نگرانی کرکے مارکیٹ کے رجحان کا تعین کیا جاتا ہے۔ جب تیز لائن پر سست لائن عبور ہوتی ہے تو ، ایک کثیر سگنل کو متحرک کیا جاتا ہے۔ جب تیز لائن کے نیچے سست لائن عبور ہوتی ہے تو ، ایک خالی سگنل کو متحرک کیا جاتا ہے۔
اس حکمت عملی میں ایک مکمل رجحان ٹریڈنگ ٹریڈنگ سسٹم کی تعمیر کے لئے مساوی لائن کراس ٹریڈنگ اور اے ٹی آر متحرک اسٹاپس کا استعمال کیا گیا ہے۔ اس حکمت عملی کا فائدہ معیاری مقصد اور خطرے کے کنٹرول کی لچک کا اندازہ لگانا ہے ، لیکن اس میں ہلچل مارکیٹ کے خطرات اور سگنل کی تاخیر سے متعلق مسائل پر بھی توجہ دینے کی ضرورت ہے۔ اس حکمت عملی میں بہتری کی گنجائش ہے جس میں رجحان کی طاقت کی تصدیق ، اسٹاپس کی ترتیب کو بہتر بنانے وغیرہ کو شامل کیا گیا ہے۔ مجموعی طور پر ، یہ ایک مضبوط ، منطقی اور واضح رجحان ٹریڈنگ حکمت عملی ہے ، جو زیادہ پیچیدہ تجارتی نظام کی بنیاد کے لئے تعاون کے لئے موزوں ہے۔
/*backtest
start: 2024-02-20 00:00:00
end: 2024-05-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=5
strategy("EMA 9/21 + ATR SL Strategy", shorttitle="EMA+ATR", overlay=true)
// ===== Input Parameters ===== //
emaFastLen = input.int(9, "Fast EMA")
emaSlowLen = input.int(21, "Slow EMA")
atrLen = input.int(14, "ATR Length")
atrMult = input.float(1.5, "ATR Multiplier")
// ===== EMA Calculation ===== //
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
// ===== ATR Calculation ===== //
atrValue = ta.atr(atrLen)
// ===== Conditions for Entry ===== //
longCondition = ta.crossover(emaFast, emaSlow) // Long when 9 EMA crosses above 21 EMA
shortCondition = ta.crossunder(emaFast, emaSlow) // Short when 9 EMA crosses below 21 EMA
// ===== Entry Commands ===== //
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
// ===== Set Stop-Loss Using ATR ===== //
//
// For LONG: stop-loss = entry price - (atrMult * ATR)
// For SHORT: stop-loss = entry price + (atrMult * ATR)
//
// Note: You can adjust the atrMult values based on market volatility
//
if strategy.position_size > 0
// If holding LONG, define stop-loss below the entry price
strategy.exit("Exit Long", "Long", stop = strategy.position_avg_price - atrMult * atrValue)
if strategy.position_size < 0
// If holding SHORT, define stop-loss above the entry price
strategy.exit("Exit Short", "Short", stop = strategy.position_avg_price + atrMult * atrValue)