
وی ٹائپ الٹ اشارے ایس ایم اے حکمت عملی پر مبنی اسٹاک کی قیمتوں کی 14 دن کی اونچائی اور پچھلے دن کی کم قیمت اور 14 دن کی کم قیمت اور پچھلے دن کی اونچائی کے درمیان مطلق فرق کا حساب لگاتے ہوئے ، پھر اس کی 14 دن کی سادہ حرکت پذیری اوسط ، بالترتیب ، VI+ اور VI- منحنی خطوط تشکیل دیتے ہیں۔ 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-) سے گزرتا ہے تو خالی سر سگنل پیدا ہوتا ہے۔
اس کے علاوہ ، حکمت عملی VI + اور VI - کے اوپر اور نیچے کی حالتوں کے ساتھ مل کر رجحانات کا فیصلہ کرتی ہے ، جس سے فلٹرنگ ہوتی ہے ، صرف نیچے کی طرف رجحان میں زیادہ کام کریں ، اور اوپر کی طرف رجحان میں خالی کام کریں۔
اس حکمت عملی میں رجحان کی حالت اور VI اشارے کے گولڈ فورک ڈیڈ فورکس کو شامل کیا گیا ہے ، جو جعلی سگنل کو مؤثر طریقے سے فلٹر کرنے اور منافع کی امکانات کو بڑھانے کے لئے استعمال کیا جاتا ہے۔ اس کی توڑ سگنل سادہ حرکت پذیری اوسط حکمت عملی کے مقابلے میں زیادہ قابل اعتماد ہے۔
اس حکمت عملی کے دو اہم خطرات ہیں:
VI اشارے بعض ادوار کے دوران گمراہ کن سگنل پیدا کرتا ہے۔ اس وقت رجحان فلٹرنگ اور اسٹاپ نقصان کے ساتھ مل کر خطرے کو کنٹرول کرنے کی ضرورت ہوتی ہے۔
اعلی ٹرانزیکشن فیس اور سلائڈ پوائنٹ کی قیمتیں اس حکمت عملی کے لئے موزوں نہیں ہیں اور منافع کی جگہ کو بہت کم کردیں گی۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
انڈیکس VI کے دورانیہ کے پیرامیٹرز کو بہتر بنائیں ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔
مشین سیکھنے کے طریقوں کا استعمال کرتے ہوئے خود کار طریقے سے گمراہ کن سگنل کی شناخت اور سگنل کے معیار کو بہتر بنانے کے لئے.
اسٹاپ نقصان اور فنڈ مینجمنٹ کے ساتھ مل کر ، آپٹمائزڈ نکلنے کا طریقہ کار ، ایک ہی ٹرانزیکشن میں ہونے والے نقصان کو کنٹرول کریں۔
کم قیمت والے بازاروں کا انتخاب کرتے ہوئے تجارت کی اقسام کو بہتر بنائیں۔
وی ٹائپ الٹ اشارے پر مبنی ایس ایم اے حکمت عملی ، جو VI + اور VI - اشارے کا حساب کتاب کرکے اور رجحان کی حالت کے ساتھ مل کر خرید و فروخت کا وقت طے کرتی ہے ، ایک زیادہ قابل اعتماد رجحان سے باخبر رہنے کی حکمت عملی ہے۔ اس حکمت عملی کا فائدہ یہ ہے کہ سگنل کا معیار اچھا ہے ، جو شور کو مؤثر طریقے سے فلٹر کرتا ہے۔ لیکن اس میں بھی خطرہ لاحق ہے ، جس کو مارکیٹ میں تبدیلیوں کے مطابق ڈھالنے کے لئے مسلسل اصلاح کی ضرورت ہے۔
/*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)