اس حکمت عملی میں قیمتوں کے رجحانات کا جائزہ لینے کے لئے پی ایس اے آر ، رجحان کی طاقت کا جائزہ لینے کے لئے اے ڈی ایکس ، اوور بک اور اوور سیل زونز کا پتہ لگانے کے لئے آر ایس آئی ، اور فنانس کے بہاؤ کا جائزہ لینے کے لئے سی ایم ایف کو یکجا کیا گیا ہے تاکہ سائیکلوں میں ایک انٹرا ڈے رجحان کی پیروی کرنے والی مقداری تجارتی حکمت عملی تیار کی جاسکے۔ جب قیمتیں استحکام سے باہر نکلتی ہیں اور نئے رجحانات تشکیل دیتی ہیں تو یہ تیزی سے نئی رجحانات کی سمتوں کا پتہ لگاسکتی ہے ، اور اس کے بعد بھی رجحانات کو ٹریک کرتی رہتی ہے۔ اس بات کو یقینی بناتے ہوئے کہ اہم رجحانات کے فوائد کو حاصل کیا جاتا ہے ، فلٹرنگ کے حالات بھی عمل کے دوران طے کیے جاتے ہیں تاکہ انعقاد کے خطرات کو کم کیا جاسکے۔
اس حکمت عملی کے اہم فیصلے کے اصول یہ ہیں:
پی ایس اے آر اشارے کا استعمال کریں تاکہ یہ فیصلہ کیا جاسکے کہ کیا قیمتیں بڑھتی ہوئی رجحان میں ہیں۔ پی ایس اے آر
RSI کو 50 کے وسط نقطہ سے اوپر کی ضرورت ہوتی ہے تاکہ oversold زونوں میں ہونے والے جھوٹے بریک آؤٹ کو فلٹر کیا جاسکے۔
ای ڈی ایکس کو اپنی ای ایم اے لائن سے اوپر رکھنے کی ضرورت ہے ، جو رجحان تجزیہ میں پائیدار سگنل کی نشاندہی کرتی ہے۔
ضرورت ہے کہ سی ایم ایف 0 سے زیادہ ہو، جس سے بڑھتی ہوئی فنڈز کی آمد کا اندازہ لگایا جائے۔
خریدنے کے اشارے اس وقت پیدا ہوتے ہیں جب مذکورہ بالا چاروں شرائط پوری ہوجاتی ہیں۔ فروخت کی شرائط اس وقت ہوتی ہیں جب پی ایس اے آر قیمتوں سے اوپر بڑھ جاتا ہے ، آر ایس آئی 50 سے نیچے گر جاتا ہے ، اے ڈی ایکس اپنے ای ایم اے سے نیچے گر جاتا ہے اور سی ایم ایف 0 سے کم ہوجاتا ہے۔
یہ حکمت عملی تجارتی قوانین کے قیام کے دوران قیمت کی رجحان کی سمت ، رجحان کی طاقت ، زیادہ خرید / فروخت کی حالت اور فنڈز کے بہاؤ کو جامع طور پر مدنظر رکھتی ہے۔ تجارتی سگنل تیار کرتے وقت سخت منطقی اصول طے کرکے ، غلط بریک آؤٹس کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے اور اعلی امکان کے پائیدار رجحان کی سمتوں کو حاصل کیا جاسکتا ہے۔
اس حکمت عملی کے اہم فوائد میں شامل ہیں:
تجارتی قواعد کے قیام میں متعدد اشارے کو یکجا کرنے سے جھوٹے بریکآؤٹس کو مؤثر طریقے سے روکا جاسکتا ہے اور سگنل کی کوالٹی کو یقینی بنایا جاسکتا ہے۔
تیزی سے ابھرتی ہوئی رجحانات کی سمتوں کا پتہ لگانے اور ٹریکنگ زیادہ تر رجحانات کے منافع کو حاصل کرنے کے قابل بناتا ہے.
عمل فلٹرنگ کے حالات کو ترتیب دینے سے خطرات کو مؤثر طریقے سے کنٹرول کیا جاسکتا ہے اور ٹریکنگ کی افادیت کو یقینی بنایا جاسکتا ہے۔
رجحان کی طاقت کو مدنظر رکھتے ہوئے تجارتی رینج کی گنجائش سے بچنے میں مدد ملتی ہے۔
اس حکمت عملی کے اہم خطرات میں شامل ہیں:
ایک واحد حکمت عملی جمع کرنے سے پورٹ فولیو کے خطرات پیدا ہوتے ہیں، جس کے لیے پوزیشن کا مناسب سائزنگ ضروری ہے۔
فلٹرنگ کی حالت میں تبدیلیوں کو قریب سے نگرانی کریں تاکہ منسوخ ہونے پر نقصانات سے بچنے کے لئے.
یہ درمیانی / طویل مدتی حکمت عملی مختصر مدت میں اتار چڑھاؤ کی وجہ سے خراب ہوسکتی ہے اور اس میں اسٹاپ نقصان کا خطرہ ہوتا ہے۔
اسی طرح کے رسک مینجمنٹ کے اقدامات میں شامل ہیں: پوزیشن سائزنگ کے قوانین کو بہتر بنانا، رسک الرٹ لائنز کا تعین کرنا اور اسٹاپ فاصلوں کو بڑھانا وغیرہ۔
اصلاح کی جگہوں میں شامل ہیں:
مشین لرننگ کے ذریعے پیرامیٹر کی اصلاح موجودہ ذہنی ترتیبات کو دیکھتے ہوئے.
پوزیشن سائزنگ ماڈیول شامل کریں جو خطرات کی بنیاد پر متحرک طور پر سائز کرتا ہے۔
سٹاپ میکانزم کو بہتر بنائیں، جیسے ٹرائلنگ اسٹاپ، ٹائم اسٹاپ یا بریک آؤٹ اسٹاپ۔
اشارے کو جوڑنے والی یہ حکمت عملی تیزی سے پیدا ہونے والے رجحانات کا پتہ لگانے اور ان کا سراغ لگانے میں موثر ثابت ہوئی ، رجحانات اور فنڈز جیسے متعدد جہتوں کی بنیاد پر مقداری تجارت کی توثیق کی۔ ایک بنیاد کے طور پر ، اسے سائیکلوں میں انڈیکس کیا جاسکتا ہے۔ پیرامیٹر ٹیوننگ اور ماڈیولر بہتری کے ساتھ ، یہ ایک مستحکم درمیانی / طویل مدتی حکمت عملی بھی بن سکتی ہے۔
/*backtest start: 2023-11-14 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("psar+ adx + cmf + rsi Strategy", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 ) start = input(1.02) increment = input(1.02) maximum = input(1.2) var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := min(AF + increment, maximum) else if low < EP EP := low AF := min(AF + increment, maximum) if uptrend SAR := min(SAR, low[1]) if bar_index > 1 SAR := min(SAR, low[2]) else SAR := max(SAR, high[1]) if bar_index > 1 SAR := max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) //rsi strat length = input( 50 ) middle_RSI=input(49) price = close vrsi = rsi(price, length) //cmf lengthCMF = input(20, minval=1) ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume mf = sum(ad, lengthCMF) / sum(volume, lengthCMF) //ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) truerange = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / truerange) minus = fixnan(100 * rma(minusDM, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) ema_length=input(10) ema_sig= ema(sig,ema_length) long = not uptrend and vrsi > middle_RSI and sig > ema_sig and mf>0 short= uptrend and vrsi < middle_RSI and sig<ema_sig and mf<0 strategy.entry("long",1,when=long) strategy.close('long',when=short)