ज़िगज़ैग-आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2023-10-30 14:51:08 अंत में संशोधित करें: 2023-10-30 14:51:08
कॉपी: 0 क्लिक्स: 843
1
ध्यान केंद्रित करना
1617
समर्थक

ज़िगज़ैग-आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

यह रणनीति ZigZag सूचकांक का उपयोग करके प्रवृत्ति की दिशा का निर्धारण करती है और प्रवृत्ति की पुष्टि के बाद प्रवृत्ति का पालन करती है।

रणनीति सिद्धांत

यह रणनीति मुख्य रूप से ZigZag संकेतक के माध्यम से कीमतों के रुझान की दिशा का आकलन करती है। ZigZag संकेतक बाजार के शोर को फ़िल्टर करने में सक्षम है और कीमतों के मुख्य उतार-चढ़ाव की दिशा का आकलन करता है। जब कीमतें नई उच्च या नई कम होती हैं, तो ZigZag एक व्यापारिक संकेत देता है।

विशेष रूप से, रणनीति पहले ZigZag मूल्य की गणना करती है, और जब कीमत एक उच्च ऊंचाई बनाती है, तो ZigZag उस उच्च ऊंचाई के लिए है; जब कीमत एक कम ऊंचाई बनाती है, तो ZigZag उस कम ऊंचाई के लिए है। इस प्रकार, ZigZag स्पष्ट रूप से कीमतों के मुख्य उतार-चढ़ाव की दिशा को दर्शाता है।

रणनीति ZigZag मूल्य के आधार पर प्रवृत्ति की दिशा का आकलन करती है। जब ZigZag बढ़ता है, तो यह एक ऊपर की ओर प्रवृत्ति को दर्शाता है; जब ZigZag गिरता है, तो यह एक नीचे की ओर प्रवृत्ति को दर्शाता है। प्रवृत्ति की दिशा को ट्रैक करने के लिए रणनीति ZigZag टर्नओवर पर स्थिति खोलती है।

विशेष रूप से, रणनीति ZigZag टर्नओवर पर एक नया उच्च बनाने के लिए एक अतिरिक्त आदेश खोलने के लिए, ZigZag टर्नओवर पर एक नया कम बनाने के लिए एक खाली आदेश खोलने के लिए.

रणनीति का विश्लेषण

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

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

  • ZigZag मध्य-लघु-रेखा बैल-भालू रूपांतरण के प्रति संवेदनशील नहीं है और एक तेज़ रिवर्सिंग को याद कर सकता है।
  • प्रवृत्ति को ट्रैक करने की रणनीति, प्रवृत्ति के उलट होने से होने वाले नुकसान का सामना करने में असमर्थ।
  • व्यक्तिगत हानि के लिए कोई सीमा नहीं है, और व्यक्तिगत हानि का खतरा अधिक है।
  • रणनीति केवल एक सूचकांक पर आधारित है, जो ओवरफिटिंग का जोखिम पैदा कर सकता है।

जोखिम को निम्न तरीकों से कम किया जा सकता हैः

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

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. एकल हानि के जोखिम को नियंत्रित करने के लिए एक अतिरिक्त स्टॉप-लॉस रणनीति। एक चलती रोक या एक लटकती रोक को सेट किया जा सकता है।

  2. ट्रेंड रिवर्स निर्णय तंत्र जोड़ें। MACD, मूविंग एवरेज और अन्य संकेतकों को शामिल किया जा सकता है, जब ट्रेंड रिवर्स निर्णय लिया जाता है तो स्थिति को बंद कर दिया जाता है।

  3. फिर से शुरू करें मॉड्यूल में शामिल हों। यदि रुझान जारी रहता है, तो अधिक लाभ के लिए उचित रूप से बढ़ोतरी की जा सकती है।

  4. मशीन लर्निंग मॉडल जोड़ना। एलएसटीएम जैसे गहन सीखने वाले मॉडल को प्रशिक्षित किया जा सकता है, जो कि ZigZag को प्रवृत्ति की दिशा निर्धारित करने में मदद करता है।

  5. अनुकूलित धन प्रबंधन तंत्र. स्थिति आकार को अनुकूलित किया जा सकता है, जो कि निकासी या प्रासंगिकता सिद्धांतों के आधार पर है.

  6. पूर्ण अनुकूलन पैरामीटर सेट करें. आप इतिहास के माध्यम से अनुकूलन कर सकते हैं और 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()