यह रणनीति समर्थन और प्रतिरोध रेखाओं को आकर्षित करने के लिए ज़िगज़ैग संकेतक का उपयोग करती है और जब मूल्य समर्थन या प्रतिरोध रेखाओं को तोड़ता है तो लंबी या छोटी स्थिति लेता है।
यह रणनीति पहले कुछ मापदंडों के तहत ज़िगज़ैग लाइनों को आकर्षित करने के लिए ज़िगज़ैग संकेतक का उपयोग करती है। जब ज़िगज़ैग संकेतक नीचे निकलता है तो हरे रंग की समर्थन लाइनें खींची जाती हैं। जब ज़िगज़ैग शीर्ष पर निकलता है तो लाल प्रतिरोध लाइनें खींची जाती हैं। जब कीमत हरी रेखा से ऊपर टूटती है तो लंबी स्थिति ली जाती है। जब कीमत लाल रेखा से नीचे टूटती है तो छोटी स्थिति ली जाती है।
विशेष रूप से, मूल तर्क हैः
ईएमए का उपयोग तीन गुणा घातीय चलती औसत के साथ बंद मूल्य को चिकना करने के लिए करें, चिकनी वक्र _hls प्राप्त करें।
यदि समतल वक्र ऊपर जा रहा है, तो न्याय करें। यदि ऊपर जा रहा है और पिछले पट्टी ऊपर नहीं जा रही थी, तो इसे नीचे माना जाता है। इस पट्टी का सबसे कम मूल्य लें। यदि गिर रहा है और पिछले पट्टी ऊपर जा रही थी, तो इसे शीर्ष माना जाता है। इस पट्टी का सबसे अधिक मूल्य लें। अन्यथा नाएन।
ज़िगज़ैग लाइन ज़िगज़ैग प्राप्त करने के लिए इस प्रक्रिया को दोहराएं।
जब ज़िगज़ैग बढ़ता है, तो वर्तमान शिखर बिंदु को रिकॉर्ड करें। गिरने पर, वर्तमान निचले बिंदु को रिकॉर्ड करें।
जब बिंदु बढ़ता है तो हरे रंग की समर्थन रेखा ऊपर की ओर खींचें। जब बिंदु गिरता है तो लाल प्रतिरोध रेखा नीचे की ओर खींचें।
जब कीमत हरी रेखा के ऊपर टूटती है तो लंबी स्थिति लें। जब कीमत लाल रेखा के नीचे टूटती है तो छोटी स्थिति लें।
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
ज़िगज़ैग संकेतक का उपयोग करके प्रमुख समर्थन/प्रतिरोध स्तरों की पहचान करें। ये स्तर अक्सर महत्वपूर्ण होते हैं।
ज़िगज़ैग कुछ बाजार शोर को फ़िल्टर करता है, जिससे अधिक स्पष्ट ट्रेडिंग संकेत उत्पन्न होते हैं।
ब्रेकआउट के द्वारा पदों में प्रवेश करें, जो समय पर रुझान उलटने को पकड़ सकता है।
समर्थन/प्रतिरोध रेखाओं को आकर्षित करने का सरल और प्रभावी तरीका।
स्पष्ट तर्क और बड़े पैरामीटर अनुकूलन स्थान।
उत्पादों और समय सीमाओं के चयन में लचीलापन। मजबूत अनुकूलन क्षमता।
इस रणनीति के जोखिमः
अनुचित जिगज़ैग मापदंड व्यापार के अवसरों को खो सकते हैं।
दरें ब्रेकआउट के बाद समर्थन/प्रतिरोध का पुनः परीक्षण कर सकती हैं। जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस का उपयोग करें।
ब्रेकआउट सिग्नल भ्रामक हो सकते हैं। रुझानों और पैटर्न के साथ सत्यापन की आवश्यकता है।
लंबे समय तक पक्षीय व्यापार से अत्यधिक अप्रभावी व्यापार हो सकता है।
लेन-देन की लागत पर विचार करें। अत्यधिक बार-बार व्यापार करने से बचें।
समाधान:
सबसे अच्छा संयोजन खोजने के लिए ज़िगज़ैग मापदंडों का अनुकूलन करें.
घाटे को सीमित करने के लिए ब्रेकआउट के बाद समय पर स्टॉप लॉस सेट करें।
सटीकता में सुधार के लिए ट्रेंड इंडिकेटर जैसे फिल्टर जोड़ें।
इस अवधि के दौरान साइडवेज की पहचान करें और व्यापार से बचें।
अप्रभावी ट्रेडों को कम करने के लिए ब्रेकआउट रेंज को आराम दें।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
इष्टतम खोजने के लिए बैकटेस्टिंग द्वारा ज़िगज़ैग मापदंडों का अनुकूलन करें।
ब्रेकआउट के बाद समर्थन/प्रतिरोध का पुनः परीक्षण करने की संभावना पर विचार करें. पुनः परीक्षण परिदृश्यों के लिए बाहर निकलने का तर्क जोड़ें.
कम संभावना वाले संकेतों को स्क्रीनिंग करने के लिए एमए जैसे फ़िल्टर जोड़ें।
ब्रेकआउट संकेतों की पुष्टि करने के लिए वॉल्यूम संकेतकों को शामिल करें.
गलत संकेतों और लाभ को फ़िल्टर करने के लिए लैचेनब्रुक की दोहरी पद्धति (लंबी और छोटी) लागू करें।
गतिशील रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग का उपयोग करें.
जोखिम को सीमित करने के लिए स्टॉप लॉस रणनीति लागू करें।
संक्षेप में, यह एक सरल और व्यावहारिक दोलन ब्रेकआउट रणनीति है। यह ज़िगज़ैग और ट्रेड ब्रेकआउट का उपयोग करके समर्थन / प्रतिरोध आकर्षित करता है। रणनीति अनुकूलनशील है लेकिन कुछ जोखिमों के साथ। मापदंडों, सिग्नल फिल्टर और जोखिम नियंत्रण पर अनुकूलन इसे बेहतर बना सकता है। ऐसी ब्रेकआउट रणनीतियाँ सक्रिय व्यापारियों के लिए उपयुक्त हैं जो बाजार की लय को समझ सकते हैं।
/*backtest start: 2022-10-13 00:00:00 end: 2023-10-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=3 // strategy(title = "Noro's ZZ-2 Strategy", shorttitle = "Noro's ZZ-2 Strategy", 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, title = "ZigZag length") Extreme = input(4, title = "ZigZag extreme") src = input(close, title = "Source") showzz = input(false, defval = false, title = "Show ZigZag") 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, Extreme) zzcol = showzz ? black : na plot(zigzag, color = zzcol, linewidth = 2) //Levels dot = 0.0 dot := zigzag > 0 ? zigzag : dot[1] uplevel = 0.0 uplevel := dot > dot[1] ? zigzag : uplevel[1] dnlevel = 0.0 dnlevel := dot < dot[1] ? zigzag : dnlevel[1] upcol = na upcol := dot > dot[1] ? na : lime plot(uplevel, color = upcol, linewidth = 2) dncol = na dncol := dot < dot[1] ? na : red plot(dnlevel, color = dncol, linewidth = 2) //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if dot > 0 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel)