لکیری ریگریشن تجزیہ پر مبنی ایک مقداری تجارتی حکمت عملی


تخلیق کی تاریخ: 2024-01-26 15:48:35 آخر میں ترمیم کریں: 2024-01-26 15:48:35
کاپی: 0 کلکس کی تعداد: 680
1
پر توجہ دیں
1617
پیروکار

لکیری ریگریشن تجزیہ پر مبنی ایک مقداری تجارتی حکمت عملی

جائزہ

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

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

لکیری واپسی چینل کی حکمت عملی کا مرکز لکیری واپسی کی حکمت عملی ہے جس میں قیمتوں کے درمیانی ہندسوں کی نمائندگی کرنے والی درمیانی لائن ، قیمتوں کی اوپری حد کی نمائندگی کرنے والی اوپری ریل اور قیمتوں کی نچلی حد کی نمائندگی کرنے والی نچلی ریل کی تشکیل کے لئے ، K جڑ K لائنوں کی ایک خاص تعداد کے ل closing قیمت کی لکیری واپسی کے مساوات کا حساب لگایا جاتا ہے۔ اس حساب کتاب کا طریقہ کار مندرجہ ذیل ہے:

  1. ان پٹ پیرامیٹرز کی لمبائی کی طرف سے مقرر کردہ K جڑ K لائن کے لئے آزاد متغیر x اور منحصر متغیر y جمع کریں۔ یہاں x 1 سے لمبائی تک کا ایک عددی عدد ہے ، اور y اسی K لائن کی اختتامی قیمت ہے۔

  2. ریگریشن فیکٹر:

    • b = (∑y)/n - m(∑x)/n
    • m = [(n∑xy) - (∑x)(∑y)]/[(n∑x2) - (∑x)2]
  3. ہر K لائن کے لئے لکیری رجعت کی قیمت y’ کا حساب لگائیں ، معیاری فرق STDDEV

  4. مرکزی لائن واپسی مساوات y’ = mx + b کے طور پر ہے ، اوپر اور نیچے کی سڑکیں بالترتیب مرکزی لائن کے اوپر اور نیچے ایک معیاری فاصلے کے فاصلے کے فاصلے پر ہیں۔

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

طاقت کا تجزیہ

روایتی اوسط لکیری حکمت عملی کے مقابلے میں لکیری رجعت چینل کی حکمت عملی میں مندرجہ ذیل فوائد ہیں:

  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=2
strategy("Stealthy 7 Linear Regression Channel Strategy", overlay=true)
source = open
length = input(100, minval=1)
mult1 = input(1, minval=0.001, maxval=50)
mult2 = input(1, minval=0.001, maxval=50)
DayTrader = input(title="Range Mode", type=bool, defval=false)

//Making the first least squares line
sum_x = length * (length + 1) / 2
sum_y = 0
sum_xy = 0
xyproductsum = 0
sum_xx = 0
for i = 1 to length
    sum_y := sum_y + close[i]
    sum_xy := i * close[i] + sum_xy
    sum_xx := i * i + sum_xx
m = (length*sum_xy - (sum_x * sum_y)) / (length * sum_xx - (sum_x * sum_x))
b = sum_y / length - (m * sum_x / length)

//Finding the first standard deviation from the line
difference = 0
for i = 1 to length
    y = i * m  + b
    difference := pow(abs(close[i] - y),2) + difference
STDDEV = sqrt(difference / length)

//Creating trading zones
dev = mult1 * STDDEV
dev2 = mult2 * STDDEV
upper = b + dev
lower = b - dev2
middle = b

if DayTrader == false
    if crossover(source, upper)
        strategy.entry("RGLONG", strategy.long, oca_name="RegChannel",  comment="RegLong")
    else
        strategy.cancel(id="RGLONG")

    if crossunder(source, lower)
        strategy.entry("RGSHORT", strategy.short, oca_name="RegChannel",  comment="RegShort")
    else
        strategy.cancel(id="RGSHORT")

    if crossover(source, middle) and strategy.position_size < 0
        strategy.close_all()
    if crossunder(source,middle) and strategy.position_size > 0
        strategy.close_all()

if DayTrader == true
    if crossover(source, lower) 
        strategy.entry("RGLONG", strategy.long, oca_name="RegChannel",  comment="RegLong")
    else
        strategy.cancel(id="RGLONG")

    if crossunder(source, upper)
        strategy.entry("RGSHORT", strategy.short, oca_name="RegChannel",  comment="RegShort")
    else
        strategy.cancel(id="RGSHORT")


plot(upper, title="UpperBand", color=purple, linewidth=1, style=line)
plot(lower, title="LowerBand", color=purple, linewidth=1, style=line)
plot(middle, title="MiddleBand", color=black, linewidth=1, style=line)