
MACD - سپر ٹرینڈ فیوژن ٹرینڈ ٹریکنگ سسٹم ایک مقداری تجارتی حکمت عملی ہے جو مارکیٹ کے رجحانات کی نشاندہی اور ان کا سراغ لگانے کے لئے ڈیزائن کیا گیا ہے جس میں دو طاقتور تکنیکی اشارے شامل ہیں۔ اس حکمت عملی نے ایک جامع تجارتی نظام تشکیل دینے کے لئے متحرک اوسط کے متغیرات ((MACD) کی متحرک خصوصیات کو سپر ٹرینڈ اشارے کی رجحانات کی نگرانی کی صلاحیت کے ساتھ ملایا ہے۔ اس حکمت عملی کا مقصد قیمت کی نقل و حرکت اور رجحان کی سمت کو ایک ساتھ مدنظر رکھتے ہوئے مضبوط رجحاناتی تبدیلیوں کو پکڑنا ہے ، جبکہ ممکنہ جعلی سگنل کو فلٹر کرنا ہے۔ یہ نظام کثیر جہتی تجارت کی حمایت کرتا ہے ((کثیر جہتی ، خالی یا دونوں) ، اور پیرامیٹرز کو ایڈجسٹ کرنے کے لچکدار اختیارات فراہم کرتا ہے ، جس سے تاجر مختلف مارکیٹ کے ماحول اور ذاتی خطرے کے مطابق ترجیحات کو ترجیح دے سکتا ہے۔
اس حکمت عملی کی بنیادی منطق دو اہم تکنیکی اشارے کے تعاون پر مبنی ہے:
سپر ٹرینڈ اشارے: یہ ایک ATR (حقیقی طول موج) پر مبنی رجحان سے باخبر رہنے کا اشارے ہے جو موجودہ رجحان کو ظاہر کرنے کے لئے قیمت کے چارٹ پر نقشہ تیار کیا جاسکتا ہے۔ جب سپر ٹرینڈ لائن قیمت کے نیچے ہوتی ہے تو ، اس کا اشارہ ہوتا ہے۔ جب سپر ٹرینڈ لائن قیمت کے اوپر ہوتی ہے تو ، اس کا اشارہ ہوتا ہے۔ کوڈ میں سپر ٹرینڈ صارف کی وضاحت کردہ اے ٹی آر (ڈیفالٹ سائیکل 10) اور ضرب عنصر (ڈیفالٹ 3.0) کا استعمال کرتے ہوئے حساب کیا جاتا ہے۔
MACD اشارے: حرکت پذیر اوسط قریب سے پھیلاؤ کی پیمائش کی پیمائش کی جاتی ہے جس میں قیمتوں کی نقل و حرکت کی پیمائش کی جاتی ہے جس میں دو حرکت پذیر اوسط کے مابین فرق کا حساب لگایا جاتا ہے۔ اس حکمت عملی سے صارفین کو MACD کی حرکت پذیری اوسط کی قسم (SMA یا EMA) اور پیرامیٹرز (فاسٹ لائن ، سست لائن اور سگنل لائن) کا حساب لگانے کا انتخاب کرنے کی اجازت ملتی ہے۔
اس حکمت عملی کے اہم فیصلوں کی منطق یہ ہے:
اس حکمت عملی میں “صرف سپر ٹرینڈ” آپشن ((صرف ایس ٹی پیرامیٹرز) بھی پیش کیا گیا ہے ، جس کے فعال ہونے پر صرف سپر ٹرینڈ سگنل پر انحصار کیا جائے گا اور ایم اے سی ڈی اشارے کے اثرات کو نظرانداز کیا جائے گا۔
دوہری تصدیق: سپر ٹرینڈ ٹرینڈ کی تصدیق اور MACD حرکیات کی تصدیق کے ساتھ مل کر ، اس حکمت عملی سے جعلی سگنل کا خطرہ کم ہوتا ہے اور تجارت کے معیار میں اضافہ ہوتا ہے۔ اس دوہری فلٹرنگ کے طریقہ کار سے بازاروں کو صاف کرنے میں نقصان دہ تجارت کو مؤثر طریقے سے کم کیا جاسکتا ہے۔
لچکدار: حکمت عملی کے پیرامیٹرز انتہائی حسب ضرورت ہیں ، بشمول تجارت کی سمت ، اشارے کی قسم اور دورانیہ کی ترتیب ، جس سے یہ مارکیٹ کے مختلف ماحول اور تجارتی طرز کے مطابق ہوجاتا ہے۔ مثال کے طور پر ، تاجر صرف کثیر تجارت یا خالی تجارت انجام دینے کا انتخاب کرسکتے ہیں ، یا مارکیٹ کی خصوصیات کے مطابق سپر ٹرینڈ کی حساسیت کو ایڈجسٹ کرسکتے ہیں۔
واضح رجحانات کی نمائشسپر ٹرینڈ اشارے براہ راست قیمتوں کے چارٹ پر تیار کیے جاتے ہیں ، جس سے تاجر کو رجحان کی سمت اور ممکنہ معاونت / مزاحمت والے علاقوں کی بصری شناخت کرنے کی اجازت ملتی ہے۔ حکمت عملی بصری اثر کو بڑھانے کے لئے رنگ بھرنے کا استعمال کرتی ہے ، سبز علاقوں میں اضافہ ہوتا ہے ، سرخ علاقوں میں کمی ہوتی ہے۔
بلٹ ان رسک مینجمنٹاس حکمت عملی میں سست ای ایم اے کو ممکنہ اسٹاپ نقصان کے حوالہ کے طور پر استعمال کیا جاتا ہے ، جس سے ہر تجارت کے لئے واضح باہر نکلنے کی حکمت عملی فراہم کی جاتی ہے۔ اس طریقہ کار سے ہر تجارت کے خطرے کے دروازے کو کنٹرول کرنے میں مدد ملتی ہے ، اور سرمایہ کی حفاظت ہوتی ہے۔
لچکدار نفاذ کے اختیاراتحکمت عملی “مکمل موڈ” ((MACD اور سپر ٹرینڈ کے ساتھ مل کر) یا “آسان موڈ” ((صرف سپر ٹرینڈ کا استعمال کرتے ہوئے) کے تحت چل سکتی ہے ، جس سے تاجر کو مارکیٹ کے حالات کے مطابق حکمت عملی کی پیچیدگی کو ایڈجسٹ کرنے کی اجازت ملتی ہے۔
رجحان کا الٹ جانا: ایک رجحان سے باخبر رہنے والا نظام کی حیثیت سے ، یہ حکمت عملی مارکیٹ میں تیزی سے الٹ جانے پر سست رد عمل کا مظاہرہ کرسکتی ہے ، جس سے واپسی میں اضافہ ہوتا ہے۔ خاص طور پر انتہائی اتار چڑھاؤ والے ماحول میں ، دونوں سپر ٹرینڈ اور ایم اے سی ڈی اشارے بروقت رجحان میں تبدیلی کو پکڑنے میں ناکام ہوسکتے ہیں ، اور اس طرح بہترین باہر نکلنے کی جگہ سے محروم ہوجاتے ہیں۔
مجموعی طور پر مارکیٹ کی خراب کارکردگیاس حکمت عملی سے اکثر غلط سگنل پیدا ہوسکتے ہیں ، جس کی وجہ سے چھوٹے نقصان دہ تجارت کا سلسلہ ہوتا ہے۔ اگرچہ ڈبل تصدیق کا طریقہ کار اس مسئلے کو کم کرسکتا ہے ، لیکن اس کو مکمل طور پر ختم نہیں کرسکتا ہے۔
پیرامیٹر انحصار: حکمت عملی کی کارکردگی انتہائی منتخب کردہ پیرامیٹرز پر منحصر ہے۔ غلط پیرامیٹرز کی ترتیب سے زیادہ سے زیادہ اصلاح یا کسی خاص مارکیٹ کے حالات کے لئے زیادہ سے زیادہ فٹ ہونے کا سبب بن سکتا ہے ، جس سے مختلف مارکیٹ کے ماحول میں حکمت عملی کا اطلاق کم ہوجاتا ہے۔
سگنل تصادم کا خطرہ: بعض مارکیٹ کے حالات میں ، سپر ٹرینڈ اور میکڈ متضاد سگنل فراہم کرسکتے ہیں ، جس سے تجارتی فیصلے میں دشواری یا تاخیر ہوسکتی ہے۔ مثال کے طور پر ، سپر ٹرینڈ ایک رجحان کی طرف اشارہ کرسکتا ہے ، جبکہ میکڈ کم رفتار کی نشاندہی کرسکتا ہے۔
فکسڈ پیرامیٹرز کی حدود: حکمت عملی مارکیٹ کے حالات کے مطابق متحرک طور پر ایڈجسٹ کرنے کے بجائے فکسڈ اشارے پیرامیٹرز کا استعمال کرتی ہے ، جس سے مارکیٹ میں زیادہ اتار چڑھاؤ والی تبدیلیوں میں اس کی موافقت محدود ہوسکتی ہے۔
متحرک پیرامیٹرز ایڈجسٹمنٹ: مارکیٹ میں اتار چڑھاؤ یا دیگر مارکیٹ کی خصوصیات پر مبنی پیرامیٹرز کو اپنانے کا طریقہ کار۔ مثال کے طور پر ، اعلی اتار چڑھاؤ والے ماحول میں سپر ٹرینڈ کے اے ٹی آر کی ضرب کو بڑھایا جاسکتا ہے ، اور کم اتار چڑھاؤ والے ماحول میں اس ضرب کو کم کیا جاسکتا ہے ، تاکہ مارکیٹ کے مختلف حالات کو بہتر طور پر ڈھال سکے۔
فلٹر شامل کریں: اضافی فلٹرز متعارف کروائیں تاکہ جعلی سگنل کو کم کیا جاسکے ، جیسے ٹریڈنگ ٹائم فلٹر ، تجارتی حجم کی تصدیق یا اتار چڑھاؤ کا فلٹر۔ مثال کے طور پر ، ADX ((اوسط سمت اشاریہ) شامل کیا جاسکتا ہے تاکہ یہ یقینی بنایا جاسکے کہ صرف مضبوط رجحان کی منڈیوں میں ہی تجارت کی جائے۔
آپٹ آؤٹ حکمت عملی کو بہتر بنائیں: زیادہ پیچیدہ باہر نکلنے کے طریقہ کار تیار کریں ، جیسے تعاقب بند ، جزوی منافع کو لاک کرنا ، یا متحرک طور پر اتار چڑھاؤ پر مبنی بندش۔ اس سے زیادہ تر رجحان منافع کو برقرار رکھتے ہوئے ، خطرے کو بہتر طور پر سنبھالنے میں مدد مل سکتی ہے۔
ٹائم فریم تجزیہ: کثیر ٹائم فریم تجزیہ کو لاگو کریں تاکہ تجارت کی سمت اعلی ٹائم فریموں کے رجحانات کے مطابق ہو۔ اس سے اعلی ٹائم فریموں کے رجحانات کی تصدیق کو شامل کرکے منفی تجارت کو کم کیا جاسکتا ہے۔
مشین لرننگ انٹیگریشن: مشین لرننگ الگورتھم کا استعمال کرتے ہوئے حکمت عملی کے پیرامیٹرز کو بہتر بنانے یا اس حکمت عملی کے لئے سب سے موزوں مارکیٹ کے حالات کی نشاندہی کرنے کی تلاش کریں۔ یہ تاریخی اعداد و شمار کا تجزیہ کرکے پیرامیٹرز اور مارکیٹ کے حالات کے مابین تعلقات کی نشاندہی کرسکتا ہے ، جس سے حکمت عملی کی موافقت میں اضافہ ہوتا ہے۔
خطرے کے انتظام میں بہتری: مارکیٹ میں اتار چڑھاؤ ، اکاؤنٹ کے سائز اور ذاتی خطرے کی ترجیحات کی بنیاد پر پوزیشن کے سائز کا زیادہ نفیس انتظام ممکن ہے۔ اس سے اے ٹی آر یا دیگر اتار چڑھاؤ کی پیمائش کے ذریعہ پوزیشن کے سائز کو متحرک طور پر ایڈجسٹ کیا جاسکتا ہے ، تاکہ خطرے کی سطح مستقل رہے۔
MACD - سپر ٹرینڈ فیوژن ٹرینڈ ٹریکنگ ٹریڈنگ سسٹم ایک متوازن اور جامع مقداری تجارتی طریقہ کار کی نمائندگی کرتا ہے ، جس میں رجحان کی شناخت اور حرکیات کی تصدیق شامل ہے۔ سپر ٹرینڈ کی رجحان سے باخبر رہنے کی صلاحیت اور MACD کی حرکیات کا تجزیہ ملا کر ، یہ حکمت عملی ایک مضبوط فریم ورک مہیا کرتی ہے جس میں مسلسل رجحان کی نقل و حرکت کو پکڑنے کے لئے استعمال کیا جاتا ہے۔
اس حکمت عملی کا بنیادی فائدہ اس کی دوہری تصدیق کے طریقہ کار اور اعلی تخصیص ہے جو اسے مختلف مارکیٹ کے ماحول اور تجارتی طرز کے لئے موزوں بناتا ہے۔ تاہم ، ایک رجحان سے باخبر رہنے والا نظام ہونے کے ناطے ، یہ مارکیٹوں میں خراب کارکردگی کا مظاہرہ کرسکتا ہے اور جب رجحان الٹ جاتا ہے تو اس کا رد عمل تاخیر کا شکار ہوسکتا ہے۔
اس حکمت عملی کو بہتر بنانے کے ل traders ، تاجر متحرک پیرامیٹرز کی ایڈجسٹمنٹ ، اضافی فلٹرنگ میکانزم ، بہتر خارجی حکمت عملی اور کثیر ٹائم فریم تجزیہ کو نافذ کرنے پر غور کرسکتے ہیں۔ یہ اصلاحات حکمت عملی کی استحکام اور موافقت کو بڑھا سکتی ہیں ، جس سے یہ مارکیٹ کے مختلف حالات میں زیادہ موثر ہوسکتی ہے۔
مجموعی طور پر ، MACD-SuperTrend انضمام رجحان ٹریکنگ ٹریڈنگ سسٹم رجحانات کی شناخت اور تجارت کے لئے ایک مضبوط بنیاد فراہم کرتا ہے ، جو ان تاجروں کے لئے موزوں ہے جو اہم مارکیٹ کے رجحانات پر توجہ مرکوز کرتے ہیں اور اس سے فائدہ اٹھانا چاہتے ہیں۔ مناسب خطرے کے انتظام اور مسلسل اصلاح کے ساتھ ، یہ حکمت عملی تاجروں کے ٹول کٹ میں ایک قیمتی اثاثہ بن سکتی ہے۔
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 4d
basePeriod: 4d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TTFT - Strategy", overlay=true)
// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])
onlyST = input.string("No", "Use ST Only?", options=["Yes", "No"])
period = input.string("LOW", "TF Period", options=["HIGH", "LOW"])
algo = input.string("ttft", "Algo Name")
instrument = input.string("", "Instrument")
// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])
// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
slow_ema = ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal
// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)
// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
bool isBullish = false
bool exitLong= false
bool isBearish = false
bool exitShort= false
if(onlyST == 'No')
// Combined Conditions
isBullish := direction1 < 0 and hist > 0
isBearish := direction1 > 0 and hist < 0
exitLong := direction1 > 0 or ta.crossunder(close, slow_ema)
exitShort := direction1 < 0 or ta.crossover(close, slow_ema)
else
isBullish := direction1 < 0
isBearish := direction1 > 0
exitLong := direction1 > 0
exitShort := direction1 < 0
if(instrument == "")
instrument := syminfo.ticker
// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long") and isBullish
strategy.entry("Buy", strategy.long, comment="L", alert_message="{\"source\": \"TV\", \"stopLoss\": \""+str.tostring(slow_ema)+"\",\"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"L\",\"Signal\": \"buy\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "long") and exitLong
strategy.close("Buy", comment="LE", alert_message = "{\"source\": \"TV\", \"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"LE\",\"Signal\": \"sell\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "short") and isBearish
strategy.entry("Sell", strategy.short, comment="S", alert_message = "{\"source\": \"TV\", \"stopLoss\": \""+str.tostring(slow_ema)+"\",\"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"S\",\"Signal\": \"sell\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
if (tradeDirection == "both" or tradeDirection == "short") and exitShort
strategy.close("Sell", comment="SE", alert_message = "{\"source\": \"TV\", \"Period\": \""+period+"\",\"Algo\": \""+algo+"\",\"Open\": \""+str.tostring(open)+"\",\"High\": \""+str.tostring(high)+"\",\"Low\": \""+str.tostring(low)+"\",\"Close\": \""+str.tostring(close)+"\",\"Status\": \"SE\",\"Signal\": \"buy\",\"Indicator\": \"TTFT\",\"Instrument\": \""+instrument+"\"}")
bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)
fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)