رفتار کے بعد انکولی شماریاتی ثالثی حکمت عملی


تخلیق کی تاریخ: 2023-12-11 16:41:27 آخر میں ترمیم کریں: 2023-12-11 16:41:27
کاپی: 0 کلکس کی تعداد: 791
1
پر توجہ دیں
1621
پیروکار

رفتار کے بعد انکولی شماریاتی ثالثی حکمت عملی

جائزہ

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

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

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

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Julien_Eche
//@version=5

strategy("Nadaraya-Watson Envelope Strategy", overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20)

// Helper Functions
getEnvelopeBounds(_atr, _nearFactor, _farFactor, _envelope) => 
    _upperFar = _envelope + _farFactor*_atr
    _upperNear = _envelope + _nearFactor*_atr
    _lowerNear = _envelope - _nearFactor*_atr
    _lowerFar = _envelope - _farFactor*_atr
    _upperAvg = (_upperFar + _upperNear) / 2
    _lowerAvg = (_lowerFar + _lowerNear) / 2 
    [_upperNear, _upperFar, _upperAvg, _lowerNear, _lowerFar, _lowerAvg]

customATR(length, _high, _low, _close) =>
    trueRange = na(_high[1])? math.log(_high)-math.log(_low) : math.max(math.max(math.log(_high) - math.log(_low), math.abs(math.log(_high) - math.log(_close[1]))), math.abs(math.log(_low) - math.log(_close[1])))
    ta.rma(trueRange, length)

customKernel(x, h, alpha, x_0) =>
    sumWeights = 0.0
    sumXWeights = 0.0
    for i = 0 to h
        weight = math.pow(1 + (math.pow((x_0 - i), 2) / (2 * alpha * h * h)), -alpha)
        sumWeights := sumWeights + weight
        sumXWeights := sumXWeights + weight * x[i]
    sumXWeights / sumWeights

// Custom Settings
customLookbackWindow = input.int(8, 'Lookback Window (Custom)', group='Custom Settings')
customRelativeWeighting = input.float(8., 'Relative Weighting (Custom)', step=0.25, group='Custom Settings')
customStartRegressionBar = input.int(25, "Start Regression at Bar (Custom)", group='Custom Settings')

// Envelope Calculations
customEnvelopeClose = math.exp(customKernel(math.log(close), customLookbackWindow, customRelativeWeighting, customStartRegressionBar))
customEnvelopeHigh = math.exp(customKernel(math.log(high), customLookbackWindow, customRelativeWeighting, customStartRegressionBar))
customEnvelopeLow = math.exp(customKernel(math.log(low), customLookbackWindow, customRelativeWeighting, customStartRegressionBar))
customEnvelope = customEnvelopeClose
customATRLength = input.int(60, 'ATR Length (Custom)', minval=1, group='Custom Settings')
customATR = customATR(customATRLength, customEnvelopeHigh, customEnvelopeLow, customEnvelopeClose)
customNearATRFactor = input.float(1.5, 'Near ATR Factor (Custom)', minval=0.5, step=0.25, group='Custom Settings')
customFarATRFactor = input.float(2.0, 'Far ATR Factor (Custom)', minval=1.0, step=0.25, group='Custom Settings')
[customUpperNear, customUpperFar, customUpperAvg, customLowerNear, customLowerFar, customLowerAvg] = getEnvelopeBounds(customATR, customNearATRFactor, customFarATRFactor, math.log(customEnvelopeClose))

// Colors
customUpperBoundaryColorFar = color.new(color.red, 60)
customUpperBoundaryColorNear = color.new(color.red, 80)
customBullishEstimatorColor = color.new(color.teal, 50)
customBearishEstimatorColor = color.new(color.red, 50)
customLowerBoundaryColorNear = color.new(color.teal, 80)
customLowerBoundaryColorFar = color.new(color.teal, 60)

// Plots
customUpperBoundaryFar = plot(math.exp(customUpperFar), color=customUpperBoundaryColorFar, title='Upper Boundary: Far (Custom)')
customUpperBoundaryAvg = plot(math.exp(customUpperAvg), color=customUpperBoundaryColorNear, title='Upper Boundary: Average (Custom)')
customUpperBoundaryNear = plot(math.exp(customUpperNear), color=customUpperBoundaryColorNear, title='Upper Boundary: Near (Custom)') 
customEstimationPlot = plot(customEnvelopeClose, color=customEnvelope > customEnvelope[1] ? customBullishEstimatorColor : customBearishEstimatorColor, linewidth=2, title='Custom Estimation')
customLowerBoundaryNear = plot(math.exp(customLowerNear), color=customLowerBoundaryColorNear, title='Lower Boundary: Near (Custom)')
customLowerBoundaryAvg = plot(math.exp(customLowerAvg), color=customLowerBoundaryColorNear, title='Lower Boundary: Average (Custom)') 
customLowerBoundaryFar = plot(math.exp(customLowerFar), color=customLowerBoundaryColorFar, title='Lower Boundary: Far (Custom)')

// Fills
fill(customUpperBoundaryFar, customUpperBoundaryAvg, color=customUpperBoundaryColorFar, title='Upper Boundary: Farmost Region (Custom)')
fill(customUpperBoundaryNear, customUpperBoundaryAvg, color=customUpperBoundaryColorNear, title='Upper Boundary: Nearmost Region (Custom)')
fill(customLowerBoundaryNear, customLowerBoundaryAvg, color=customLowerBoundaryColorNear, title='Lower Boundary: Nearmost Region (Custom)')
fill(customLowerBoundaryFar, customLowerBoundaryAvg, color=customLowerBoundaryColorFar, title='Lower Boundary: Farmost Region (Custom)')


longCondition = ta.crossover(close, customEnvelopeLow)
if (longCondition)
    strategy.entry("Buy", strategy.long)

exitLongCondition = ta.crossover(customEnvelopeHigh, close)
if (exitLongCondition)
    strategy.close("Buy")