انکولی باقاعدگی سے چلتی اوسط کراس مارکیٹ ثالثی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-16 16:20:11
ٹیگز:

img

جائزہ

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

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

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

  1. ایک سلائیڈنگ ونڈو کی وضاحت کریں، ڈیفالٹ لمبائی 5 دن.

  2. ہر دن کے لئے سی جی ویلیو پچھلے سی جی ویلیو اور موجودہ اختتامی قیمت کا وزن والا اوسط ہے۔ وزن لگانے میں موافقت پذیر وزن کا طریقہ کار استعمال کیا جاتا ہے ، جہاں موجودہ قیمت کے قریب اقدار کو زیادہ وزن دیا جاتا ہے۔

  3. sig منتقلی کو ہموار بنانے کے لئے ایک باقاعدگی کے طور پر λ پیرامیٹر شامل کریں.

سگنل لائن حاصل کرنے کے بعد ، حکمت عملی سگنل لائن اور قیمت کے سنہری / مردہ کراس کی بنیاد پر طویل / مختصر کا تعین کرتی ہے۔ خاص طور پر:

  1. جب SIG قیمت کے اوپر سے گزرتا ہے، تو طویل ہو.

  2. جب ایس آئی جی قیمت سے نیچے گزر جائے تو، مختصر ہو جاؤ.

اس کے علاوہ، حکمت عملی لچک بڑھانے کے لئے سایڈست پیرامیٹرز کے طور پر ہموار عنصر اور show_line شامل کرتا ہے.

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

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

  1. موافقت پذیر وزن کا طریقہ کار قیمتوں میں تبدیلیوں کا تیزی سے جواب دے سکتا ہے۔

  2. اضافی ریگولرائزر سگنل لائن کو ہموار بناتا ہے ، جس سے قیمتوں میں شدید اتار چڑھاؤ سے غلط سگنل سے بچتا ہے۔

  3. کراس مارکیٹ آربیٹریج مارکیٹوں کے درمیان قیمت کے اختلافات سے فائدہ اٹھا سکتا ہے۔

  4. لچکدار سایڈست پیرامیٹرز کو مارکیٹ کے حالات کے مطابق بہتر بنایا جاسکتا ہے۔

خطرات اور حل

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

  1. ڈبل کراس اوورز سے غلط سگنلز کا امکان زیادہ ہے۔ حل یہ ہے کہ سگنل لائن کے جھولنے سے بچنے کے لئے ہموار پیرامیٹر کو مناسب طریقے سے ایڈجسٹ کریں۔

  2. کراس مارکیٹ آربیٹریج کے لئے ضروری ہے کہ دونوں مارکیٹوں میں قیمتوں کا تعلق اور مستقل رجحانات ہوں۔ حل یہ ہے کہ آربیٹریج کے لئے انتہائی وابستہ مارکیٹوں کا انتخاب کریں۔

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

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

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بھی بہتر بنایا جاسکتا ہے:

  1. پیرامیٹرز کے انتخاب میں ، پیرامیٹرز کے مجموعوں کو خود بخود بہتر بنانے کے لئے مشین لرننگ الگورتھم متعارف کرائے جاسکتے ہیں۔

  2. سگنل جنریشن میں، زیادہ مستحکم ٹریڈنگ سگنل بنانے کے لئے مزید اشارے متعارف کرایا جا سکتا ہے.

  3. خطرے کے کنٹرول میں، اسٹاپ نقصان کو فی تجارت نقصان کو محدود کرنے کے لئے مقرر کیا جا سکتا ہے.

  4. کراس مارکیٹ آربراج میں ، اسے زیادہ انتہائی وابستہ تجارتی اثاثوں تک بڑھایا جاسکتا ہے۔

خلاصہ

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


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

//@version=3
strategy("Crossover82%", overlay=true)

//
// Functions
//
scaleMinimax(X, p, min, max) => 
    hi = highest(X, p), lo = lowest(X, p)
    (max - min) * (X - lo)/(hi - lo) + min

rema(ts, p) => // regularized ma
    rm = 0.0, lambda = .5, a = 2 / (p + 1)
    rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
    rm
    
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")

//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)

plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)

longCondition = crossover(sig, X)
if (longCondition)
    strategy.entry("LE", strategy.long)

shortCondition = crossunder(sig, X)
if (shortCondition)
    strategy.entry("SE", strategy.short)



مزید