
یہ حکمت عملی ایک ٹریڈنگ سسٹم ہے جس میں رجحانات کی پیروی کی جاتی ہے جس میں ایک سے زیادہ اشاریہ حرکت پذیر اوسط ((EMA) اور حقیقی طول و عرض کا اشارے ((ATR) پر مبنی ہے۔ حکمت عملی رجحانات کی سمت کی تصدیق کرنے کے لئے متعدد مساوی لائنوں کی صف بندی کی شکل کا فیصلہ کرتی ہے ، بڑھتے ہوئے رجحانات میں واپسی کے خریدنے کے مواقع تلاش کرتی ہے ، اور اے ٹی آر کو متحرک طور پر روکنے اور منافع بخش اہداف کا استعمال کرتی ہے۔ اس طریقہ کار سے رجحانات کی پیروی کی استحکام کو یقینی بنایا جاتا ہے اور اے ٹی آر کے ذریعہ مارکیٹ میں اتار چڑھاؤ کی متحرک موافقت کو بھی حاصل کیا جاتا ہے۔
حکمت عملی کی بنیادی منطق میں درج ذیل کلیدی عناصر شامل ہیں:
یہ ایک ساختہ ، منطقی طور پر سخت رجحانات کی پیروی کرنے والی حکمت عملی ہے۔ ایک سے زیادہ میڈین لائن کی تصدیق ، واپسی میں داخلہ اور اے ٹی آر متحرک خطرے کے انتظام کا مجموعہ حکمت عملی کی استحکام کو یقینی بناتا ہے ، لیکن اس میں اچھی طرح سے موافقت بھی ہے۔ اگرچہ کچھ موروثی خطرات موجود ہیں ، لیکن تجویز کردہ اصلاح کی سمت سے حکمت عملی کی استحکام اور منافع بخش صلاحیت میں مزید اضافہ کیا جاسکتا ہے۔ یہ حکمت عملی خاص طور پر درمیانی اور طویل مدتی رجحانات کی پیروی کے لئے موزوں ہے ، اور رجحانات کی منڈیوں میں مستحکم منافع کی توقع کرنے والے تاجروں کے لئے ایک اچھا انتخاب ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover and ATR Target Strategy", overlay=true)
// Input parameters
emaShortLength = 20
emaMidLength1 = 50
emaMidLength2 = 100
emaLongLength = 200
atrLength = 14
// Calculate EMAs
ema20 = ta.ema(close, emaShortLength)
ema50 = ta.ema(close, emaMidLength1)
ema100 = ta.ema(close, emaMidLength2)
ema200 = ta.ema(close, emaLongLength)
ema21 = ta.ema(close, 21)
// Calculate ATR
atr = ta.atr(atrLength)
// Conditions for the strategy
emaCondition = ema20 > ema50 and ema50 > ema100 and ema100 > ema200
pullbackCondition = close <= ema21 and close >= ema50 //and close >= ema21 * 0.99 // Near 21 EMA (within 1%)
// Initialize variables for stop loss and take profitss
var float stopLossLevel = na
var float takeProfitLevel = na
// Check conditions on each bar close
if (bar_index > 0) // Ensures there is data to check
if emaCondition and pullbackCondition and strategy.position_size == 0 // Only buy if no open position
stopLossLevel := close - (1.5 * atr) // Set stop loss based on ATR at buy price
takeProfitLevel := close + (3.5 * atr) // Set take profit based on ATR at buy price
strategy.entry("Buy", strategy.long)
// Set stop loss and take profit for the active trade
if strategy.position_size > 0
strategy.exit("Take Profit", from_entry="Buy", limit=takeProfitLevel, stop=stopLossLevel)
// Plot EMAs for visualizationn
plot(ema20, color=color.blue, title="20 EMA")
plot(ema50, color=color.red, title="50 EMA")
plot(ema100, color=color.green, title="100 EMA")
plot(ema200, color=color.orange, title="200 EMA")
plot(ema21, color=color.purple, title="21 EMA")