ریکوریو مومنٹم ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-31 16:56:31
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

ریکوریو بینڈ اشارے کا حساب کتاب

ریکوریسیو بینڈ اشارے میں ایک اوپری بینڈ ، ایک نچلی بینڈ اور ایک وسط لائن شامل ہے۔ اشارے کا حساب اس طرح کیا جاتا ہے:

اوپری بینڈ = زیادہ سے زیادہ ((پچھلا باراوپری بینڈ، بند قیمت + nاتار چڑھاؤ) کم بینڈ = Min(پچھلے بارکے کم بینڈ، بند ہونے کی قیمت - nاتار چڑھاؤ) درمیانی لائن = (اوپر بینڈ + نچلی بینڈ) / 2

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

تجارتی قواعد

حکمت عملی سب سے پہلے چیک کرتی ہے کہ کیا نیچے کی بینڈ اور اوپری بینڈ ایک ہی سمت میں چل رہے ہیں تاکہ جھوٹے بریک آؤٹ سے بچ سکے۔

جب قیمت نچلی بینڈ سے نیچے ٹوٹ جاتی ہے تو ، طویل ہوجائیں۔ جب قیمت اوپری بینڈ سے اوپر ٹوٹ جاتی ہے تو ، مختصر ہوجائیں۔

اس کے علاوہ، سٹاپ نقصان منطق لاگو کیا جاتا ہے.

فوائد کا تجزیہ

اس حکمت عملی کے فوائد یہ ہیں:

  1. بار بار حساب کتاب سے بچنے کے لئے ریکوریسی فریم ورک کا استعمال کرتے ہوئے اشارے کا موثر حساب کتاب
  2. مارکیٹ کے مختلف نظاموں کو اپنانے کے لئے لچکدار پیرامیٹرز کی ترتیب
  3. ٹرینڈ اور بریک آؤٹ کا امتزاج ، جھوٹے بریک آؤٹ سے بچنا
  4. رفتار کی حالت کے فلٹرز سگنل کی کیفیت کو یقینی بناتے ہیں

خطرے کا تجزیہ

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. پیرامیٹرز کی غلط ترتیبات سے زیادہ تجارت یا سگنل کی خراب معیار کا سبب بن سکتا ہے
  2. اہم رجحانات میں تبدیلی کے وقت بڑے نقصانات کا سامنا کرنا پڑ سکتا ہے
  3. انتہائی حرکتوں میں ناکافی سلائڈنگ کنٹرول نقصانات کو بڑھا سکتا ہے

یہ خطرات پیرامیٹر کی اصلاح، سٹاپ نقصان کو لاگو کرنے، سلائڈج کی حد کو بڑھانے وغیرہ کی طرف سے منظم کیا جا سکتا ہے.

اصلاح کی ہدایات

حکمت عملی کو مزید بہتر بنانے کے لئے کچھ ہدایات:

  1. استحکام کے لئے متعدد ٹائم فریموں میں اشارے شامل کریں
  2. موافقت پذیر پیرامیٹر کی اصلاح کے لئے مشین لرننگ ماڈیول شامل کریں
  3. پیرامیٹرز کے بہترین مجموعے تلاش کرنے کے لئے مقداری ارتباط کا تجزیہ کریں
  4. قیمتوں کے راستے کی پیشن گوئی اور سگنل کی درستگی کو بہتر بنانے کے لئے گہری سیکھنے کا استعمال کریں

نتیجہ

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
// Original indicator by alexgrover
strategy('Extended Recursive Bands Strategy', overlay=true, commission_type=strategy.commission.percent,commission_value=0.06,default_qty_type =strategy.percent_of_equity,default_qty_value = 100,initial_capital =1000)
length = input.int(260, step=10, title='Length')
src = input(close, title='Source')
method = input.string('Classic', options=['Classic', 'Atr', 'Stdev', 'Ahlr', 'Rfv'], title='Method')
bandDirectionCheck = input.bool(true, title='Bands Hold Direction')
lookback = input(3)
//----
atr = ta.atr(length)
stdev = ta.stdev(src, length)
ahlr = ta.sma(high - low, length)
rfv = 0.
rfv := ta.rising(src, length) or ta.falling(src, length) ? math.abs(ta.change(src)) : rfv[1]
//-----
f(a, b, c) =>
    method == a ? b : c
v(x) =>
    f('Atr', atr, f('Stdev', stdev, f('Ahlr', ahlr, f('Rfv', rfv, x))))
//----
sc = 2 / (length + 1)
a = 0.
a := math.max(nz(a[1], src), src) - sc * v(math.abs(src - nz(a[1], src)))
b = 0.
b := math.min(nz(b[1], src), src) + sc * v(math.abs(src - nz(b[1], src)))
c = (a+b)/2

// Colors
beColor = #675F76
buColor = #a472ff

// Plots
pA = plot(a, color=color.new(beColor, 0), linewidth=2, title='Upper Band')
pB = plot(b, color=color.new(buColor, 0), linewidth=2, title='Lower Band')
pC = plot(c, color=color.rgb(120,123,134,0), linewidth=2, title='Middle Band')
fill(pC, pA, color=color.new(beColor,90))
fill(pC, pB, color=color.new(buColor,90))

// Band keeping direction
// By Adulari
longc = 0
shortc = 0
for i = 0 to lookback-1
    if b[i] > b[i+1]
        longc:=longc+1
    if a[i] < a[i+1]
        shortc:=shortc+1
bhdLong = if bandDirectionCheck
    longc==lookback
else
    true
bhdShort = if bandDirectionCheck
    shortc==lookback
else
    true

// Strategy
if b>=low and bhdLong
    strategy.entry(id='Long',direction=strategy.long)
if high>=a and bhdShort
    strategy.entry(id='Short',direction=strategy.short)

// TP at middle line
//if low<=c and strategy.position_size<0 and strategy.position_avg_price>close
    //strategy.exit(id="Short",limit=close)
//if high>=c and strategy.position_size>0 and strategy.position_avg_price<close
    //strategy.exit(id="Long",limit=close)

مزید