होम तकनीकी संकेतक पोस्ट

MetaTrader 5 के लिए प्रोफेशनल ZigZag इंडिकेटर

संलग्नक
263.zip (5.64 KB, डाउनलोड 0 बार)

ध्यान दें! यह ZigZag इंडिकेटर का संस्करण ZigZag कोड पर आधारित है, और इसे इसके लेखक की अनुमति से यहाँ प्रकाशित किया गया है, PPC. मैंने इस संस्करण का परीक्षण किया है और एल्गोरिदम में एक त्रुटि को ठीक किया है।

यह कोड MetaTrader 4 के लिए Zigzag इंडिकेटर का MQL5 संस्करण है।

ध्यान दें! AlexSTAL_OutsideBar.mqh पुस्तकालय को MetaTrader 5 क्लाइंट टर्मिनल के ..\MQL5\Include फ़ोल्डर में होना चाहिए।

क्या यही सब है?

मुझे लगता है कि ZigZag कीमत चार्ट का संकुचन जैसा होता है। ZigZag को बार की कीमत (जैसे, Close कीमत) या बार के High/Low कीमतों का उपयोग करके गणना की जा सकती है (यह सबसे सामान्य तरीका है)

जब मैं MetaQuotes द्वारा प्रस्तावित मानक ZigZag के साथ काम कर रहा था, तो मैंने कुछ त्रुटियाँ पाई हैं। मुख्य समस्या यह है कि मानक ZigZag, बाहर के बार की स्थिति को नहीं संभालता है।

2007 में Rashid Umarov (Rosh) ने बाहर के बार के प्रोसेसिंग के साथ Zigzag2 R कोड प्रकाशित किया।

आइए "सही" ZigZag कार्यान्वयन की विशेषताओं को परिभाषित करें:

  • Highs और Lows को सख्ती से वैकल्पिक होना चाहिए;
  • High को अगले (विपरीत) Low तक दाहिनी तरफ सभी बार में उच्च (या समान) होना चाहिए;
  • Low को अगले (विपरीत) High तक बाईं तरफ सभी बार में निम्न (या समान) होना चाहिए।

आइए उदाहरण के रूप में (EURUSD, H1, 2006, 8-13 दिसंबर) पर विचार करें। यहाँ हमारे पास बाहर के बार के साथ दो मामले हैं। सामान्य ZigZag "सही" चित्र नहीं बना सकता।

चित्र 1. सामान्य ZigZag

चित्र 1. सामान्य ZigZag

चित्र 2. Zigzag2 R

चित्र 2. Zigzag2 R


चित्र 3. Zigzag2 R

चित्र 3. Zigzag2 R

पहली नज़र में, चित्र 3 में सही निर्माण प्रस्तुत किया गया है लेकिन यहाँ कुछ विशेषताएँ हैं:

  1. इस मामले में इसे सही ढंग से बनाया गया है लेकिन आमतौर पर एल्गोरिदम को किसी भी पैरामीटर के साथ काम करना चाहिए।
  2. बाईं तरफ का बाहर का बार सही नहीं है, क्योंकि बार के High/Low निर्माण का क्रम:


ZigZag खंडों को इस तरह से बनाया जाना चाहिए।

मैंने निम्नलिखित ZigZag एल्गोरिदम के कई मामलों का परीक्षण किया है: ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF. लेकिन इनमें से कोई भी समस्या को सही ढंग से हल नहीं कर पाया।


यहाँ इस इंडिकेटर के साथ चित्र हैं:

चित्र 4. प्रोफेशनल ZigZag

चित्र 4. प्रोफेशनल ZigZag

चित्र 5. प्रोफेशनल ZigZag

चित्र 5. प्रोफेशनल ZigZag


इस संस्करण की कुछ विशेषताएँ:

  • एक-पास एल्गोरिदम
  • यह केवल अंतिम खंड को फिर से गणना करता है और फिर से खींचता है (खंड को इतिहास अपडेट के अलावा रद्द नहीं किया जा सकता)
  • यह बार के अंदर गणनाओं के लिए अनुकूलन एल्गोरिदम है (यह 0 (अपूर्ण) बार के अंदर कीमत बदलने पर फिर से गणना का उपयोग नहीं करता अगर कीमत की परिवर्तन थ्रेसहोल्ड, जो MinMotion इनपुट पैरामीटर द्वारा निर्धारित की गई है, से कम है)
  • यह High/Low निर्माण के क्रम के लिए दो एल्गोरिदम हैं: बार प्रकार का उपयोग करके (तेज लेकिन सटीक नहीं) निचले समय सीमा से डेटा का उपयोग करना (इसमें इतिहास की आवश्यकता है, आपको इसकी उपस्थिति और सहीता की जांच करनी होगी)
ProExtra संस्करण प्रकाशित नहीं किया गया है, क्योंकि MetaTrader 5 के उद्धरणों की सहीता की जांच नहीं की गई है।


यहाँ ZigZag की गलत निर्माण के कुछ अतिरिक्त उदाहरण हैं:

चित्र 6. EURUSD, H1

चित्र 6. EURUSD, H1 (लाल रेखा: ZigZag, नीली रेखा: Zigzag2 R)

चित्र 7. EURUSD, H1

चित्र 7. EURUSD, H1। ZigZag खंडों का सही निर्माण।


निष्कर्ष

दुर्भाग्यवश यह संस्करण परिपूर्ण नहीं है, लेकिन मैं इस पर काम कर रहा हूँ।

चैनल एल्गोरिदम के कारण (iHighest/iLowest), कभी-कभी यह उच्च को छोड़ देता है।

कृपया मुझे इस इंडिकेटर की बग और विशेषताओं के बारे में सूचित करें।

संबंधित पोस्ट

टिप्पणी (0)