इस लेख में
इस रणनीति का मूल मूल्य के चरम बिंदुओं का पता लगाने और मूल्य के रुझानों को प्रदर्शित करने के लिए ज़िगज़ैग संकेतक का उपयोग करना है। ज़िगज़ैग संकेतक में उच्च और निम्न कीमतों का घातीय चलती औसत (ईएमए) होता है। विशेष रूप से, इसमें निम्नलिखित चरण होते हैंः
बंद कीमतों के घातीय चलती औसत ईएमए की गणना करें, जिसमें तीन चलती औसत रेखाएं शामिल हैंः तेज रेखा, मध्य रेखा और धीमी रेखा।
यह आंकलन करें कि क्या कीमतें ऊपर की ओर बढ़ रही हैं, यानी क्या मौजूदा मध्य रेखा पिछली के-लाइन की मध्य रेखा से अधिक है।
यदि यह वर्तमान में ऊपर की ओर प्रवृत्ति में है, तो पता लगाया चक्र के भीतर निम्न बिंदुओं की पिछली लहर की शुरुआत से गिने गए सबसे कम मूल्य को ZigZag के मूल्य के रूप में खोजें।
यदि यह वर्तमान में एक गिरावट की प्रवृत्ति में है, तो पता लगाया चक्र के भीतर उच्च बिंदुओं की पिछली लहर की शुरुआत से गिने गए उच्चतम मूल्य को ZigZag के मूल्य के रूप में खोजें।
इस प्रकार, मूल्य उतार-चढ़ाव के चरम बिंदुओं को प्रतिबिंबित करने वाला ZigZag संकेतक बनता है।
इस आधार पर, हम मूल्य प्रवृत्ति का न्याय करने के लिए संदर्भ के रूप में ज़िगज़ैग रेखा का उपयोग करते हैं। अर्थात, जब मूल्य बढ़ता है और ज़िगज़ैग संकेतक रेखा को तोड़ता है, तो हम लंबे समय तक जाते हैं; जब मूल्य गिरता है और ज़िगज़ैग संकेतक रेखा को तोड़ता है, तो हम शॉर्ट जाते हैं।
स्थिति की स्थापना के रूप में मूल्य रुझानों और मूल्य चरम सीमाओं को निर्धारित करने के लिए ZigZag संकेतक का उपयोग करने के फायदे हैंः
बाजार के शोर को प्रभावी ढंग से फ़िल्टर कर सकता है और प्रमुख रुझानों को पकड़ सकता है।
नए उच्च और निम्न के ब्रेकआउट पर स्थापित ट्रेडिंग सिग्नल कुशलतापूर्वक लाभ कमा सकते हैं।
ज़िगज़ैग लाइनें अपेक्षाकृत चिकनी होती हैं, जो झूठे संकेतों को कम कर सकती हैं।
ZigZag मापदंडों को समायोजित करके रणनीतियों को अनुकूलित करना आसान है।
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
बाजार में हिंसक उतार-चढ़ाव के कारण दीर्घकालिक चलना फंस सकता है। इस समय समय पर स्टॉप लॉस की आवश्यकता होती है।
ZigZag संकेतक मापदंडों के प्रति संवेदनशील होते हैं। अनुचित सेटिंग्स व्यापार के अवसरों को याद कर सकती हैं या झूठे संकेत उत्पन्न कर सकती हैं। मापदंडों का परीक्षण और उचित रूप से अनुकूलित करने की आवश्यकता है।
ट्रेंड ट्रैकिंग रणनीतियाँ ट्रेंडिंग बाजारों पर अधिक निर्भर करती हैं। यदि साइडवेज रेंज लिमिटेड है, तो इस रणनीति की प्रभावशीलता खराब है।
उपरोक्त जोखिमों के जवाब में, हम एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस तंत्र सेट कर सकते हैं; साथ ही, पूर्ण स्थिति की तलाश के बजाय स्थिति के आकार को समायोजित करें; अंत में, विभिन्न प्रकार के रणनीति पोर्टफोलियो को मेल करें।
हम इस रणनीति को निम्नलिखित पहलुओं में और अधिक अनुकूलित कर सकते हैंः
एक स्टॉप लॉस तंत्र जोड़ें. उदाहरण के लिए, मूल्य पुनरावृत्ति आयाम के लिए स्टॉप लॉस या स्टॉप लॉस चलाने के लिए सेट करें.
स्थिति फ़िल्टर के लिए अन्य संकेतकों के साथ संयोजन करें। उदाहरण के लिए, पर्याप्त गति सुनिश्चित करने के लिए गति संकेतकों को बढ़ाएं; या उच्च व्यापारिक मात्रा सुनिश्चित करने के लिए व्यापारिक मात्रा संकेतकों।
विभिन्न बाजार परिवेशों (जैसे बैल और भालू बाजार) के अनुसार अलग-अलग पैरामीटर कॉन्फ़िगरेशन अपनाएं।
सर्वोत्तम पैरामीटर संयोजन खोजने के लिए विभिन्न ईएमए लाइन मापदंडों का परीक्षण करें।
यह रणनीति मूल्य रुझानों को निर्धारित करने के लिए ज़िगज़ैग संकेतक का उपयोग करती है और चरम बिंदुओं के पास ट्रैकिंग स्थिति स्थापित करती है। इसका लाभ लाभ के लिए प्रभावी ढंग से प्रवृत्ति का पालन करना है। इसमें फंसने का जोखिम भी है। हम जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस सेट कर सकते हैं, मापदंडों और व्यापार रणनीति पोर्टफोलियो को अनुकूलित कर सकते हैं। यह रणनीति मध्यम से दीर्घकालिक प्रवृत्ति व्यापार के लिए अधिक उपयुक्त है। यदि ठीक से नियंत्रित और संयुक्त है, तो यह स्थिर रिटर्न प्राप्त कर सकती है।
/*backtest start: 2023-12-31 00:00:00 end: 2024-01-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's ZigTrend Strategy v1.0", shorttitle = "ZigTrend 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") length = input(4) ExtremeDetection = input(4) src = input(close) fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //ZigZag f_zz(_length, _detection)=> _hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33)) _isRising = _hls >= _hls[1] _zigzag = _isRising and not _isRising[1] ? lowest(_detection) : not _isRising and _isRising[1] ? highest(_detection) : na zigzag = f_zz(length, ExtremeDetection) plot(zigzag, color=black, linewidth=2) //Signals up = close > zigzag dn = close < zigzag //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if up strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)