وی ریورس ایس ایم اے حکمت عملی سب سے زیادہ قیمت اور پچھلے دن کی سب سے کم قیمت کے مابین 14 دن کے مطلق فرق کا حساب لگاتی ہے ، اور سب سے کم قیمت اور پچھلے دن کی سب سے زیادہ قیمت کے مابین 14 دن کا مطلق فرق۔ پھر یہ VI + اور VI- منحنی خطوط بنانے کے لئے ان کے 14 دن کے سادہ حرکت پذیر اوسط کا حساب لگاتا ہے۔ جب VI + VI سے تجاوز کرتا ہے تو خرید کا اشارہ پیدا ہوتا ہے۔ جب VI- VI + سے نیچے عبور کرتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی کے بنیادی اشارے VI+ اور VI- ہیں۔ VI+ تیزی کی رفتار کو ظاہر کرتا ہے جبکہ VI- کمی کی رفتار کو ظاہر کرتا ہے۔ مخصوص حساب کتاب کے فارمولے مندرجہ ذیل ہیں:
VMP = SUM(ABS(HIGH - LOW[1]),14)
VMM = SUM(ABS(LOW - HIGH[1]),14)
STR = SUM(ATR(1),14)
VI+ = VMP/STR
VI- = VMM/STR
منحنی خطوط میں اتار چڑھاؤ کو ختم کرنے کے لئے ، 14 دن کے سادہ چلنے والے اوسطوں کا حساب VI + اور VI- پر لگایا جاتا ہے تاکہ SMA ((VI +) اور SMA ((VI-) حاصل کیا جاسکے۔ جب SMA ((VI +) SMA ((VI-) کے اوپر عبور کرتا ہے تو ایک تیزی کا اشارہ پیدا ہوتا ہے۔ جب SMA ((VI-) SMA ((VI-) کے نیچے عبور کرتا ہے تو ایک bearish اشارہ پیدا ہوتا ہے۔
اس کے علاوہ ، حکمت عملی میں رجحان کا اندازہ کرنے اور سگنل کو فلٹر کرنے کے لئے VI + اور VI- کی اوپر اور نیچے کی حیثیت کو بھی جوڑ دیا گیا ہے ، جب رجحان نیچے ہے تو صرف طویل اور جب رجحان اوپر ہے تو صرف مختصر ہوجاتا ہے۔
رجحان کی حیثیت اور VI اشارے کے سنہری / مردہ کراس کو جوڑ کر ، یہ حکمت عملی مؤثر طریقے سے جھوٹے سگنل کو فلٹر کرسکتی ہے اور منافع کو بہتر بناسکتی ہے۔ سادہ حرکت پذیر اوسط حکمت عملیوں کے مقابلے میں ، اس کے بریکآؤٹ سگنل زیادہ قابل اعتماد ہیں۔
اس حکمت عملی کے اہم خطرات یہ ہیں:
VI اشارے سے بعض ادوار میں گمراہ کن سگنل پیدا ہوسکتے ہیں۔ خطرات کو کنٹرول کرنے کے لئے ٹرینڈ فلٹرنگ اور اسٹاپ نقصان کا استعمال کیا جانا چاہئے۔
اس حکمت عملی کے لئے اعلی تجارتی اخراجات اور سلائپج والے بازار مناسب نہیں ہیں کیونکہ اس سے منافع کا مارجن بہت کم ہوجائے گا۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
بہترین پیرامیٹر مجموعہ تلاش کرنے کے لئے VI اشارے کے پیرامیٹرز کو بہتر بنائیں.
مشین لرننگ کے طریقوں کا استعمال کریں تاکہ گمراہ کن سگنلز کو خود بخود پہچانا جاسکے اور سگنل کے معیار کو بہتر بنایا جاسکے۔
اسٹاپ نقصان اور منی مینجمنٹ کے ساتھ باہر نکلنے کے طریقہ کار کو بہتر بنائیں تاکہ ایک ہی تجارت کے نقصان کو کنٹرول کیا جاسکے۔
کم تجارتی اخراجات والے بازاروں پر توجہ مرکوز کرتے ہوئے تجارتی مصنوعات کے انتخاب کو بہتر بنائیں۔
وی ریورس ایس ایم اے حکمت عملی VI + اور VI- اشارے کا حساب لگاتے ہوئے اور رجحان کی حیثیت کو جوڑ کر تجارتی سگنل کا تعین کرتی ہے۔ یہ ایک نسبتا reliable قابل اعتماد رجحان کی پیروی کرنے والی حکمت عملی ہے۔ اس کی طاقت سگنل کے اعلی معیار اور شور کو فلٹر کرنے کی صلاحیت میں ہے۔ لیکن اسے پھنس جانے کے خطرات کا بھی سامنا کرنا پڑتا ہے ، جس میں مارکیٹ میں ہونے والی تبدیلیوں کو اپنانے کے لئے مسلسل اصلاحات کی ضرورت ہوتی ہے۔
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@author=SIDD //Sidd-Vortex strategy is using Vortex formula to generate 4 signals Bullish1 Bullish2 and Bearish1 Bearish2. //Bullish1 signal is getting generated when smooth ma of VIP is crossing over smooth ma of VIM and smooth VIM is falling from previous bar smooth VIM //Bullish2 signal is getting generated when smooth ma of VIP is crossing over smooth ma of VIM and smooth VIP is rising from previous bar smooth VIP //Bearish1 signal is getting generated when smooth ma of VIM is crossing over smooth ma of VIP and smooth VIP is falling from previous bar smooth VIP //Bearish2 signal is getting generated when smooth ma of VIM is crossing over smooth ma of VIP and smooth VIM is rising from previous bar smooth VIM //This strategy can be converted into study un-commenting the plotshape and 15th line strategy replace with study and overlay=false strategy(title = "SIDD-Vortex", shorttitle="SIDD-VORTEX", format=format.price, precision=4,overlay=true) period_ = input(14, title="Period", minval=2) len = input(14, minval=1, title="WMA Length") VMP = sum( abs( high - low[1]), period_ ) // sum of absolute current high and previous low with 14 period default VMM = sum( abs( low - high[1]), period_ ) // sum of absolute current low and previous high with 14 period default STR = sum( atr(1), period_ ) //sum of daily atr for 14 days VIP = VMP / STR VIM = VMM / STR simpleMAVIP=wma(VIP, len) smmaVIP = 0.0 smmaVIP := na(smmaVIP[1]) ? simpleMAVIP : (smmaVIP[1] * (len - 1) + VIP) / len // finding the Smoothing average simpleMAVIM=wma(VIM, len) smmaVIM = 0.0 smmaVIM := na(smmaVIM[1]) ? simpleMAVIM : (smmaVIM[1] * (len - 1) + VIM) / len // finding the Smoothing average risingVIP = rising(smmaVIP, 1) fallingVIP = falling(smmaVIP, 1) lineColorVIP = smmaVIP > 0.95 and risingVIP ? color.lime : smmaVIP > 0.95 ? #d65240 : smmaVIP < 0.95 and fallingVIP ? color.red : color.olive risingVIM = rising(VIM, 1) fallingVIM = falling(VIM, 1) lineColorVIM = smmaVIM > 0.95 and risingVIM ? color.red : smmaVIM > 0.95 ? color.olive : smmaVIM < 0.95 and fallingVIM ? color.lime : #d65240 plot(VIP, title="VI +", color=lineColorVIP) plot(VIM, title="VI -", color=lineColorVIM) longCondition = crossover(smmaVIP,smmaVIM) shortCondition = crossover(smmaVIM,smmaVIP) if (longCondition and fallingVIM) strategy.entry("Bullish1", strategy.long) if (shortCondition and fallingVIP) strategy.entry("Bearish1", strategy.short) if (longCondition and risingVIP) strategy.entry("Bullish2", strategy.long) if (shortCondition and risingVIM) strategy.entry("Bearish2", strategy.short) //plotshape(longCondition and fallingVIM, color=color.lime, location=location.belowbar, style=shape.triangleup,size= size.large,text="Bullish",offset=0,textcolor=color.white) //plotshape(longCondition and risingVIP, color=color.lime, location=location.belowbar, style=shape.labelup,size= size.large,text="Bullish",offset=0,textcolor=color.white) //plotshape(Diff > 0 and direction>0, color=color.lime, location=location.belowbar, style=shape.arrowup,size= size.normal,offset=0) //plotshape(shortCondition and fallingVIP , color=color.red, location=location.abovebar, style=shape.triangledown, size= size.large,text="Bearish",offset=0,textcolor=color.white) //plotshape( shortCondition and risingVIM , color=color.red, location=location.abovebar, style=shape.labeldown, size= size.large,text="Bearish",offset=0,textcolor=color.white) //band1 = hline(1.0 , title="Upper Line", linestyle=hline.style_dashed, linewidth=3, color=color.red) //band0 = hline(0.5, title="Lower Line", linestyle=hline.style_dashed, linewidth=3, color=color.lime) //fill(band1, band0, color=color.purple, transp=70)