
پی او ایم ڈی پی الہام شدہ ٹریڈنگ سسٹم ایک تجارتی طریقہ ہے جو تکنیکی تجزیہ اور جزوی طور پر قابل مشاہدہ مارکوف فیصلہ سازی پر مبنی ہے۔ یہ حکمت عملی خرید و فروخت کے سگنل پیدا کرنے کے لئے بے ترتیب نسبتا strong مضبوط اشارے (اسٹوکاسٹک آر ایس آئی) ، فنڈ فلو اشارے (ایم ایف آئی) ، بولنگر بینڈ (بولنگر بینڈ) اور متحرک اوسط اختتامی لائن پھیلاؤ اشارے (ایم اے سی ڈی) کو ہوشیار طریقے سے جوڑتی ہے۔ حکمت عملی کے ڈیزائن کا بنیادی خیال مارکیٹ کی حالت کے کثیر جہتی مشاہدے کے ذریعہ ایک قسم کا پی او ایم ڈی پی فیصلہ سازی فریم ورک بنانا ہے تاکہ مالیاتی منڈیوں میں غیر یقینی صورتحال اور جزوی طور پر قابل مشاہدہ صورتحال کا مقابلہ کیا جاسکے۔ یہ حکمت عملی خاص طور پر مناسب قیمتوں کی پیش گوئی کے ساتھ تجارت کے منظرناموں کے لئے موزوں ہے۔
اس حکمت عملی کا بنیادی اصول جزوی طور پر قابل مشاہدہ مارکوف فیصلہ سازی کے عمل (POMDP) کے خیالات پر مبنی ہے ، جس میں مارکیٹ کو ایک اسٹیٹ جزوی طور پر مرئی نظام کے طور پر دیکھا جاتا ہے۔ مارکیٹ کی حالت کو مندرجہ ذیل کلیدی تکنیکی اشارے کے ذریعہ دیکھا جاتا ہے:
بولنگر بینڈ: 20 ادوار کی سادہ حرکت پذیری اوسط کو وسط پٹری کے طور پر استعمال کریں ، معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتوں میں اضافے کے لئے 2.0 کی معیاری فاریکس کی قیمتیں
بے ترتیب نسبتا weak مضبوط اشارے ((Stochastic RSI): آر ایس آئی اور بے ترتیب اشارے کے فوائد کو ملا کر ، 14 سائیکل کی لمبائی اور 3 سائیکل کے ہموار پیرامیٹرز کو اوورلوڈ اور اوورلوڈ کی شناخت کے لئے استعمال کیا جاتا ہے۔ جب K کی قدر 30 سے کم ہوتی ہے تو اسے اوورلوڈ سمجھا جاتا ہے ، اور 70 سے زیادہ کو اوورلوڈ سمجھا جاتا ہے۔
کیش فلو انڈیکس (MFI): 14 سائیکلوں کا حساب لگایا گیا ہے ، جس میں عام قیمت ((TP) اور ٹرانزیکشن کی مقدار کے ضرب سے پیسے کے بہاؤ کی پیمائش کی گئی ہے۔ 40 سے کم MFI کو اوور سیل سگنل سمجھا جاتا ہے ، اور 60 سے زیادہ اوور خرید سگنل سمجھا جاتا ہے۔
MACD اشارے12/26/9 پیرامیٹرز کی ترتیب کا استعمال کرتے ہوئے ، MACD لائن اور سگنل لائن کا رشتہ رجحان کی سمت کی تصدیق کے لئے استعمال کیا جاتا ہے۔
حکمت عملی کے فیصلے کے قواعد مندرجہ ذیل ہیں:
اس حکمت عملی میں وقت پر مبنی خود کار طریقے سے باہر نکلنے کا طریقہ کار بھی شامل ہے ، جس میں پانچ دوروں کے بعد خود کار طریقے سے صفائی کی جاتی ہے ، جس سے پوزیشن کے وقت کے خطرے کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے۔
کثیر جہتی سگنل کی تصدیق: متعدد تکنیکی اشارے ((Stochastic RSI ، MFI ، MACD) کو یکجا کرکے ، حکمت عملی مارکیٹ کی حالت کو مختلف زاویوں سے دیکھنے کے قابل بناتی ہے ، جس سے کسی ایک اشارے کے ذریعہ ممکنہ طور پر گمراہ کن سگنل کا خطرہ کم ہوجاتا ہے۔
POMDP فریم ورک کی موافقت:POMDP کے نظریے کو متعارف کرانے سے حکمت عملی کو غیر یقینی صورتحال اور جزوی طور پر قابل مشاہدہ حالات کے تحت نسبتا optim بہتر فیصلے کرنے کی اجازت ملتی ہے ، جو حقیقی مارکیٹ کے حالات سے زیادہ مطابقت رکھتی ہے۔
واضح خطرے کا کنٹرول: ایک مقررہ باہر نکلنے کا دورانیہ ترتیب دے کر ((5 دورانیے) ، حکمت عملی نے وقت کی جہت پر خطرے کو کنٹرول کیا ، اور طویل عرصے سے منفی رجحانات کے نتیجے میں ہونے والے نقصانات کو بڑھانے سے بچا۔
تکنیکی اشارے کی تکمیلاسٹوکاسٹک آر ایس آئی بنیادی طور پر قیمت کی نقل و حرکت کی عکاسی کرتا ہے ، ایم ایف آئی قیمت اور حجم کی معلومات کو جوڑتا ہے ، ایم اے سی ڈی رجحان میں تبدیلی کو پکڑتا ہے ، اور برن بینڈ اتار چڑھاؤ کی حد کو متعین کرتا ہے۔ یہ اشارے ایک دوسرے کی تکمیل کرتے ہیں ، جس سے سگنل کی وشوسنییتا میں اضافہ ہوتا ہے۔
کوڈ کے نفاذ کی استحکام: حکمت عملی نے ایم ایف آئی کا حساب لگانے کے لئے t.sum کے بجائے math.sum کا استعمال کیا ، ممکنہ حساب کتاب کی غلطیوں کو درست کیا اور حکمت عملی کی استحکام میں اضافہ کیا۔
خودکار عملدرآمد کی صلاحیت: ٹریڈنگ ویو پر مبنی پائن اسکرپٹ کے نفاذ سے حکمت عملیوں کو خود کار طریقے سے تجارتی سگنل پیدا کرنے اور ان پر عمل درآمد کرنے کی اجازت ملتی ہے ، جس سے انسانی مداخلت اور جذباتی اثرات کو کم کیا جاتا ہے۔
حد سے زیادہ خرید و فروخت کی حدودحکمت عملی: فکسڈ اوورلوڈ اوورلوڈ تھریڈ استعمال کریں ((اسٹوکاسٹک آر ایس آئی کے لئے 30⁄70 اور ایم ایف آئی کے لئے 40⁄60) ، یہ فکسڈ تھریڈ مختلف مارکیٹ کے ماحول اور مختلف مصنوعات پر ہمیشہ زیادہ سے زیادہ نہیں ہوسکتے ہیں ، جس سے سگنل کے معیار میں کمی واقع ہوسکتی ہے۔
ٹائم آؤٹ میکانزم کی دو دھاری تلوار: فکسڈ 5 سائیکل کے باہر نکلنے کا طریقہ کار اگرچہ خطرے پر قابو رکھتا ہے ، لیکن ممکنہ منافع کو محدود کرتے ہوئے فائدہ مند رجحان سے قبل ہی باہر نکل سکتا ہے۔
ملٹی میٹرکس ریڈینسڈ رسک: اگرچہ کثیر اشارے کثیر جہتی تصدیق فراہم کرتے ہیں ، لیکن انڈیکس کے مابین کچھ وابستگی اور اضافی چیزیں ہوسکتی ہیں ، جو کچھ مارکیٹ کے حالات میں سگنل میں اضافے کے انحراف کا سبب بن سکتی ہیں۔
رجحانات کی مارکیٹ میں عدم موافقتیہ حکمت عملی بنیادی طور پر اوور بیئر اوور سیل اور ریورس سگنل پر مبنی ہے ، جو مضبوط رجحان کی منڈیوں میں بہت زیادہ غلط سگنل پیدا کرسکتی ہے ، جس سے بار بار تجارت اور غیر ضروری اخراجات کا سبب بنتا ہے۔
پیرامیٹرز کو بہتر بنانے کے لئے انحصار: حکمت عملی کی تاثیر کا انحصار بڑے پیمانے پر مختلف اشارے کے پیرامیٹرز کی ترتیب پر ہوتا ہے ، مختلف مارکیٹ کے حالات میں مختلف پیرامیٹرز کے مجموعے کی ضرورت پڑسکتی ہے ، جس سے حکمت عملی کی بحالی اور موافقت کی پیچیدگی میں اضافہ ہوتا ہے۔
عدم استحکام کے لیے ایڈجسٹمنٹ کا فقداناس حکمت عملی میں مارکیٹ کی اتار چڑھاؤ کی تبدیلیوں کے لئے کوئی موافقت کا طریقہ کار نہیں ہے ، جس کی وجہ سے اعلی اتار چڑھاؤ کے ماحول میں زیادہ غلط سگنل پیدا ہوسکتے ہیں۔
متحرک پیرامیٹرز ایڈجسٹمنٹ میکانزم: مارکیٹ کی حالت پر مبنی پیرامیٹرز کی موافقت کا طریقہ کار متعارف کرایا گیا ، جیسے بلین بینڈ کے معیاری فاریکس کو اتار چڑھاؤ کی شرح کے مطابق ایڈجسٹ کرنا ، یا مارکیٹ کے رجحانات کی طاقت کے مطابق اوورلوڈ اوورلوڈ قیمتوں کو ایڈجسٹ کرنا ، مختلف مارکیٹ کے حالات میں حکمت عملی کی موافقت کو بہتر بنانا۔
کامل سٹاپ نقصان کے طریقہ کار: وقت کی جہت سے باہر نکلنے کے طریقہ کار کے علاوہ ، قیمت میں تبدیلی پر مبنی اسٹاپ نقصانات کے طریقہ کار کو شامل کریں ، جیسے اے ٹی آر پر مبنی اسٹاپ نقصانات کی پوزیشنوں کی ترتیب ، خطرے کے انتظام کی جامعیت کو بہتر بنائیں۔
مارکیٹ ماحول فلٹر: مارکیٹ کے حالات کی شناخت کے ماڈیولز کو شامل کریں ، جیسے رجحان کی طاقت کا اشارے یا اتار چڑھاؤ کا اشارہ ، حکمت عملی کے لئے موزوں مارکیٹ کے حالات میں تجارت کو کم کریں یا معطل کریں ، اور منفی حالات میں ضرورت سے زیادہ تجارت سے بچیں۔
سگنل کوالٹی اسکورنگ سسٹم: سگنل کوالٹی اسکورنگ میکانزم تیار کریں ، جس میں متعدد اشارے کی مستقل مزاجی ، مارکیٹ کے ماحول ، تاریخی سگنل کی کامیابی جیسے عوامل کے مطابق سگنل کو اسکور کیا جائے ، صرف اعلی معیار کے سگنل پر عملدرآمد کریں ، حکمت عملی کی تاثیر کو بہتر بنائیں۔
مشین سیکھنے میں اضافہ: POMDP فریم ورک کو مشین لرننگ کے طریقوں کے ساتھ جوڑ کر ، تاریخی اعداد و شمار کی تربیت کے ذریعے فیصلہ سازی کی حکمت عملی کو بہتر بنائیں ، تاکہ نظام ماضی کے لین دین سے سیکھنے اور بہتر بنانے کے قابل ہو۔
فنڈ مینجمنٹ کی حکمت عملی کو بہتر بنانا: متحرک پوزیشن مینجمنٹ میکانزم متعارف کروانا ، سگنل کی طاقت ، مارکیٹ کی حالت اور اکاؤنٹ کے خطرے کے مطابق تجارت کے پیمانے کو ایڈجسٹ کرنا ، زیادہ سائنسی فنڈ مینجمنٹ حاصل کرنا۔
“متعدد اشارے کو ملا کر POMDP انلیٹڈ ٹریڈنگ سسٹم” ایک مقداری تجارتی حکمت عملی ہے جو متعدد تکنیکی اشارے اور POMDP فیصلہ سازی کے فریم ورک کو جوڑتی ہے۔ یہ حکمت عملی اسٹوکاسٹک RSI ، MFI ، MACD اور برن بینڈ جیسے اشارے کے ہم آہنگی سے کام کرتی ہے ، جس سے مارکیٹ میں جزوی طور پر مشاہدے کے مسئلے کو کچھ حد تک حل کیا جاتا ہے ، جس سے تجارتی فیصلوں کے لئے کثیر جہتی سگنل کی تصدیق ہوتی ہے۔
اس حکمت عملی کا بنیادی فائدہ اس کی کثیر زاویہ مارکیٹ دیکھنے کی صلاحیت اور واضح خطرے کے کنٹرول کے طریقہ کار میں ہے ، لیکن اس کے ساتھ ساتھ پیرامیٹرز کی اصلاح کی انحصار اور کچھ مارکیٹ کے ماحول میں عدم موافقت کی چیلنجوں کا بھی سامنا کرنا پڑتا ہے۔ متحرک پیرامیٹرز کی ایڈجسٹمنٹ ، نقصان کے روکنے کے طریقہ کار کو بہتر بنانے ، مارکیٹ کے ماحول کے فلٹرز کو شامل کرنے جیسے اصلاحی سمتوں کو متعارف کرانے کے ذریعہ ، اس حکمت عملی میں اس کی استحکام اور موافقت کو مزید بڑھانے کی صلاحیت ہے۔
مجموعی طور پر ، یہ ایک معقول ، منطقی اور واضح طور پر ڈیزائن کیا گیا مقداری تجارتی نظام ہے ، جو خاص طور پر ان تاجروں کے لئے موزوں ہے جو مارکیٹ کی کچھ پیش گوئی کرنے کی صلاحیت رکھتے ہیں لیکن خطرے پر قابو پانا چاہتے ہیں۔ اس حکمت عملی کو مسلسل بہتر بنانے اور مختلف مارکیٹ کے حالات کے مطابق ڈھالنے سے ، یہ تاجر کے ٹول کٹ میں ایک مؤثر آلہ بن سکتا ہے۔
/*backtest
start: 2024-07-22 00:00:00
end: 2025-07-20 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":2000000}]
*/
//@version=6
strategy("Debit Spread POMDP‑Inspired Strategy", overlay=true, margin_long=100, margin_short=100)
// ——— Constants
const int K_OVERSOLD = 30
const int K_OVERBOUGHT = 70
const int MFI_OVERSOLD = 40
const int MFI_OVERBOUGHT = 60
const int EXIT_BARS = 5
// ——— User inputs
stochLength = input.int(14, "Stochastic RSI length")
stochSmooth = input.int(3, "Stochastic smoothing")
mfiLength = input.int(14, "MFI length")
bbLength = input.int(20, "Bollinger length")
bbStdDev = input.float(2.0, "Bollinger std dev")
macdFast = input.int(12, "MACD fast length")
macdSlow = input.int(26, "MACD slow length")
macdSignal = input.int(9, "MACD signal length")
// ——— Bar index tracking for exits
var int callEntryBar = na
var int putEntryBar = na
// ——— Bollinger Bands
basis = ta.sma(close, bbLength)
upper = basis + bbStdDev * ta.stdev(close, bbLength)
lower = basis - bbStdDev * ta.stdev(close, bbLength)
// ——— Stochastic RSI
rsi = ta.rsi(close, stochLength)
k = ta.sma(ta.stoch(rsi, rsi, rsi, stochLength), stochSmooth)
d = ta.sma(k, stochSmooth)
// ——— Manual MFI calculation (FIXED: using math.sum)
tp = (high + low + close) / 3.0
rawMF = tp * volume
posFlow = (tp > tp[1] ? rawMF : 0.0)
negFlow = (tp < tp[1] ? rawMF : 0.0)
posMF = math.sum(posFlow, mfiLength) // FIXED: math.sum instead of ta.sum
negMF = math.sum(negFlow, mfiLength) // FIXED: math.sum instead of ta.sum
moneyRatio = negMF != 0 ? posMF / negMF : 0.0
mfi = negMF != 0 ? 100 - 100 / (1 + moneyRatio) : 0.0
// ——— Manual MACD calculation
fastMA = ta.ema(close, macdFast)
slowMA = ta.ema(close, macdSlow)
macdLine = fastMA - slowMA
signalLine = ta.ema(macdLine, macdSignal)
// ——— POMDP‑inspired decision rules
bullCondition = ((k < K_OVERSOLD) or (mfi < MFI_OVERSOLD)) and (macdLine > signalLine)
bearCondition = ((k > K_OVERBOUGHT) or (mfi > MFI_OVERBOUGHT)) and (macdLine < signalLine)
if bullCondition
strategy.entry("CallDebit", strategy.long)
callEntryBar := bar_index // Track entry bar
if bearCondition
strategy.entry("PutDebit", strategy.short)
putEntryBar := bar_index // Track entry bar
// FIXED: Manual time-based exits using bar_index
if not na(callEntryBar) and bar_index >= callEntryBar + EXIT_BARS
strategy.close("CallDebit")
callEntryBar := na
if not na(putEntryBar) and bar_index >= putEntryBar + EXIT_BARS
strategy.close("PutDebit")
putEntryBar := na
// ——— Plots
plot(basis, color=color.gray, linewidth=1, title="BB Basis")
plot(upper, color=color.orange, linewidth=1, title="BB Upper")
plot(lower, color=color.orange, linewidth=1, title="BB Lower")
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.purple)
plot(mfi, title="MFI", color=color.green)
plot(macdLine - signalLine, title="MACD Histogram", color=color.red, style=plot.style_columns)