
यह रणनीति ZigZag सूचकांक का उपयोग करके प्रवृत्ति की दिशा का निर्धारण करती है और प्रवृत्ति की पुष्टि के बाद प्रवृत्ति का पालन करती है।
यह रणनीति मुख्य रूप से ZigZag संकेतक के माध्यम से कीमतों के रुझान की दिशा का आकलन करती है। ZigZag संकेतक बाजार के शोर को फ़िल्टर करने में सक्षम है और कीमतों के मुख्य उतार-चढ़ाव की दिशा का आकलन करता है। जब कीमतें नई उच्च या नई कम होती हैं, तो ZigZag एक व्यापारिक संकेत देता है।
विशेष रूप से, रणनीति पहले ZigZag मूल्य की गणना करती है, और जब कीमत एक उच्च ऊंचाई बनाती है, तो ZigZag उस उच्च ऊंचाई के लिए है; जब कीमत एक कम ऊंचाई बनाती है, तो ZigZag उस कम ऊंचाई के लिए है। इस प्रकार, ZigZag स्पष्ट रूप से कीमतों के मुख्य उतार-चढ़ाव की दिशा को दर्शाता है।
रणनीति ZigZag मूल्य के आधार पर प्रवृत्ति की दिशा का आकलन करती है। जब ZigZag बढ़ता है, तो यह एक ऊपर की ओर प्रवृत्ति को दर्शाता है; जब ZigZag गिरता है, तो यह एक नीचे की ओर प्रवृत्ति को दर्शाता है। प्रवृत्ति की दिशा को ट्रैक करने के लिए रणनीति ZigZag टर्नओवर पर स्थिति खोलती है।
विशेष रूप से, रणनीति ZigZag टर्नओवर पर एक नया उच्च बनाने के लिए एक अतिरिक्त आदेश खोलने के लिए, ZigZag टर्नओवर पर एक नया कम बनाने के लिए एक खाली आदेश खोलने के लिए.
जोखिम को निम्न तरीकों से कम किया जा सकता हैः
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
एकल हानि के जोखिम को नियंत्रित करने के लिए एक अतिरिक्त स्टॉप-लॉस रणनीति। एक चलती रोक या एक लटकती रोक को सेट किया जा सकता है।
ट्रेंड रिवर्स निर्णय तंत्र जोड़ें। MACD, मूविंग एवरेज और अन्य संकेतकों को शामिल किया जा सकता है, जब ट्रेंड रिवर्स निर्णय लिया जाता है तो स्थिति को बंद कर दिया जाता है।
फिर से शुरू करें मॉड्यूल में शामिल हों। यदि रुझान जारी रहता है, तो अधिक लाभ के लिए उचित रूप से बढ़ोतरी की जा सकती है।
मशीन लर्निंग मॉडल जोड़ना। एलएसटीएम जैसे गहन सीखने वाले मॉडल को प्रशिक्षित किया जा सकता है, जो कि ZigZag को प्रवृत्ति की दिशा निर्धारित करने में मदद करता है।
अनुकूलित धन प्रबंधन तंत्र. स्थिति आकार को अनुकूलित किया जा सकता है, जो कि निकासी या प्रासंगिकता सिद्धांतों के आधार पर है.
पूर्ण अनुकूलन पैरामीटर सेट करें. आप इतिहास के माध्यम से अनुकूलन कर सकते हैं और ZigZag की अवधि की लंबाई जैसे विशेषज्ञ पुस्तकों का संदर्भ ले सकते हैं।
इस रणनीति का उपयोग ZigZag संकेतकों के लिए प्रवृत्ति की दिशा का फैसला करने के लिए, प्रवृत्ति के आधार पर व्यापार रणनीति लागू ≠ रणनीति तर्क सरल स्पष्ट है, आसानी से लागू ≠ लेकिन वहाँ भी एकल सूचक निर्भरता, प्रवृत्ति पलटाव जोखिम आदि की समस्या है ≠ हम स्टॉप, सहायक संकेतकों, मॉड्यूल, मशीन सीखने और इतने पर फिर से शुरू से बहुआयामी अनुकूलन कर सकते हैं, रणनीति अधिक मजबूत और तर्कसंगत बनाने ≠ एक बार पैरामीटर अनुकूलन और जोखिम नियंत्रण जगह में है, रणनीति एक प्रभावी उपकरण हो सकता है मध्यम और लंबी लाइन प्रवृत्ति ट्रैक ≠
/*backtest
start: 2022-10-23 00:00:00
end: 2023-04-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's ZZ Strategy v1.0", shorttitle = "ZZ str 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(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title='Timeframe for ZigZag')
showzz = input(false, defval = false, title = "Show ZigZag")
showbg = input(false, defval = false, title = "Show Background")
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
zigzag() =>
_isUp = close >= open
_isDown = close <= open
_direction = _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
_zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? highest(2) : _isDown[1] and _isUp and _direction[1] != 1 ? lowest(2) : na
useAltTF = true
zz = useAltTF ? (change(time(tf)) != 0 ? request.security(syminfo.tickerid, tf, zigzag()) : na) : zigzag()
zzcolor = showzz ? black : na
plot(zz, title = 'ZigZag', color = zzcolor, linewidth = 2)
//Levels
dot = zz > 0 ? zz : dot[1]
uplevel = dot > dot[1] ? dot : uplevel[1]
dnlevel = dot < dot[1] ? dot : dnlevel[1]
colorup = close[1] < uplevel[1] and uplevel == uplevel[1] ? lime : na
colordn = close[1] > dnlevel[1] and dnlevel == dnlevel[1] ? red : na
plot(uplevel, color = colorup, linewidth = 3)
plot(dnlevel, color = colordn, linewidth = 3)
//Background
size = strategy.position_size
bgcol = showbg == false ? na : size != size[1] ? blue : na
bgcolor(bgcol, transp = 50)
//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if uplevel > 0 and dnlevel > 0
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = uplevel + syminfo.mintick)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnlevel - syminfo.mintick)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()