یہ حکمت عملی ایلرز فشیر اسٹوکاسٹک رشتہ دار طاقت انڈیکس اشارے پر مبنی ہے جو جان ایلرز نے اپنی کتاب
حکمت عملی سب سے پہلے اختتامی قیمت - افتتاحی قیمت کا حساب لگاتی ہے ، جو موم بتی کا جسم ہے۔ پھر یہ اعلی قیمت - کم قیمت کا حساب لگاتی ہے ، جو موم بتی کا سایہ ہے۔ بالترتیب ان دونوں حصوں کا مجموعہ اور اوسط لے کر ، اسے اسٹاک کی رفتار ملتی ہے۔ پھر رفتار کو اسٹاک کی اتار چڑھاؤ کے ساتھ تقسیم کرکے ، اسے رشتہ دار طاقت انڈیکس (آر وی آئی) ملتا ہے۔
اس کے بعد ، سگنل کی قیمت حاصل کرنے کے لئے ایہلرز فشیر فارمولا کو آر وی آئی پر لاگو کیا جاتا ہے۔ جب سگنل ٹرگر کے اوپر عبور کرتا ہے تو یہ لمبا ہوجاتا ہے ، اور جب سگنل ٹرگر سے نیچے عبور کرتا ہے تو مختصر ہوجاتا ہے۔ اس کے علاوہ ، خطرات کو کنٹرول کرنے کے لئے فکسڈ اسٹاپ نقصان اور ٹریلنگ اسٹاپ نقصان کو نافذ کیا جاتا ہے۔
یہ حکمت عملی اسٹاک کی رفتار کی خصوصیات اور اسٹوکاسٹک اشارے کو مربوط کرتی ہے ، جو مارکیٹ میں نسبتا strength طاقت کا مؤثر طریقے سے تعین کرسکتی ہے۔ ایلرز فشیر اشارے کا ڈیزائن شور کے اثرات کو کم کرسکتا ہے اور نسبتا reliable قابل اعتماد تجارتی سگنل پیدا کرسکتا ہے۔ شدت کا اشاریہ اسٹاک کے خود رجحان کی کیفیت اور اتار چڑھاؤ کی عکاسی کرتا ہے ، جس سے یہ متحرک اشارے بن جاتا ہے۔
ایک واحد رفتار اشارے یا اسٹوکاسٹک اشارے کے استعمال کے مقابلے میں ، یہ حکمت عملی اشارے اور ماڈلز کو نامیاتی طور پر جوڑتی ہے ، جو سگنلز کے معیار کو بہتر بناسکتی ہے۔ سخت اسٹاپ نقصان کے قوانین اس حکمت عملی کو منافع بخش ہونے کے ساتھ ساتھ خطرات پر قابو پانے کی بھی اجازت دیتے ہیں۔
یہ حکمت عملی بنیادی طور پر ایلرز فشیر اشارے پر مبنی ہے۔ جب مارکیٹ میں شدید تبدیلیاں آتی ہیں تو ، اشارے کے پیرامیٹرز کو نئے ماحول کے مطابق ڈھالنے کے لئے بہتر بنانے کی ضرورت ہوتی ہے۔ اگر پیرامیٹرز کو غلط طریقے سے ترتیب دیا جاتا ہے تو ، یہ غلط سگنل یا پسماندہ سگنل پیدا کرسکتا ہے۔
اس کے علاوہ ، خود حکمت عملی میں کسی حد تک منحنی فٹنگ کا خطرہ موجود ہے۔ اگر بیک ٹیسٹنگ اور براہ راست تجارت میں مارکیٹ کا ماحول بہت زیادہ بدل جاتا ہے تو ، حکمت عملی کی کارکردگی میں بہت زیادہ انحراف ہوسکتا ہے۔ اس معاملے میں ، حکمت عملی کے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے اور تجارتی قوانین کو مارکیٹ کے نئے حالات کو فٹ کرنے کے لئے اصلاح کی ضرورت ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:
اعلی حساسیت یا شور فلٹرنگ کے لئے ایلرز فشیر اشارے کے پیرامیٹرز کو بہتر بنائیں.
زیادہ قابل اعتماد ٹریڈنگ سگنل پیدا کرنے کے لئے LSTM جیسے مشین لرننگ الگورتھم کے ساتھ اشارے کا ماڈل بنائیں۔
اسٹاپ نقصان کے فاصلے کو متحرک طور پر ایڈجسٹ کرنے کے لئے اے ٹی آر جیسے مارکیٹ میں اتار چڑھاؤ کے اشارے شامل کریں۔
سگنل کے معیار کو بہتر بنانے کے لئے دیگر تکنیکی اور بنیادی اشارے کو یکجا کرنے والے کثیر عنصر ماڈلز کی حمایت شامل کریں۔
متحرک انٹری / ایگزٹ معیار کے ساتھ کھلی / بند پوزیشنوں کی منطق کو بہتر بنائیں۔ موافقت پذیر اسٹاپ نقصان اور منافع لینے کی تکنیک متعارف کروائیں۔
یہ حکمت عملی مارکیٹ کے رجحان اور طاقت کا تعین کرنے کے لئے ایلرز فشیر اسٹوکاسٹک آر وی آئی اشارے کا استعمال کرتی ہے ، اور خطرات پر قابو پانے کے لئے معقول اسٹاپ نقصان کے طریقہ کار طے کرتی ہے۔ سنگل اشارے کے مقابلے میں ، یہ حکمت عملی متعدد اشارے اور ماڈلز کو نامیاتی طور پر جوڑتی ہے ، جو شور کو فلٹر کرسکتی ہے اور اعلی معیار کے سگنل فراہم کرسکتی ہے۔ پیرامیٹرز کی اصلاح ، ماڈل فیوژن ، موافقت پذیر ایڈجسٹمنٹ اور دیگر ذرائع کے ذریعے حکمت عملی کی کارکردگی میں مزید بہتری کے لئے ابھی بھی گنجائش ہے۔
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Ehlers Fisher Stochastic Relative Vigor Index Strategy", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1) p = input(10, title = "Length") FisherStoch(src, len) => val1 = stoch(src, src, src, len) / 100 val2 = (4 * val1 + 3 * val1[1] + 2 * val1[2] + val1[3]) / 10 FisherStoch = 0.5 * log((1 + 1.98 * (val2 - 0.5)) / (1 - 1.98 * (val2 - 0.5))) / 2.64 CO = close - open HL = high - low value1 = (CO + 2 * CO[1] + 2 * CO[2] + CO[3]) / 6 value2 = (HL + 2 * HL[1] + 2 * HL[2] + HL[3]) / 6 num = sum(value1, p) denom = sum(value2, p) RVI = denom != 0 ? num / denom : 0 signal = FisherStoch(RVI, p) trigger = signal[1] oppositeTrade = input(true) barsSinceEntry = 0 barsSinceEntry := nz(barsSinceEntry[1]) + 1 if strategy.position_size == 0 barsSinceEntry := 0 if ((crossover(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossunder(signal, trigger))) and abs(signal) > 2 / 2.64 strategy.entry("Long", strategy.long) barsSinceEntry := 0 if ((crossunder(signal, trigger) and not oppositeTrade) or (oppositeTrade and crossover(signal, trigger))) and abs(signal) > 2 / 2.64 strategy.entry("Short", strategy.short) barsSinceEntry := 0 if strategy.openprofit < 0 and barsSinceEntry > 8 strategy.close_all() barsSinceEntry := 0 hline(0, title="ZeroLine", color=gray) signalPlot = plot(signal, title = "Signal", color = blue) triggerPlot = plot(trigger, title = "Trigger", color = green) fill(signalPlot, triggerPlot, color = signal < trigger ? red : lime, transp = 50)