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