گاوسی چینل اور اسٹاکسٹک RSI پر مبنی ملٹی انڈیکیٹر اڈاپٹیو ٹریڈنگ حکمت عملی

GC SRSI HLC3 TR RSI
تخلیق کی تاریخ: 2025-02-21 11:28:34 آخر میں ترمیم کریں: 2025-02-21 11:28:34
کاپی: 0 کلکس کی تعداد: 410
2
پر توجہ دیں
319
پیروکار

گاوسی چینل اور اسٹاکسٹک RSI پر مبنی ملٹی انڈیکیٹر اڈاپٹیو ٹریڈنگ حکمت عملی گاوسی چینل اور اسٹاکسٹک RSI پر مبنی ملٹی انڈیکیٹر اڈاپٹیو ٹریڈنگ حکمت عملی

جائزہ

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

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

حکمت عملی کی بنیادی منطق درج ذیل کلیدی اجزاء پر مبنی ہے:

  1. گوسٹ چینل کا حساب کتاب: HLC3 قیمت کے اعداد و شمار پر عملدرآمد کرنے کے لئے ڈوڈو گوسٹ فلٹر کا استعمال کرتے ہوئے ، ایک انکولی چینل بنائیں۔ بیٹا اور الفا پیرامیٹرز کے ذریعہ فلٹرنگ کے اثرات کو بہتر بنائیں ، اور اختیاری طور پر تاخیر کو کم کریں۔
  2. چینل کی چوڑائی ایڈجسٹمنٹ: چینل کی چوڑائی کو حقیقی طول موج کی بنیاد پر متحرک طور پر ایڈجسٹ کریں (TR) ، 1.414 کو بطور ڈیفالٹ ضرب استعمال کریں۔
  3. بے ترتیب آر ایس آئی سگنل: 14 سائیکل آر ایس آئی اور بے ترتیب اشارے کے ساتھ مل کر ، 80 سے اوپر یا 20 سے نیچے سگنل پیدا کرتا ہے۔
  4. داخلے کی شرائط: گاسٹ چینل کو اوپر ، قیمت کو توڑنے کے لئے ، اور بے ترتیب RSI سگنل کو متحرک کرنے کے لئے تین شرائط کو ایک ساتھ پورا کرنا ہوگا۔
  5. باہر نکلنے کی منطق: جب قیمت گاسٹ چینل کے اوپر سے نیچے آجائے تو اس کی جگہ صاف کردی جائے۔

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

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

//@version=5
strategy(title="Gaussian Channel Strategy v3.0", overlay=true, calc_on_every_tick=false, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, fill_orders_on_standard_ohlc=true)

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Gaussian Filter Functions (Must be declared first)
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
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
    _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_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]

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Inputs
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------


// Gaussian Channel
int poles = input.int(4, "Poles", 1, 9, group="Gaussian Channel")
int period = input.int(144, "Sampling Period", 2, group="Gaussian Channel")
float mult = input.float(1.414, "True Range Multiplier", group="Gaussian Channel")
bool reducedLag = input.bool(false, "Reduced Lag Mode", group="Gaussian Channel")
bool fastResponse = input.bool(false, "Fast Response Mode", group="Gaussian Channel")

// Stochastic RSI
smoothK = input.int(3, "K", 1, group="Stochastic RSI")
smoothD = input.int(3, "D", 1, group="Stochastic RSI")
lengthRSI = input.int(14, "RSI Length", 1, group="Stochastic RSI")
lengthStoch = input.int(14, "Stochastic Length", 1, group="Stochastic RSI")

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

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

[filterMain, filter1] = f_pole(alpha, srcData, poles)
[filterTRMain, filterTR1] = f_pole(alpha, trData, poles)

finalFilter = fastResponse ? (filterMain + filter1)/2 : filterMain
finalTR = fastResponse ? (filterTRMain + filterTR1)/2 : filterTRMain

hband = finalFilter + finalTR * mult
lband = finalFilter - finalTR * mult

// Stochastic RSI
rsi = ta.rsi(close, lengthRSI)
k = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), smoothK)
d = ta.sma(k, smoothD)

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Trading Logic
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
gaussianGreen = finalFilter > finalFilter[1]
priceAbove = close > hband
stochCondition = k > 80 or k < 20

longCondition = gaussianGreen and priceAbove and stochCondition 
exitCondition = ta.crossunder(close, hband) 

strategy.entry("Long", strategy.long, when=longCondition)
strategy.close("Long", when=exitCondition)

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
// Visuals
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------
filterColor = finalFilter > finalFilter[1] ? #0aff68 : #ff0a5a
plot(finalFilter, "Filter", filterColor, 2)
plot(hband, "High Band", filterColor)
plot(lband, "Low Band", filterColor)
fill(plot(hband), plot(lband), color.new(filterColor, 90), "Channel Fill")