StochRSI رجحان سے باخبر رہنے کی حکمت عملی کے ساتھ ملٹی پیریڈ گاوسی چینل

RSI HLC3 TR SMA BAND
تخلیق کی تاریخ: 2025-02-18 13:50:36 آخر میں ترمیم کریں: 2025-02-18 13:50:36
کاپی: 3 کلکس کی تعداد: 503
1
پر توجہ دیں
1617
پیروکار

StochRSI رجحان سے باخبر رہنے کی حکمت عملی کے ساتھ ملٹی پیریڈ گاوسی چینل

جائزہ

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

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

اس حکمت عملی کا بنیادی حصہ قیمتوں کا چینل ہے جو گوسٹن ویو کے الگورتھم پر مبنی ہے۔ اس میں مندرجہ ذیل اہم اقدامات شامل ہیں:

  1. کثیرالاضلاع فنکشن f_filt9x کا استعمال کرتے ہوئے 9 درجے کاگوسٹن فلٹرنگ کو لاگو کریں ، جس میں قطب کی اصلاح کے ذریعہ فلٹرنگ کو بہتر بنایا جائے
  2. HLC3 قیمتوں پر مبنی مین فلو لائن اور اتار چڑھاؤ کی شرح چینل کا حساب
  3. ریڈوسڈ لیگ موڈ کو متعارف کرایا گیا ہے جس میں فلٹرنگ کی تاخیر کو کم کیا گیا ہے اور فاسٹ ریسپونس موڈ میں ردعمل کی رفتار میں اضافہ کیا گیا ہے۔
  4. اسٹچ آر ایس آئی اشارے کا استعمال کرتے ہوئے اوورلوڈ اوورلوڈ رینج ((8020) ٹریڈنگ سگنل کا تعین کریں
  5. گوسٹ چینل کے اوپر اور قیمتوں کے ٹریک کو توڑنے پر ، اسٹچ آر ایس آئی اشارے کے ساتھ مل کر ایک کثیر سگنل تیار کیا جاتا ہے
  6. جب قیمتوں میں کمی واقع ہوتی ہے تو اس سے باہر نکلیں

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Demo GPT - Gaussian Channel Strategy v3.0", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=250)

// ============================================
// Gaussian Functions (Must be at top)
// ============================================
f_filt9x(_a, _s, _i) =>
    var int _m2 = 0, var int _m3 = 0, var int _m4 = 0, var int _m5 = 0, var int _m6 = 0,
    var int _m7 = 0, var int _m8 = 0, var int _m9 = 0, var float _f = 0.0
    _x = 1 - _a
    _m2 := _i == 9 ? 36 : _i == 8 ? 28 : _i == 7 ? 21 : _i == 6 ? 15 : _i == 5 ? 10 : _i == 4 ? 6 : _i == 3 ? 3 : _i == 2 ? 1 : 0
    _m3 := _i == 9 ? 84 : _i == 8 ? 56 : _i == 7 ? 35 : _i == 6 ? 20 : _i == 5 ? 10 : _i == 4 ? 4 : _i == 3 ? 1 : 0
    _m4 := _i == 9 ? 126 : _i == 8 ? 70 : _i == 7 ? 35 : _i == 6 ? 15 : _i == 5 ? 5 : _i == 4 ? 1 : 0
    _m5 := _i == 9 ? 126 : _i == 8 ? 56 : _i == 7 ? 21 : _i == 6 ? 6 : _i == 5 ? 1 : 0
    _m6 := _i == 9 ? 84 : _i == 8 ? 28 : _i == 7 ? 7 : _i == 6 ? 1 : 0
    _m7 := _i == 9 ? 36 : _i == 8 ? 8 : _i == 7 ? 1 : 0
    _m8 := _i == 9 ? 9 : _i == 8 ? 1 : 0
    _m9 := _i == 9 ? 1 : 0
    _f := math.pow(_a, _i) * nz(_s) + _i * _x * nz(_f[1]) - (_i >= 2 ? _m2 * math.pow(_x, 2) * nz(_f[2]) : 0) + (_i >= 3 ? _m3 * math.pow(_x, 3) * nz(_f[3]) : 0) - (_i >= 4 ? _m4 * math.pow(_x, 4) * nz(_f[4]) : 0) + (_i >= 5 ? _m5 * math.pow(_x, 5) * nz(_f[5]) : 0) - (_i >= 6 ? _m6 * math.pow(_x, 6) * nz(_f[6]) : 0) + (_i >= 7 ? _m7 * math.pow(_x, 7) * nz(_f[7]) : 0) - (_i >= 8 ? _m8 * math.pow(_x, 8) * nz(_f[8]) : 0) + (_i == 9 ? _m9 * math.pow(_x, 9) * nz(_f[9]) : 0)
    _f

f_pole(_a, _s, _i) =>
    _f1 = f_filt9x(_a, _s, 1)
    _f2 = _i >= 2 ? f_filt9x(_a, _s, 2) : 0.0
    _f3 = _i >= 3 ? f_filt9x(_a, _s, 3) : 0.0
    _f4 = _i >= 4 ? f_filt9x(_a, _s, 4) : 0.0
    _f5 = _i >= 5 ? f_filt9x(_a, _s, 5) : 0.0
    _f6 = _i >= 6 ? f_filt9x(_a, _s, 6) : 0.0
    _f7 = _i >= 7 ? f_filt9x(_a, _s, 7) : 0.0
    _f8 = _i >= 8 ? f_filt9x(_a, _s, 8) : 0.0
    _f9 = _i == 9 ? f_filt9x(_a, _s, 9) : 0.0
    _fn = _i == 1 ? _f1 : _i == 2 ? _f2 : _i == 3 ? _f3 : _i == 4 ? _f4 : _i == 5 ? _f5 : _i == 6 ? _f6 : _i == 7 ? _f7 : _i == 8 ? _f8 : _i == 9 ? _f9 : na
    [_fn, _f1]

// ============================================
// Date Filter
// ============================================
startDate = input(timestamp("1 Jan 2018"), "Start Date", group="Time Settings")
endDate = input(timestamp("31 Dec 2069"), "End Date", group="Time Settings")
timeCondition = true

// ============================================
// Stochastic RSI (Hidden Calculations)
// ============================================
stochRsiK = input.int(3, "Stoch RSI K", group="Stochastic RSI", tooltip="Only for calculations, not visible")
stochRsiD = input.int(3, "Stoch RSI D", group="Stochastic RSI")
rsiLength = input.int(14, "RSI Length", group="Stochastic RSI")
stochLength = input.int(14, "Stochastic Length", group="Stochastic RSI")

rsiValue = ta.rsi(close, rsiLength)
k = ta.sma(ta.stoch(rsiValue, rsiValue, rsiValue, stochLength), stochRsiK)
d = ta.sma(k, stochRsiD)

// ============================================
// Gaussian Channel
// ============================================
gaussianSrc = input(hlc3, "Source", group="Gaussian")
poles = input.int(4, "Poles", minval=1, maxval=9, group="Gaussian")
samplingPeriod = input.int(144, "Sampling Period", minval=2, group="Gaussian")
multiplier = input.float(1.414, "Multiplier", step=0.1, group="Gaussian")
reducedLag = input.bool(false, "Reduced Lag Mode", group="Gaussian")
fastResponse = input.bool(false, "Fast Response Mode", group="Gaussian")

// Gaussian Calculations
beta = (1 - math.cos(4 * math.asin(1) / samplingPeriod)) / (math.pow(1.414, 2 / poles) - 1)
alpha = -beta + math.sqrt(math.pow(beta, 2) + 2 * beta)
lag = (samplingPeriod - 1) / (2 * poles)

srcData = reducedLag ? gaussianSrc + (gaussianSrc - gaussianSrc[lag]) : gaussianSrc
trData = reducedLag ? ta.tr(true) + (ta.tr(true) - ta.tr(true)[lag]) : ta.tr(true)

[mainFilter, filter1] = f_pole(alpha, srcData, poles)
[trFilter, trFilter1] = f_pole(alpha, trData, poles)

finalFilter = fastResponse ? (mainFilter + filter1) / 2 : mainFilter
finalTrFilter = fastResponse ? (trFilter + trFilter1) / 2 : trFilter

upperBand = finalFilter + finalTrFilter * multiplier
lowerBand = finalFilter - finalTrFilter * multiplier

// ============================================
// Trading Logic
// ============================================
longCondition = 
  finalFilter > finalFilter[1] and      // Green Channel
  close > upperBand and                 // Price above upper band
  (k >= 80 or k <= 20) and             // Stoch RSI condition
  timeCondition

exitCondition = ta.crossunder(close, upperBand)

if longCondition
    strategy.entry("Long", strategy.long)

if exitCondition
    strategy.close("Long")

// ============================================
// Visuals (Gaussian Only)
// ============================================
bandColor = finalFilter > finalFilter[1] ? color.new(#00ff00, 0) : color.new(#ff0000, 0)
plot(finalFilter, "Filter", bandColor, 2)
plot(upperBand, "Upper Band", bandColor)
plot(lowerBand, "Lower Band", bandColor)
fill(plot(upperBand), plot(lowerBand), color.new(bandColor, 90))

barcolor(close > open and close > upperBand ? color.green : 
         close < open and close < lowerBand ? color.red : na)