डबल गतिज चलती औसत पर आधारित बुग्रा ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-19 14:36:37
टैगः

img

अवलोकन

बुग्रा ट्रेडिंग रणनीति एक रणनीति है जो मेरे प्रिय शिक्षक अनिल ओज़ेकी द्वारा विकसित ओटीटी संकेतक और लोनस्टार 108 द्वारा वेवेट्रेन्ड ऑसिलेटर संकेतक को जोड़ती है। यह दोनों संकेतकों को एकीकृत करके एक सफल ट्रेडिंग संकेतक बनाता है। रणनीति दो-तरफा बाजारों में लंबी और छोटी ट्रेडिंग कर सकती है।

रणनीतिक सिद्धांत

बुग्रा ट्रेडिंग रणनीति पहले बोलिंगर बैंड्स की मध्य रेखा की गणना करती है, जो चलती औसत रेखा MAvg है। फिर, उपयोगकर्ता द्वारा निर्धारित प्रतिशत रेंज और अवधि के आधार पर, यह लंबे स्टॉप लॉस लॉन्गस्टॉप और शॉर्ट स्टॉप लॉस शॉर्टस्टॉप की गणना करती है। जब कीमत ऊपरी रेल के माध्यम से टूटती है, तो लंबी जाती है। जब यह निचली रेल के माध्यम से टूटती है, तो छोटी जाती है। समापन संकेत तब होता है जब कीमत चलती औसत के आसपास लौटती है।

विशेष रूप से, इस रणनीति का मुख्य संकेतक ओटीटी संकेतक है। ओटीटी संकेतक में एक चलती औसत और सीमा रेखाएं होती हैं। यह कुछ एल्गोरिदम के आधार पर बाजार की अस्थिरता के अनुसार सीमा रेखाओं की स्थिति को समायोजित करती है। जब कीमत निचली सीमा रेखा ओटीटी से होकर गुजरती है, तो छोटी जाती है। जब यह ऊपरी सीमा रेखा ओटीटी से होकर गुजरती है, तो लंबी जाती है।

यह रणनीति मूल्य प्रवृत्ति की दिशा निर्धारित करने के लिए वेवेट्रेंड संकेतक का भी उपयोग करती है। यदि यह एक घटती प्रवृत्ति माना जाता है, तो केवल शॉर्ट जाएं, लंबे समय तक नहीं। यदि यह एक ऊपर की प्रवृत्ति माना जाता है, तो केवल लंबे समय तक जाएं, कम नहीं।

लाभ विश्लेषण

बुग्रा ट्रेडिंग रणनीति चलती औसत, बोलिंगर बैंड और ओटीटी संकेतकों के लाभों को जोड़ती है। यह स्वचालित रूप से स्टॉप लॉस पदों को समायोजित कर सकती है और स्टॉप लॉस के ट्रिगर होने की संभावना को कम कर सकती है। साथ ही, प्रवृत्ति निर्णय संकेतकों को शामिल करके, यह दोलन प्रवृत्तियों में फंसने से बचता है।

विशेष रूप से इस रणनीति के मुख्य लाभ निम्नलिखित हैंः

  1. यह जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए स्टॉप लॉस पदों को स्वचालित रूप से समायोजित कर सकता है।
  2. ओटीटी संकेतक रिवर्स पॉइंट्स को अपेक्षाकृत सटीक रूप से निर्धारित कर सकता है।
  3. रुझान आकलन संकेतकों को शामिल करके यह अस्थिर बाजारों में फंसने से बचता है।
  4. इसके नियम अपेक्षाकृत सरल और स्पष्ट हैं, समझने और लागू करने में आसान हैं।

जोखिम विश्लेषण

बुग्रा की व्यापारिक रणनीति में भी कुछ जोखिम हैं, मुख्य रूप से निम्नलिखित पहलुओं मेंः

  1. जबरदस्त बाजार स्थितियों में, स्टॉप लॉस टूट सकता है, जिससे अधिक नुकसान हो सकता है।
  2. ओटीटी संकेतक द्वारा निर्धारित रिवर्स सिग्नल सटीक नहीं हो सकते हैं और दोषपूर्ण सिग्नल हो सकते हैं।
  3. रुझान का आकलन भी गलत हो सकता है। नीचे की ओर उतार-चढ़ाव में लंबा जाना नुकसान का कारण बनेगा।
  4. अनुचित पैरामीटर सेटिंग्स भी रणनीति प्रदर्शन को प्रभावित करेंगे।

मुख्य रूप से निम्नलिखित उपाय किए जाते हैंः

  1. स्टॉप लॉस रेंज को उचित रूप से ढीला करें ताकि यह सुनिश्चित हो सके कि स्टॉप लॉस लाइनें आसानी से सक्रिय न हों।
  2. झूठे संकेतों से बचने के लिए ओटीटी संकेतों की विश्वसनीयता का आकलन करने के लिए अन्य संकेतकों के साथ संयोजन करें।
  3. प्रवृत्ति के आकलन को अधिक विश्वसनीय बनाने के लिए मापदंडों को उचित रूप से समायोजित करें।
  4. सबसे अच्छा पैरामीटर संयोजन खोजने के लिए मापदंडों का अनुकूलन करें.

अनुकूलन दिशाएँ

दोहरी गतिज चलती औसत ट्रेडिंग रणनीति के आगे अनुकूलन के लिए अभी भी जगह हैः

  1. सिग्नल निर्णय की सटीकता में सुधार के लिए अन्य संकेतकों के साथ संयोजन पर विचार करें।
  2. अनुकूल स्टॉप लॉस एल्गोरिदम का अध्ययन करें ताकि स्टॉप लॉस लाइनों को बाजार की अस्थिरता के अनुसार समायोजित किया जा सके।
  3. कम मात्रा में झूठे ब्रेकआउट से बचने के लिए ट्रेडिंग वॉल्यूम संकेतक जोड़ें।
  4. सबसे उपयुक्त चलती औसत खोजने के लिए विभिन्न प्रकार के चलती औसत का परीक्षण करें।
  5. स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग और अन्य तरीकों का प्रयास करें।

सारांश

दोहरी गतिशील चलती औसत ट्रेडिंग रणनीति कई संकेतकों के लाभों को एकीकृत करती है। यह स्वचालित रूप से स्टॉप लॉस पदों को समायोजित कर सकती है, उलट संकेतों का न्याय कर सकती है, और प्रवृत्ति दिशाओं की पहचान कर सकती है। इसमें मजबूत जोखिम नियंत्रण क्षमताओं और समझने और उपयोग करने में आसान जैसे फायदे हैं। लेकिन इसमें फंसने और गलत संकेतों जैसे जोखिम भी हैं। इस रणनीति को अन्य संकेतकों के साथ जोड़कर, अनुकूलन एल्गोरिदम आदि का अध्ययन करके और अनुकूलित किया जा सकता है। सामान्य तौर पर, दोहरी गतिशील गतिशील औसत ट्रेडिंग रणनीति एक व्यावहारिक ब्रेकआउट ट्रेडिंग रणनीति है।


/*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")


अधिक