बैंडपास औसत पीबी संकेतक रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-17 17:10:53
टैगः

img

अवलोकन

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

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

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

स्टॉक की कीमत में ओवरबॉट और ओवरसोल्ड की स्थिति की पहचान करने के लिए रणनीति बोलिंगर बैंड संकेतक का भी उपयोग करती है। बोलिंगर बैंड संकेतक में तीन वक्र होते हैंः मिडिल रेल, अपर रेल और लोअर रेल। मिडिल रेल एन-डे मूविंग एवरेज है; ऊपरी और निचली रेल की गणना मिडिल रेल और ऐतिहासिक अस्थिरता के आधार पर की जाती है। जब स्टॉक की कीमत ऊपरी रेल के करीब होती है, तो यह ओवरबोल्ड जोन में होती है; जब यह निचली रेल के करीब होती है, तो यह ओवरसोल्ड जोन में होती है, और मिडिल रेल के आसपास का क्षेत्र स्टॉक के लिए एक उचित मूल्य सीमा है।

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

लाभ विश्लेषण

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

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

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

इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः

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

उपरोक्त जोखिमों को दूर करने के लिए, पैरामीटर सेटिंग्स को अनुकूलित करने, सख्त स्टॉप लॉस, मैक्रो कारकों को ध्यान में रखते हुए, जोखिम को कम करने के लिए मैन्युअल निगरानी जैसे तरीकों का उपयोग किया जा सकता है।

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

इस रणनीति के लिए अनुकूलन दिशाओं में निम्नलिखित शामिल हैंः

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

निष्कर्ष

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


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BandPass EOS", overlay=false, initial_capital = 1000)

src = input(close, "Source", input.source)
Period1 = input(41, "Fast Period", input.integer)
Period2 = input(54, "Slow Period", input.integer)
showBG = input(false, "Show crosses on background?", input.bool)
UseReversalStop = input(true, "Use additional triggers?", input.bool)

//Super Passband Filter
a1 = 0.0
a2 = 0.0
PB = 0.0
RMS = 0.0
if bar_index > Period1
    a1 := 5 / Period1
    a2 := 5 / Period2
    PB := (a1 - a2) * src + (a2 * (1 - a1) - a1 * (1 - a2)) * src[1] + 
       (1 - a1 + 1 - a2) * nz(PB[1]) - (1 - a1) * (1 - a2) * nz(PB[2])
    for i = 0 to 49 by 1
        RMS := RMS + PB[i] * PB[i]
        RMS
    RMS := sqrt(RMS / 40)
    RMS
z = 0

buy = PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z)
sell = PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z)
signal = buy ? 1 : sell ? -1 : 0
bg = buy ? color.green : sell ? color.red : color.white
bg := showBG ? bg : na
upperFill = PB>RMS ? color.lime : na
lowerFill = PB<-RMS ? color.red : na

p1 = plot(PB,"PB",color.red)
p2 = plot(RMS,"+RMS",color.blue)
p3 = plot(-RMS,"-RMS",color.blue)
bgcolor(bg)
fill(p1,p2,upperFill)
fill(p1,p3,lowerFill)
hline(0)



//PERIOD
testStartYear = input(2018, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true
    
lcolor = PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z)
scolor = PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z)

c1 = (PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z))
c2 = (PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z))

plot (c1 ? PB : na, style = plot.style_circles, color = color.red, linewidth = 3)
plot (c2 ? PB : na, style = plot.style_circles, color = color.green, linewidth = 3)

if (PB > PB [5] and crossover(PB, -RMS) or PB > PB [5] and crossover (PB, RMS) or PB > PB [5] and crossover (PB, z))
    strategy.entry("long", strategy.long, when = testPeriod())


if (PB < PB [5] and crossunder(PB, RMS) or PB < PB [5] and crossunder (PB, -RMS) or PB < PB [5] and crossunder (PB, z))
    strategy.entry("short", strategy.short, when = testPeriod())

    

अधिक