بوگرا ٹریڈنگ کی حکمت عملی ایک ایسی حکمت عملی ہے جو میرے عزیز استاد انیل اوزکیشی کے ذریعہ تیار کردہ او ٹی ٹی اشارے اور لون اسٹار 108 کے ذریعہ ویو ٹرینڈ آسکیلیٹر اشارے کو جوڑتی ہے۔ یہ دونوں اشارے کو مربوط کرکے ایک کامیاب تجارتی اشارے تشکیل دیتی ہے۔ حکمت عملی دو طرفہ مارکیٹوں میں طویل اور مختصر تجارت کرسکتی ہے۔
بوگرا ٹریڈنگ حکمت عملی سب سے پہلے بولنگر بینڈ کی وسط لائن کا حساب لگاتی ہے ، جو کہ حرکت پذیر اوسط لائن MAvg ہے۔ پھر ، صارف کے ذریعہ مقرر کردہ فیصد رینج اور مدت کی بنیاد پر ، یہ لانگ اسٹاپ نقصان لانگ اسٹاپ اور شارٹ اسٹاپ نقصان شارٹ اسٹاپ کا حساب لگاتا ہے۔ جب قیمت اوپری ریل سے ٹوٹ جاتی ہے تو ، طویل ہوجائیں۔ جب یہ نچلی ریل سے ٹوٹ جاتی ہے تو ، مختصر ہوجائیں۔ اختتامی سگنل اس وقت ہوتا ہے جب قیمت حرکت پذیر اوسط کے آس پاس واپس آجاتی ہے۔
اس حکمت عملی کا بنیادی اشارے او ٹی ٹی اشارے ہے۔ او ٹی ٹی اشارے میں ایک حرکت پذیر اوسط اور حد کی لائنیں شامل ہیں۔ یہ کچھ الگورتھم کی بنیاد پر مارکیٹ کی اتار چڑھاؤ کے مطابق حد کی لائنوں کی پوزیشن کو ایڈجسٹ کرتا ہے۔ جب قیمت نیچے کی حد کی لائن او ٹی ٹی سے گزرتی ہے تو ، مختصر ہوجائیں۔ جب یہ اوپری حد کی لائن او ٹی ٹی سے گزرتی ہے تو ، طویل ہوجائیں۔
یہ حکمت عملی قیمت کے رجحان کی سمت کا تعین کرنے کے لئے ویٹ ٹرینڈ اشارے کا بھی استعمال کرتی ہے۔ اگر یہ نیچے کی طرف رجحان کا فیصلہ کیا جاتا ہے تو ، صرف مختصر چلیں ، لمبا نہ ہوں۔ اگر یہ اوپر کی طرف رجحان کا فیصلہ کیا جاتا ہے تو ، صرف لمبا چلیں ، مختصر نہ ہوں۔
بوگرا ٹریڈنگ حکمت عملی میں حرکت پذیر اوسط ، بولنگر بینڈ اور او ٹی ٹی اشارے کے فوائد کو جوڑ دیا گیا ہے۔ یہ اسٹاپ نقصان کی پوزیشنوں کو خود بخود ایڈجسٹ کرسکتا ہے اور اسٹاپ نقصان کو متحرک کرنے کے امکان کو کم کرسکتا ہے۔ اسی وقت ، رجحان کی تشخیص کے اشارے کو شامل کرکے ، یہ اتار چڑھاؤ کے رجحانات میں پھنسنے سے بچتا ہے۔
خاص طور پر اس حکمت عملی کے اہم فوائد یہ ہیں:
بوگرا کی تجارتی حکمت عملی میں بھی کچھ خطرات ہیں ، بنیادی طور پر مندرجہ ذیل پہلوؤں میں:
اس کے خلاف اقدامات بنیادی طور پر درج ذیل ہیں:
دوہری متحرک چلتی اوسط ٹریڈنگ کی حکمت عملی میں مزید اصلاحات کے لئے ابھی بھی گنجائش ہے:
دوہری متحرک اوسط تجارتی حکمت عملی متعدد اشارے کے فوائد کو مربوط کرتی ہے۔ یہ اسٹاپ نقصان کی پوزیشنوں کو خود بخود ایڈجسٹ کرسکتا ہے ، الٹ پھیر سگنلز کا فیصلہ کرسکتا ہے ، اور رجحان کی سمتوں کی نشاندہی کرسکتا ہے۔ اس کے فوائد جیسے مضبوط رسک کنٹرول کی صلاحیتیں اور سمجھنے اور استعمال کرنے میں آسان ہیں۔ لیکن اس میں پھنس جانے اور غلط سگنلز جیسے خطرات بھی ہیں۔ اس حکمت عملی کو دوسرے اشارے کے ساتھ مل کر ، موافقت پذیر الگورتھم وغیرہ کا مطالعہ کرکے مزید بہتر بنایا جاسکتا ہے۔ عام طور پر ، دوہری متحرک متحرک اوسط تجارتی حکمت عملی ایک عملی توڑنے والی تجارتی حکمت عملی ہے۔
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 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")