
ایک کثیر سگنل مجموعہ خود کو اپنانے والی تجارتی حکمت عملی ایک جامع مقداری تجارتی نظام ہے جو تجارتی سگنل پیدا کرنے کے لئے متعدد تکنیکی تجزیہ اشارے کو جوڑتی ہے۔ یہ حکمت عملی بنیادی طور پر ای ایم اے کراس ، آر ایس آئی اووربائ اور ایم اے سی ڈی اشارے کے تین بنیادی تکنیکی اشارے کا استعمال کرتی ہے ، اور اس میں ایک مکمل تجارتی نظام تشکیل دیا گیا ہے جس میں ایک ٹریڈ حجم فلٹر اور اعلی ٹائم فریم کی توثیق کا طریقہ کار شامل ہے۔ اس حکمت عملی میں خطرے کے انتظام کا ماڈیول بھی شامل ہے ، جس میں مقررہ فیصد اسٹاپ نقصان ، اسٹاپ اسٹاپ اور اے ٹی آر ٹریکنگ اسٹاپ نقصان کا استعمال کیا جاتا ہے ، جو ہر تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کرسکتا ہے۔
اس حکمت عملی کا بنیادی اصول یہ ہے کہ متعدد تجارتی سگنل کے مجموعے کے ذریعہ تجارتی فیصلوں کی درستگی کو بہتر بنایا جائے۔ اس کا عملی مظاہرہ مندرجہ ذیل ہے:
EMA کراس سگنل: رجحان کی تبدیلی کی نشاندہی کرنے کے لئے فاسٹ ای ایم اے (ڈیفالٹ 9 سائیکل) اور سست ای ایم اے (ڈیفالٹ 21 سائیکل) کے کراس کا استعمال کریں۔ جب فاسٹ ای ایم اے پر سست ای ایم اے سے گزرتا ہے تو خریدنے کا اشارہ ہوتا ہے ، اور جب فاسٹ ای ایم اے کے نیچے سست ای ایم اے سے گزرتا ہے تو فروخت کا اشارہ ہوتا ہے۔
RSI اوورلوڈ اوور سیل سگنل: نسبتا strong مضبوط اشارے ((آر ایس آئی) کا استعمال کرتے ہوئے مارکیٹ میں اوورلوڈ اوور سیل کی حیثیت کی نشاندہی کریں۔ جب آر ایس آئی 30 ((ڈیفالٹ) سے کم ہے تو اسے اوورلوڈ سمجھا جاتا ہے ، خریدنے کا اشارہ پیدا ہوتا ہے۔ جب آر ایس آئی 70 ((ڈیفالٹ) سے زیادہ ہے تو اسے اوورلوڈ سمجھا جاتا ہے ، فروخت کا اشارہ پیدا ہوتا ہے۔
MACD سگنل: MACD اشارے کی مین لائن اور سگنل لائن کے کراسنگ کا استعمال کرتے ہوئے رجحان کی سمت کی تصدیق کریں۔ جب MACD مین لائن پر سگنل لائن کو عبور کرتے ہیں تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب MACD مین لائن کے نیچے سگنل لائن کو عبور کرتے ہیں تو فروخت کا اشارہ پیدا ہوتا ہے۔
سگنل مجموعہ منطقحکمت عملی دو مجموعی طریقوں کی پیش کش کرتی ہے - “Any” (کسی بھی سگنل کو ٹرگر کرنا) اور “All” (تمام فعال سگنل ایک ہی وقت میں ٹرگر کرنا) ۔ “Any” موڈ میں ، جب تک ایک فعال سگنل ٹرگر ہوتا ہے ، تب تک تجارتی سگنل پیدا ہوتا ہے۔ “All” موڈ میں ، تمام فعال سگنل ایک ہی وقت میں ٹرگر ہونے چاہئیں۔
فلٹر کا طریقہ کار:
پوزیشن مینجمنٹحکمت عملی: فنڈز کے فیصد کے طریقہ کار کا استعمال کرتے ہوئے ہر تجارت کے لئے پوزیشن کا سائز طے کیا جاتا ہے ، جو اکاؤنٹ میں 10٪ منافع کا استعمال کرتے ہوئے طے شدہ ہے۔
رسک مینجمنٹ:
کثیر جہتی سگنل تجزیہیہ حکمت عملی مختلف تکنیکی اشارے کے ساتھ مل کر مارکیٹ کو مختلف زاویوں سے تجزیہ کرنے ، جعلی سگنل کے اثرات کو کم کرنے اور تجارتی فیصلوں کی وشوسنییتا کو بڑھانے کے قابل بناتی ہے۔
لچکدار سگنل مجموعہ: صارفین کو مختلف ٹریڈنگ سٹائل اور مارکیٹ کے حالات کے مطابق “کسی” یا “تمام” سگنل مجموعہ موڈ کا انتخاب کرنے کی اجازت ہے۔ زیادہ اتار چڑھاؤ والی مارکیٹوں میں ، “تمام” موڈ غلط سگنل کو کم کرتا ہے۔ واضح رجحانات میں ، “کسی” موڈ مواقع کو زیادہ حساس انداز میں پکڑ سکتا ہے۔
کثیر سطحی فلٹرنگ میکانزمٹرانزیکشن حجم فلٹر اور اعلی ٹائم فریم تصدیق کے میکانزم نے تصدیق کی ایک اضافی پرت کا اضافہ کیا ہے ، جس سے غلط تجارتی سگنل کو مؤثر طریقے سے کم کیا گیا ہے ، خاص طور پر جب مارکیٹ کو افقی طور پر مرتب کیا جاتا ہے۔
اچھی طرح سے خطرے کا انتظاماس حکمت عملی میں ایک مکمل رسک کنٹرول سسٹم موجود ہے جس میں فی صد سٹاپ اسٹاپ اور اے ٹی آر ٹریکنگ سٹاپ شامل ہیں۔ یہ مارکیٹ میں اتار چڑھاؤ کی تبدیلیوں کے مطابق اسٹاپ پوزیشن کو خود بخود ایڈجسٹ کرنے کے قابل ہے اور فنڈز کو مؤثر طریقے سے محفوظ کرتا ہے۔
اعلی حسب ضرورتحکمت عملی: حکمت عملی صارفین کو مختلف پیرامیٹرز کو ایڈجسٹ کرنے کی اجازت دیتی ہے ، بشمول ای ایم اے کی لمبائی ، آر ایس آئی کی کم قیمت ، ایم اے سی ڈی پیرامیٹرز وغیرہ ، تاکہ تاجر اپنے تجارتی انداز اور ہدف مارکیٹ کے مطابق اصلاح کرسکیں۔
بصری آراء: حکمت عملی واضح چارٹ ہدایات فراہم کرتی ہے ، بشمول ای ایم اے لائن اور خرید و فروخت سگنل تیر ، جس سے تاجروں کو تجارتی سگنل کو بصری طور پر سمجھنے اور اس کی تشخیص کرنے میں مدد ملتی ہے۔
پیرامیٹرز کو زیادہ بہتر بنانا: حد سے زیادہ اصلاحی پیرامیٹرز کی وجہ سے حکمت عملی تاریخی ٹیسٹ میں اچھی کارکردگی کا مظاہرہ کرسکتی ہے ، لیکن عملی تجارت میں خراب کارکردگی کا مظاہرہ کرتی ہے ((زیادہ سے زیادہ فٹ ہونے کا خطرہ)) ۔ اس کا حل کافی لمبا ریٹرننگ سائیکل استعمال کرنا اور استحکام کی جانچ کرنا ہے۔
سگنل تصادم: مارکیٹ کے کچھ حالات میں ، مختلف سگنل متضاد ہوسکتے ہیں ، جس سے الجھن پیدا ہوسکتی ہے۔ مثال کے طور پر ، ای ایم اے بڑھتی ہوئی رجحان کی نشاندہی کرسکتا ہے ، جبکہ آر ایس آئی پہلے ہی زیادہ خریدنے والے علاقے میں ہے۔ حل یہ ہے کہ سگنل کو واضح طور پر ترجیح دی جائے یا اس کی مستقل مزاجی کو یقینی بنانے کے لئے “آل” موڈ کا استعمال کیا جائے۔
پسماندگی کا مسئلہ: تمام استعمال شدہ تکنیکی اشارے میں کچھ حد تک پسماندگی موجود ہے ، خاص طور پر ای ایم اے اور ایم اے سی ڈی۔ تیزی سے بدلتے ہوئے بازاروں میں ، اس سے داخلے یا باہر نکلنے کا وقت غیر موزوں ہوسکتا ہے۔ اس کا حل اشارے کے دورانیے کو مختصر کرنے یا قیمت کے رویے کے تجزیے کے ساتھ جوڑنے پر غور کرنا ہے۔
مارکیٹ میں موافقت کی حدود: یہ حکمت عملی واضح رجحانات والے بازاروں میں بہتر کام کرتی ہے ، لیکن اس سے زیادہ غلط سگنل پیدا ہوسکتے ہیں۔ حل یہ ہے کہ رجحان کی طاقت کے فلٹر کو بڑھایا جائے یا جب ہلچل والی مارکیٹوں کی نشاندہی کی جائے تو تجارت کو روک دیا جائے۔
مالیاتی خطرہ: اگرچہ حکمت عملی میں اسٹاپ نقصان کا طریقہ کار شامل ہے ، لیکن انتہائی مارکیٹ کے حالات میں (جیسے کہ بڑے پیمانے پر غائب ہونا یا عدم لیکویڈیٹی) ، اسٹاپ نقصانات کو توقع کے مطابق انجام نہیں دیا جاسکتا ہے۔ اس کا حل یہ ہے کہ فی تجارت میں فنڈز کا تناسب مناسب طریقے سے کم کیا جائے اور زیادہ محتاط اسٹاپ نقصان کی ترتیب استعمال کی جائے۔
رجحان کی طاقت کا فلٹر شامل کیا گیا۔: رجحان کی طاقت کی پیمائش کرنے کے لئے ADX یا اسی طرح کے اشارے کا اضافہ کرنا ، اور صرف اس وقت تجارت کرنا جب رجحان واضح ہو ، ہلچل والی مارکیٹوں میں جعلی سگنل کو نمایاں طور پر کم کرسکتا ہے۔ اس بہتری سے اس مسئلے کو حل کیا جاسکتا ہے کہ حکمت عملی کا سامنا کرنا پڑتا ہے جس میں کراس مارکیٹ میں غلط سگنل پیدا ہوتا ہے۔
وقت کا فلٹر شامل کریں: مارکیٹوں کی خصوصیات مختلف اوقات میں مختلف ہوتی ہیں۔ وقت کے فلٹرز کو شامل کرنے سے غیر موثر اوقات میں تجارت سے بچا جاسکتا ہے۔ مثال کے طور پر ، مارکیٹ کے کھلنے اور بند ہونے کے دوران اعلی اتار چڑھاؤ کی مدت سے بچا جاسکتا ہے ، یا صرف مخصوص تجارتی اوقات میں سرگرمی۔
متحرک پیرامیٹرز ایڈجسٹمنٹ: مارکیٹ میں اتار چڑھاؤ کی بنیاد پر اشارے کے پیرامیٹرز کو خود بخود ایڈجسٹ کریں۔ مثال کے طور پر ، اعلی اتار چڑھاؤ والے ماحول میں ای ایم اے کے دورانیے کو لمبا کرنا ، اور کم اتار چڑھاؤ والے ماحول میں دورانیے کو مختصر کرنا۔ اس طرح کی لچکدار ایڈجسٹمنٹ سے حکمت عملی کی مختلف مارکیٹ کے حالات میں موافقت پیدا ہوسکتی ہے۔
مشین سیکھنے کے اجزاء شامل کریں: مشین لرننگ الگورتھم کو متعارف کرانے کے لئے سگنل وزن کی تقسیم کو بہتر بنانے کے لئے ، تاریخی کارکردگی کی حرکیات کے مطابق سگنل کو ایڈجسٹ کرنے کی اہمیت۔ اس سے حکمت عملی کو مارکیٹ کے حالات میں تبدیلی کے ساتھ اپنے فیصلے کی منطق کو خود بخود ایڈجسٹ کرنے کی اجازت مل سکتی ہے۔
پوزیشن مینجمنٹ میں بہتری: اتار چڑھاؤ پر مبنی پوزیشن ایڈجسٹمنٹ کو لاگو کریں ، کم اتار چڑھاؤ والے ماحول میں پوزیشنوں میں اضافہ کریں ، اور اعلی اتار چڑھاؤ والے ماحول میں پوزیشنوں میں کمی کریں۔ اس طرح ، خطرے کو نسبتا constant مستقل رکھتے ہوئے ، فنڈز کے استعمال کی کارکردگی کو بہتر بنایا جاسکتا ہے۔
بنیادی فلٹر شامل کریںکچھ مارکیٹوں کے لئے ، بنیادی اشارے (جیسے مالیاتی سیزن ، معاشی اعداد و شمار کی اشاعت ، وغیرہ) کے ساتھ مل کر اہم غیر یقینی صورتحال کے واقعات سے پہلے اور بعد میں تجارت سے بچنے اور ممکنہ خطرات کو کم کرنے میں مدد ملتی ہے۔
نقصان کی روک تھام کی حکمت عملی کو بہتر بنائیں: سپورٹ اور مزاحمت کی سطح پر مبنی ذہین اسٹاپ لسٹنگ حاصل کریں ، نہ کہ صرف ایک مقررہ فیصد یا اے ٹی آر ضارب پر انحصار کریں۔ یہ طریقہ مارکیٹ کے ڈھانچے کو بہتر طور پر ڈھال سکتا ہے اور مارکیٹ کے شور کی وجہ سے غیر ضروری طور پر اسٹاپ لسٹنگ سے بچ سکتا ہے۔
ملٹی سگنل پورٹیبل سیلف ایڈاپٹ ٹریڈنگ اسٹریٹجی ایک جامع اور لچکدار ٹریڈنگ سسٹم ہے جو متعدد تکنیکی اشارے اور فلٹرنگ میکانزم کے امتزاج کے ذریعہ نسبتا reliable قابل اعتماد ٹریڈنگ سگنل مہیا کرتا ہے۔ اس حکمت عملی کا بنیادی فائدہ اس کی جامع تجزیاتی صلاحیتوں اور ایک بہتر رسک مینجمنٹ سسٹم میں ہے جس سے یہ مارکیٹ کے مختلف حالات میں کچھ حد تک موثر رہ سکتا ہے۔
تاہم ، اس حکمت عملی میں کچھ موروثی خطرات اور حدود بھی موجود ہیں ، جیسے پیرامیٹرز کو زیادہ سے زیادہ بہتر بنانا اور سگنل کی تاخیر۔ تجویز کردہ اصلاح کی سمت کو نافذ کرکے ، خاص طور پر رجحان کی طاقت کے فلٹرز کو بڑھانا اور متحرک پیرامیٹرز کو ایڈجسٹ کرنا ، حکمت عملی کی استحکام اور موافقت کو مزید بہتر بنایا جاسکتا ہے۔
آخر کار ، چاہے حکمت عملی کتنی ہی اچھی کیوں نہ ہو ، اس کو مخصوص مارکیٹ کے ماحول اور انفرادی تجارتی اہداف کے مطابق ایڈجسٹ کرنے کی ضرورت ہے۔ حکمت عملی کی کارکردگی کی مستقل نگرانی ، باقاعدگی سے جائزہ اور اصلاح ، حکمت عملی کی طویل مدتی افادیت کو برقرار رکھنے کی کلید ہے۔ یہ حکمت عملی کوانٹومیشن تاجروں کے لئے ایک اچھا نقطہ آغاز فراہم کرتی ہے ، جس کی بنیاد پر مزید پیچیدہ اور ذاتی نوعیت کے تجارتی نظام تیار کیے جاسکتے ہیں۔
/*backtest
start: 2024-04-22 00:00:00
end: 2025-04-21 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
strategy("Full‑Featured Multi‑Signal Strategy By Andi Tan", overlay=true)
// === POSITION SIZE ===
posPct = input.float(10, "Position Size (% Equity)", minval=0.1, step=0.1)
// === INPUTS SIGNALS ===
useEMA = input.bool(true, "Enable EMA Crossover")
emaFastLen = input.int(9, "EMA Fast Length", minval=1)
emaSlowLen = input.int(21, "EMA Slow Length", minval=1)
useRSI = input.bool(true, "Enable RSI Signal")
rsiLen = input.int(14, "RSI Length", minval=1)
rsiOB = input.int(70, "RSI Overbought", minval=50, maxval=100)
rsiOS = input.int(30, "RSI Oversold", minval=0, maxval=50)
useMACD = input.bool(true, "Enable MACD Signal")
macdFast = input.int(12, "MACD Fast Length", minval=1)
macdSlow = input.int(26, "MACD Slow Length", minval=1)
macdSig = input.int(9, "MACD Signal Length", minval=1)
mode = input.string("Any", "Signal Combination", options=["Any","All"])
showArrows = input.bool(true, "Show Buy/Sell Arrows")
// === RISK MANAGEMENT ===
slPct = input.float(1.0, "Stop‑Loss (%)", minval=0) / 100
tpPct = input.float(2.0, "Take‑Profit (%)", minval=0) / 100
useTrail = input.bool(true, "Enable ATR Trailing Stop")
atrLen = input.int(14, "ATR Length", minval=1)
trailMul = input.float(1.5, "ATR Multiplier", minval=0.1)
// === FILTERS ===
useVolFilt = input.bool(true, "Enable Volume Filter")
volLen = input.int(20, "Volume MA Length", minval=1)
useHigherTF = input.bool(true, "Enable Higher‑TF Confirmation")
higherTF = input.string("60", "Higher‑TF Timeframe", options=["5","15","60","240","D","W"])
// === CALCULATIONS ===
// EMA crossover
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
emaUp = ta.crossover(emaFast, emaSlow)
emaDown = ta.crossunder(emaFast, emaSlow)
// RSI
rsiVal = ta.rsi(close, rsiLen)
rsiBuy = rsiVal < rsiOS
rsiSell = rsiVal > rsiOB
// MACD
[macdLine, macdSignal, _] = ta.macd(close, macdFast, macdSlow, macdSig)
macdBuy = ta.crossover(macdLine, macdSignal)
macdSell = ta.crossunder(macdLine, macdSignal)
// Combine base signals with if…else (bukan ternary terpecah)
var bool buyBase = false
var bool sellBase = false
if mode == "Any"
buyBase := (useEMA and emaUp) or (useRSI and rsiBuy) or (useMACD and macdBuy)
sellBase := (useEMA and emaDown) or (useRSI and rsiSell) or (useMACD and macdSell)
else
buyBase := ((not useEMA) or emaUp) and ((not useRSI) or rsiBuy) and ((not useMACD) or macdBuy)
sellBase := ((not useEMA) or emaDown) and ((not useRSI) or rsiSell) and ((not useMACD) or macdSell)
// Volume filter
volMA = ta.sma(volume, volLen)
buyF = buyBase and (not useVolFilt or volume > volMA)
sellF = sellBase and (not useVolFilt or volume > volMA)
// ——— HIGHER‑TF EMA (dipanggil di top‑scope) ———
htEMA = request.security(syminfo.tickerid, higherTF, ta.ema(close, emaSlowLen))
// Final buy/sell signals
buySignal = buyF and (not useHigherTF or close > htEMA)
sellSignal = sellF and (not useHigherTF or close < htEMA)
// ATR untuk trailing
atrVal = ta.atr(atrLen)
// === ORDERS ===
if buySignal
float qty = (strategy.equity * posPct/100) / close
strategy.entry("Long", strategy.long, qty=qty)
if sellSignal
float qty = (strategy.equity * posPct/100) / close
strategy.entry("Short", strategy.short, qty=qty)
strategy.exit("Exit Long", from_entry="Long",
loss=slPct * close, profit=tpPct * close,
trail_points = useTrail ? atrVal * trailMul : na)
strategy.exit("Exit Short", from_entry="Short",
loss=slPct * close, profit=tpPct * close,
trail_points = useTrail ? atrVal * trailMul : na)
// === PLOTS ===
plot(useEMA ? emaFast : na, title="EMA Fast", color=color.orange)
plot(useEMA ? emaSlow : na, title="EMA Slow", color=color.blue)
plotshape(showArrows and buySignal, title="Buy", location=location.belowbar,
style=shape.arrowup, text="BUY")
plotshape(showArrows and sellSignal, title="Sell", location=location.abovebar,
style=shape.arrowdown, text="SELL")