دوہری چلتی اوسط ذہین ٹریکنگ ٹریڈنگ حکمت عملی چلتی اوسط اور مخصوص اشارے پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ حکمت عملی چینل بنانے کے لئے مختلف پیرامیٹرز کی ترتیبات کے ساتھ دو چلتی اوسط کا استعمال کرتی ہے اور چینل کی اوپری اور نچلی حدود کو ذہین طور پر قیمت کے رجحانات کو ٹریک کرنے کے لئے او ٹی ٹی اشارے کو جوڑتی ہے۔ جب قیمتیں چینل کو توڑتی ہیں تو ، خرید یا فروخت کے عمل کو انجام دیا جاتا ہے۔
اس حکمت عملی کا بنیادی طریقہ کار دو حرکت پذیر اوسط اور او ٹی ٹی اشارے کا استعمال کرتے ہوئے ایک موافقت پذیر چینل کی تعمیر کرنا ہے ، خاص طور پر:
تیز رفتار لائن MAvg کا حساب 5 ادوار کی لمبائی کے ساتھ ان پٹ کے طور پر CLOSE اور اپنی مرضی کے مطابق چلتی اوسط کا استعمال کرتے ہوئے کیا جائے گا۔
طویل لائن پوزیشن LongStop اور مختصر لائن پوزیشن ShortStop کا حساب MAvg اور پہلے سے مقرر فیصد کی بنیاد پر چینل کے لئے لگائیں۔
OTT اشارے میں چینل سٹاپ نقصان MT اور طویل / مختصر سمت کی بنیاد پر چینل کی قیمت OTT کا حساب لگائیں۔
جب قیمت OTT کے ذریعے ٹوٹ جاتی ہے تو تجارتی سگنل تیار کریں۔
مذکورہ بالا عمل قیمتوں کے رجحان کی تبدیلیوں کو حقیقی وقت میں ٹریک کرنے کے قابل بناتا ہے ، تجارتی سگنل تیار کرتا ہے۔
اس حکمت عملی کے فوائد میں شامل ہیں:
کچھ خطرات بھی ہیں:
خطرات کو پیرامیٹر کی اصلاح کے ذریعے حل کیا جاسکتا ہے ، دوسرے اشارے اور بنیادی فلٹرز کو ضم کیا جاسکتا ہے۔
حکمت عملی کو کئی پہلوؤں میں بہتر بنایا جا سکتا ہے:
خلاصہ میں ، یہ ایک دوہری حرکت پذیر اوسط چینل اور او ٹی ٹی اشارے پر مبنی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ بنیادی خیال ایک انکولی چینل کی تعمیر اور قیمتوں میں اضافے پر سگنل پیدا کرنا ہے۔ اس حکمت عملی کے فوائد ہیں لیکن اس میں بہتری کی گنجائش بھی ہے۔ پیرامیٹر ٹیوننگ اور منطق کی اصلاح کے ساتھ ، اس میں ایک موثر کوانٹم ٹریڈنگ حکمت عملی بننے کی صلاحیت ہے جس کی تعیناتی کے قابل ہے۔
/*backtest start: 2023-02-11 00:00:00 end: 2024-02-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="BugRA_Trade_Strategy", shorttitle="BugRA_Trade_Strategy", overlay=true) // Kullanıcı Girdileri length = input(5, title="Period", minval=1) percent = input(1, title="Sihirli Yüzde", type=input.float, step=0.1, minval=0) mav = input(title="Hareketli Ortalama Türü", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"]) wt_n1 = input(10, title="Kanal Periyodu") wt_n2 = input(21, title="Averaj Uzunluğu") src = close // Tarih Aralığı Girdileri startDate = input(20200101, title="Başlangıç Tarihi (YYYYMMDD)") endDate = input(20201231, title="Bitiş Tarihi (YYYYMMDD)") // Tarih Filtresi Fonksiyonu isDateInRange() => true // Özel Fonksiyonlar Var_Func(src, length) => valpha = 2 / (length + 1) vud1 = src > src[1] ? src - src[1] : 0 vdd1 = src < src[1] ? src[1] - src : 0 vUD = sum(vud1, length) vDD = sum(vdd1, length) vCMO = (vUD - vDD) / (vUD + vDD) varResult = 0.0 varResult := nz(valpha * abs(vCMO) * src + (1 - valpha * abs(vCMO)) * nz(varResult[1])) varResult Wwma_Func(src, length) => wwalpha = 1 / length wwma = 0.0 wwma := wwalpha * src + (1 - wwalpha) * nz(wwma[1]) wwma Zlema_Func(src, length) => zxLag = floor(length / 2) zxEMAData = src + (src - src[zxLag]) zlema = ema(zxEMAData, length) zlema Tsf_Func(src, length) => lrc = linreg(src, length, 0) lrs = lrc - linreg(src, length, 1) tsf = lrc + lrs tsf getMA(src, length) => ma = mav == "SMA" ? sma(src, length) : mav == "EMA" ? ema(src, length) : mav == "WMA" ? wma(src, length) : mav == "TMA" ? sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) : mav == "VAR" ? Var_Func(src, length) : mav == "WWMA" ? Wwma_Func(src, length) : mav == "ZLEMA" ? Zlema_Func(src, length) : mav == "TSF" ? Tsf_Func(src, length) : na // Strateji Hesaplamaları MAvg = getMA(src, length) fark = MAvg * percent * 0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir==1 ? longStop: shortStop OTT = MAvg > MT ? MT*(200+percent)/200 : MT*(200-percent)/200 plot(OTT, title="BugRA", color=color.rgb(251, 126, 9)) // Alım ve Satım Koşulları longCondition = crossover(src, OTT) and isDateInRange() shortCondition = crossunder(src, OTT) and isDateInRange() // Strateji Giriş ve Çıkış Emirleri if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.close("Long")