महत्वपूर्ण पिवोट पॉइंट्स रिवर्स रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-29 14:58:15
टैगः

img

अवलोकन

यह रणनीति एटीआर की गणना करके और एटीआर फ़िल्टर सेट करके, केवल वास्तव में महत्वपूर्ण बिंदुओं पर व्यापार करते हुए, महत्वहीन पिवोट बिंदुओं को समाप्त करने के लिए पारंपरिक पिवोट पॉइंट रिवर्स रणनीति को अनुकूलित करती है।

रणनीति तर्क

मूल तर्क महत्वपूर्ण शिखर और तल्लो धुरी बिंदुओं की पहचान करना है। महत्वपूर्ण शिखर धुरी की गणना करने के लिए प्रमुख कदम हैंः

  1. एटीआर की गणना करें और एटीआर फ़िल्टर कारक atr_mult सेट करें।
  2. बाईं ओर एक निश्चित संख्या में बारों को पार करें (leftBars द्वारा सेट), यदि पीक पिवोट बाईं ओर किसी भी उच्च + ATR*atr_mult से अधिक है, तो पिवोट अमान्य है।
  3. दाईं ओर एक निश्चित संख्या में बारों को पार करें (rightBars द्वारा सेट), यदि पीक पिवोट दाईं ओर किसी उच्च + ATR*atr_mult से अधिक है, तो पिवोट अमान्य है।
  4. यदि उपरोक्त परीक्षणों के बाद भी पीक पिव्हट वैध रहता है, तो इसे एक महत्वपूर्ण पीक पिव्हट के रूप में लौटाएं।

महत्वपूर्ण निचले धुरी की गणना के लिए तर्क समान है।

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

लाभ विश्लेषण

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

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

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

मुख्य जोखिम हैंः

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

उपरोक्त जोखिमों को नियंत्रित करने के लिए, निम्नलिखित पहलुओं से अनुकूलित करेंः

  1. पर्याप्त व्यापारिक अवसर सुनिश्चित करने के लिए एटीआर मापदंडों का अनुकूलन करना।
  2. उचित स्टॉप लॉस और ले लाभ अनुपात सेट करें।
  3. लेन-देन लागत प्रभाव को कम करने के लिए स्थिति आकार को समायोजित करें।

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

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

  1. बाजार व्यवस्था निर्धारित करने के लिए अन्य संकेतकों के साथ संयोजन, प्रवृत्ति वाले बाजारों में व्यापारिक उलटफेर से बचने के लिए। एमएसीडी, केडीजे आदि पर विचार करें।

  2. स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग एल्गोरिदम जोड़ना। आनुवंशिक एल्गोरिदम, यादृच्छिक वन जैसे तरीकों का उपयोग इष्टतम मापदंड सेट खोजने के लिए किया जा सकता है।

  3. अधिकतम एटीआर रेंज खोजने के लिए मात्रात्मक डेटा का उपयोग करने वाले प्रशिक्षण मॉडल। अधिक ऐतिहासिक डेटा पैरामीटर चयन सटीकता में सुधार करता है।

  4. अन्य रणनीतियों के साथ संयोजन पर विचार करें, विभिन्न प्रकार की रणनीतियों की ताकतों का उपयोग करें। उदाहरण के लिए, प्रवृत्ति के बाद की रणनीति के साथ संयोजन, रेंज के दौरान उलट, निरंतर प्रवृत्तियों के दौरान प्रवृत्ति का पालन करें।

निष्कर्ष

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - Significant Pivot Reversal Strategy", shorttitle = "SPPS", overlay=true)

// Inputs 
leftBars   = input(4,   title = 'PP Left Bars')
rightBars  = input(2,   title = 'PP Right Bars')
atr_length = input(14,  title = 'ATR Length')
atr_mult   = input(0.1, title = 'ATR Mult')

// Pivot High Significant Function
pivotHighSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (high[right] < high[right+i] + atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (high[right] < high[i] + atr * atr_mult)
            pp_ok := false
    
    pp_ok ? high[right] : na

// Pivot Low Significant Function
pivotLowSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (low[right] > low[right+i] - atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (low[right] > low[i] - atr * atr_mult)
            pp_ok := false
    
    pp_ok ? low[right] : na


swh = pivotHighSig(leftBars, rightBars)
swl = pivotLowSig (leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)

अधिक