यह रणनीति पीबी संकेतक और बोलिंगर बैंड के बीच सोने के क्रॉस और मृत क्रॉस संबंध निर्धारित करने के लिए औसत पीबी संकेतक और बोलिंगर बैंड के ऊपरी और निचले रेल के बीच गणना करती है। यह खरीद संकेत उत्पन्न करता है जब पीबी संकेतक बोलिंगर बैंड के मध्य रेल या निचले रेल के ऊपर टूटता है, और बेच संकेत उत्पन्न करता है जब पीबी संकेतक बोलिंगर बैंड के मध्य रेल या ऊपरी रेल के नीचे टूटता है।
रणनीति का मुख्य संकेतक औसत पीबी संकेतक है। औसत पीबी संकेतक चलती औसत प्रणाली की स्थिरता और पीबी संकेतक की संवेदनशीलता को जोड़ती है। यह लंबी और छोटी प्रवृत्तियों को निर्धारित करने के लिए मूल्य परिवर्तन के रुझानों को व्यक्त करने के लिए विभिन्न चक्रों के तेजी से और धीमी गति से चलती औसत के बीच अंतर का उपयोग करता है।
स्टॉक की कीमत में ओवरबॉट और ओवरसोल्ड की स्थिति की पहचान करने के लिए रणनीति बोलिंगर बैंड संकेतक का भी उपयोग करती है। बोलिंगर बैंड संकेतक में तीन वक्र होते हैंः मिडिल रेल, अपर रेल और लोअर रेल। मिडिल रेल एन-डे मूविंग एवरेज है; ऊपरी और निचली रेल की गणना मिडिल रेल और ऐतिहासिक अस्थिरता के आधार पर की जाती है। जब स्टॉक की कीमत ऊपरी रेल के करीब होती है, तो यह ओवरबोल्ड जोन में होती है; जब यह निचली रेल के करीब होती है, तो यह ओवरसोल्ड जोन में होती है, और मिडिल रेल के आसपास का क्षेत्र स्टॉक के लिए एक उचित मूल्य सीमा है।
संक्षेप में, यह रणनीति बुद्धिमानी से स्टॉक की कीमतों के ऊपर या नीचे के रुझान को निर्धारित करने के लिए औसत पीबी संकेतक का उपयोग करती है, और ओवरबॉट और ओवरसोल्ड स्थितियों को निर्धारित करने के लिए एक सहायक संकेतक के रूप में बोलिंगर बैंड, दोनों संकेतकों के बीच संबंध से ट्रेडिंग संकेत खोजने के लिए। यह एक विशिष्ट तकनीकी संकेतक ट्रेडिंग रणनीति से संबंधित है।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
उपरोक्त जोखिमों को दूर करने के लिए, पैरामीटर सेटिंग्स को अनुकूलित करने, सख्त स्टॉप लॉस, मैक्रो कारकों को ध्यान में रखते हुए, जोखिम को कम करने के लिए मैन्युअल निगरानी जैसे तरीकों का उपयोग किया जा सकता है।
इस रणनीति के लिए अनुकूलन दिशाओं में निम्नलिखित शामिल हैंः
इस रणनीति का समग्र प्रदर्शन काफी संतोषजनक है। इसके मूल के रूप में औसत पीबी संकेतक और ट्रेडिंग संकेतों को निर्धारित करने में सहायता करने के लिए बोलिंगर बैंड के साथ, इसमें सरल तर्क, उच्च संवेदनशीलता और सभ्य बैकटेस्ट परिणाम हैं। पैरामीटर सेटिंग्स को अनुकूलित करना जारी रखते हुए, अन्य सहायक संकेतक जोड़कर, सख्त स्टॉप लॉस आदि को लागू करके, रणनीति की लाभप्रदता और स्थिरता में और सुधार किया जा सकता है। यह लाइव ट्रेडिंग और अनुप्रयोग में सत्यापित करने योग्य है।
/*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())