یہ حکمت عملی ایم اے سی ڈی اشارے پر مبنی تجارتی حکمت عملی کا ایک بہتر ورژن ہے۔ یہ ایم اے سی ڈی اشارے کی رجحان کی پیروی کرنے والی خصوصیات کو رفتار کی تجارت کے نظریات کے ساتھ جوڑتا ہے ، تیز اور سست حرکت پذیر اوسط کے مابین اختلافات کا تجزیہ کرکے تجارتی سگنل تیار کرتا ہے۔ دریں اثنا ، حکمت عملی میں حکمت عملی کی استحکام اور منافع میں بہتری لانے کے لئے رجحان کی تصدیق ، سگنل تاخیر کی تصدیق ، مقررہ فیصد اسٹاپ نقصان اور منافع حاصل کرنے جیسے اصلاح کے طریقوں کو بھی متعارف کرایا گیا ہے۔
اس حکمت عملی کا مرکز MACD اشارے ہے ، جس میں فاسٹ موونگ ایوریج (EMA) اور سست موونگ ایوریج (EMA) کے درمیان فرق ہوتا ہے۔ جب فاسٹ EMA سست EMA کو عبور کرتا ہے تو ، یہ خرید یا فروخت کا سگنل تیار کرتا ہے۔ خاص طور پر ، جب MACD لائن نیچے سے اوپر تک سگنل لائن کو توڑتی ہے تو ، یہ خرید کا سگنل تیار کرتی ہے۔ جب MACD لائن اوپر سے نیچے تک سگنل لائن سے نیچے گرتی ہے تو ، یہ فروخت کا سگنل تیار کرتی ہے۔
بنیادی MACD کراس اوور سگنلز کے علاوہ ، اس حکمت عملی میں رجحان کی تصدیق کا طریقہ کار بھی متعارف کرایا گیا ہے۔ یہ اس بات کا تعین کرنے کے لئے سادہ حرکت پذیر اوسط (SMA) کے ساتھ موازنہ کرتا ہے کہ آیا موجودہ مارکیٹ ایک اپ ٹرینڈ یا ڈاؤن ٹرینڈ میں ہے۔ صرف اس وقت جب خرید کا سگنل اپ ٹرینڈ میں ظاہر ہوتا ہے ، یا فروخت کا سگنل ڈاؤن ٹرینڈ میں ظاہر ہوتا ہے ، تب ہی تجارتی آپریشن عمل میں لایا جائے گا۔ اس سے مؤثر طریقے سے دوڑتے ہوئے مارکیٹ میں پیدا ہونے والے جھوٹے سگنل سے بچتا ہے۔
اس کے علاوہ ، حکمت عملی سگنل کی توثیق کے وقت کی ونڈو کو بڑھاتی ہے۔ یعنی ، صرف اس وقت جب موجودہ موم بتی خریدنے یا فروخت کرنے کی شرائط کو پورا کرتی ہے اور پچھلی موم بتی بھی اسی شرائط کو پورا کرتی ہے تو ، اسی ٹرانزیکشن پر عمل درآمد کیا جائے گا۔ اس سے سگنلز کی وشوسنییتا میں مزید بہتری آتی ہے۔
آخر میں ، حکمت عملی مقررہ فیصد اسٹاپ نقصان اور منافع حاصل کرنے کی سطح طے کرتی ہے۔ ایک بار جب کوئی تجارت انجام دی جاتی ہے تو ، اسٹاپ نقصان اور منافع حاصل کرنے کی قیمتوں کا حساب اندراج کی قیمت کی بنیاد پر کیا جائے گا ، اور جب یہ قیمتیں پہنچ جاتی ہیں تو پوزیشن خود بخود بند ہوجائے گی۔ اس سے ایک ہی لین دین کے خطرے اور واپسی پر قابو پانے میں مدد ملتی ہے۔
یہ حکمت عملی ایم اے سی ڈی اشارے پر مبنی ایک بہتر تجارتی حکمت عملی ہے۔ رجحان کی توثیق ، سگنل تاخیر کی توثیق ، فکسڈ اسٹاپ نقصان اور منافع حاصل کرنے ، اور دیگر طریقوں کے ذریعے ، یہ حکمت عملی کی استحکام اور منافع کی صلاحیت کو بہتر بناتا ہے۔ تاہم ، اس میں پیرامیٹر کی اصلاح ، رجحان کی شناخت ، واحد اشارے ، بیک ٹیسٹنگ کے اعداد و شمار اور دیگر پہلوؤں میں بھی خطرات کا سامنا کرنا پڑتا ہے۔ مستقبل میں ، ہم اس حکمت عملی کو دوسرے اشارے ، متحرک اسٹاپ نقصان اور منافع حاصل کرنے ، پوزیشن مینجمنٹ ، اور مشین لرننگ کو ضم کرنے جیسے پہلوؤں سے بہتر بنانے پر غور کرسکتے ہیں تاکہ اس کے عملی اطلاق کے اثر کو مزید بہتر بنایا جاسکے۔
/*backtest start: 2023-05-08 00:00:00 end: 2024-05-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © sligetit //@version=5 strategy("Improved MACD_VXI Strategy", overlay=true) // Calculate MACD and Signal Line fastLength = input.int(13, title="Fast Length") slowLength = input.int(21, title="Slow Length") signalLength = input.int(8, title="Signal Length") fastMA = ta.ema(close, fastLength) slowMA = ta.ema(close, slowLength) macd = fastMA - slowMA signal = ta.sma(macd, signalLength) // Plot MACD and Signal Line plot(macd, color=color.red, linewidth=1) plot(signal, color=color.blue, linewidth=2) // Calculate Cross Signals with Trend Confirmation smaPeriod = input.int(50, title="SMA Period") sma = ta.sma(close, smaPeriod) trendUp = close > sma trendDown = close < sma crossOver = ta.crossover(signal, macd) crossUnder = ta.crossunder(signal, macd) buySignal = crossOver and trendUp sellSignal = crossUnder and trendDown // Execute Buy/Sell Operations if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.entry("Sell", strategy.short) // Extend Signal Confirmation Time Window longSignal = crossOver[1] and trendUp[1] shortSignal = crossUnder[1] and trendDown[1] if longSignal strategy.entry("Buy", strategy.long) if shortSignal strategy.entry("Sell", strategy.short) // Set Fixed Percentage Stop Loss and Take Profit stopLossPercent = input.float(1, title="Stop Loss (%)") / 100 takeProfitPercent = input.float(2, title="Take Profit (%)") / 100 stopLossPrice = strategy.position_avg_price * (1 - stopLossPercent) takeProfitPrice = strategy.position_avg_price * (1 + takeProfitPercent) strategy.exit("Stop Loss/Profit", "Buy", stop=stopLossPrice, limit=takeProfitPrice) strategy.exit("Stop Loss/Profit", "Sell", stop=stopLossPrice, limit=takeProfitPrice)