Ehlers-Fisher Relative Vigor Index Strategy


تخلیق کی تاریخ: 2023-12-22 12:04:23 آخر میں ترمیم کریں: 2023-12-22 12:04:23
کاپی: 0 کلکس کی تعداد: 721
1
پر توجہ دیں
1623
پیروکار

Ehlers-Fisher Relative Vigor Index Strategy

جائزہ

یہ حکمت عملی ایلس-فشر رشتہ دار متحرک انڈیکس اشارے پر مبنی ہے جو جان ایلس نے اپنے کتابچے کے اسٹاک اور فیوچر کے کنٹرول تجزیہ کٹ میں پیش کیا ہے۔ اس حکمت عملی میں اسٹاک کی نسبتا طاقت کا فیصلہ کرنے کے لئے ایلس-فشر اشارے کا استعمال کیا گیا ہے اور اس میں خریداری اور فروخت کے لئے اپنی مرضی کے مطابق ٹریڈنگ کے قواعد کے ساتھ مل کر استعمال کیا گیا ہے۔

حکمت عملی کا اصول

اس حکمت عملی میں سب سے پہلے بند ہونے والی قیمت - افتتاحی قیمت کا حساب لگایا جاتا ہے ، یعنی اسٹاک کا جسمانی حصہ۔ اس کے بعد اعلی قیمت - کم قیمت کا حساب لگایا جاتا ہے ، یعنی اسٹاک کا شیڈ لائن حصہ۔ اسٹاک کی حرکیات کا حساب لگانے کے لئے ، ان دونوں حصوں کو بالترتیب اوسط کرکے اور پھر اس حرکیات کی قیمت کا استعمال کرکے اسٹاک کی اتار چڑھاؤ کو تقسیم کرکے رشتہ دار لچک کا اشاریہ حاصل کیا جاتا ہے۔

اس کے بعد ، آر وی آئی پر ایلس فیشر اشارے کے حساب کتاب کے فارمولے کو لاگو کریں ، اور سگنل کی قیمت حاصل کریں۔ جب سگنل کی قیمت پر ٹرگر کی قیمت سے زیادہ ہوتا ہے تو ، نیچے جانے پر خالی ہوجاتا ہے۔ اس کے علاوہ ، خطرے کو کنٹرول کرنے کے لئے فکسڈ اسٹاپ نقصان اور ٹریکنگ اسٹاپ نقصان بھی ترتیب دیا گیا ہے۔

طاقت کا تجزیہ

اس حکمت عملی میں اسٹاک کی متحرک خصوصیات اور بے ترتیب اشارے کا استعمال کیا گیا ہے تاکہ مارکیٹ کی نسبتا strength طاقت کا اندازہ لگایا جاسکے۔ ایلس فیشر اشارے کا ڈیزائن شور کے اثرات کو کم کرنے اور زیادہ قابل اعتماد تجارتی سگنل پیدا کرنے کے لئے بنایا گیا ہے۔ متحرک اشارے اسٹاک کی رجحانات اور اتار چڑھاؤ کی عکاسی کرتے ہیں ، متحرک اشارے ہیں۔

متحرک اشارے یا بے ترتیب اشارے کے مقابلے میں ، اس حکمت عملی میں اشارے اور ماڈل کا ایک نامیاتی امتزاج کیا گیا ہے ، جس سے سگنل کے معیار میں بہتری آسکتی ہے۔ سخت اسٹاپ نقصان کے قواعد کے ذریعہ ، اس حکمت عملی کو منافع بخش ہونے کی ضمانت کے ساتھ خطرے کو کنٹرول کرنے کی بھی اجازت دی گئی ہے۔

خطرے کا تجزیہ

یہ حکمت عملی بنیادی طور پر ایلس-فشر اشارے پر انحصار کرتی ہے ، جب مارکیٹ میں اچانک بڑی تبدیلی آتی ہے تو ، اشارے کے پیرامیٹرز کو نئے ماحول کے مطابق ڈھالنے کے لئے بہتر بنانے کی ضرورت ہوتی ہے۔ اگر اشارے کے پیرامیٹرز کو غلط ترتیب دیا جائے تو ، غلط سگنل یا سگنل کی تاخیر پیدا ہوگی۔

اس کے علاوہ ، حکمت عملی میں خود بھی کچھ حد تک منحنی فٹ ہونے کا خطرہ موجود ہے۔ اگر مارکیٹ کے ماحول میں ٹیسٹ اور ریئل اسٹیٹ میں بڑے پیمانے پر تبدیلی آتی ہے تو ، حکمت عملی کی کارکردگی میں بہت زیادہ انحراف ہوسکتا ہے۔ اس وقت حکمت عملی کے پیرامیٹرز کو ایڈجسٹ کرنے یا نئے مارکیٹ کے حالات کے مطابق ٹریڈنگ کے قواعد کو بہتر بنانے کی ضرورت ہے۔

اصلاح کی سمت

اس حکمت عملی کو مزید بہتر بنانے کے لیے مندرجہ ذیل نکات پر غور کیا جا سکتا ہے۔

  1. ایلس-فشر اشارے کے پیرامیٹرز کو بہتر بنایا گیا ہے تاکہ وہ زیادہ حساس یا شور کو فلٹر کرسکیں۔

  2. مشین لرننگ الگورتھم جیسے ایل ایس ٹی ایم کا استعمال کرتے ہوئے اشارے کی ماڈلنگ ، زیادہ قابل اعتماد تجارتی سگنل تیار کرتی ہے۔

  3. مارکیٹ میں اتار چڑھاؤ کے اشارے جیسے اے ٹی آر کے ساتھ مل کر اسٹاپ نقصان کی فاصلے کو متحرک طور پر ایڈجسٹ کریں۔

  4. ملٹی فیکٹر ماڈل کی حمایت میں اضافہ ، سگنل کے معیار کو بہتر بنانے کے لئے دیگر تکنیکی اشارے اور بنیادی اشارے کو مربوط کرنا۔

  5. کھلنے والی پوزیشن کی منطق کو بہتر بنانا ، متحرک انٹری شرائط طے کرنا۔ خود کار طریقے سے نقصان کو روکنے اور روکنے کی تکنیک متعارف کرانا۔

خلاصہ کریں۔

اس حکمت عملی میں مارکیٹ کے رجحانات اور کمزوریوں کا اندازہ لگانے کے لئے ایلس فیشر رشتہ دار متحرک اشاریہ اشارے کا استعمال کیا جاتا ہے ، اور ایک واحد اشارے کے مقابلے میں معقول اسٹاپ نقصان کے کنٹرول کے خطرات کا تعین کیا جاتا ہے۔ اس حکمت عملی میں متعدد اشارے اور ماڈل کا نامیاتی امتزاج کیا گیا ہے ، جو شور کو فلٹر کرنے کے لئے اعلی معیار کے سگنل فراہم کرتا ہے۔ پیرامیٹرز کی اصلاح ، ماڈل انضمام ، خود سے موافقت اور اسی طرح کے ذرائع کے ذریعہ ، حکمت عملی کی کارکردگی کو مزید بہتر بنانے کی گنجائش ہے۔

حکمت عملی کا ماخذ کوڈ
/*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)