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