रणनीति का पालन करते हुए वर्टेक्स ऑसिलेटर ट्रेंड

लेखक:चाओझांग, दिनांक: 2023-12-07 16:48:45
टैगः

img

अवलोकन

वोर्टेक्स ऑसिलेटर ट्रेंड फॉलोइंग रणनीति वोर्टेक्स इंडिकेटर पर आधारित एक ट्रेंड ट्रैकिंग रणनीति है। यह संभावित मूल्य रुझानों की पहचान करने के लिए वोर्टेक्स इंडिकेटर का निर्माण करने के लिए कई समय सीमाओं के चलती औसत का उपयोग करता है, और कम जोखिम वाले ट्रेंड ट्रैकिंग संचालन को प्राप्त करने के लिए सहायक निर्णय के रूप में एक छोटी अवधि के चलती औसत के साथ संयुक्त होता है।

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

इस रणनीति का मुख्य संकेतक वर्टेक्स इंडिकेटर है। वर्टेक्स इंडिकेटर में कई समय सीमाओं के अल्पकालिक, मध्यमकालिक और दीर्घकालिक चलती औसत होते हैं। विशेष रूप से, रणनीति में 6 दिन, 27 दिन, 72 दिन और 234 दिनों के चलती औसत का उपयोग किया जाता है। अल्पकालिक चलती औसत कीमतों के नवीनतम प्रवृत्ति को दर्शाता है, जबकि दीर्घकालिक चलती औसत दीर्घकालिक प्रवृत्ति को दर्शाता है। संकेतक का मुख्य तर्क यह है कि जब अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से ऊपर जाता है, तो यह इंगित करता है कि ऊपर की गति मजबूत हो रही है और यह खरीदने का समय है। जब अल्पकालिक चलती औसत दीर्घकालिक चलती औसत से नीचे जाता है, तो यह इंगित करता है कि ऊपर की गति कमजोर हो रही है और हमें बेचना चाहिए।

वोर्टेक्स सूचक का महत्वपूर्ण लाभ यह है कि यह सटीक रूप से रुझानों का न्याय करता है और प्रभावी रूप से बाजार शोर को फ़िल्टर करता है। हालांकि, इसकी प्रतिक्रिया समय पर मोड़ बिंदुओं को पकड़ने के लिए पर्याप्त संवेदनशील नहीं है। इसलिए, रणनीति में एक सहायक निर्णय संकेतक का निर्माण करने के लिए एक अधिक संवेदनशील 6-दिवसीय चलती औसत शामिल है। खरीदें जब दोनों वोर्टेक्स सूचक और सहायक संकेतक शून्य रेखा से ऊपर पार करते हैं, और बेचते हैं जब दोनों संकेतक शून्य रेखा से नीचे पार करते हैं। यह एक बहु-पुष्टि तर्क बनाता है जहां वोर्टेक्स सूचक प्रवृत्ति की दिशा और ताकत निर्धारित करता है जबकि सहायक संकेतक विशिष्ट प्रवेश और निकास बिंदुओं को निर्धारित करता है, जो संचालन की संवेदनशीलता में सुधार करते हुए झूठे संकेतों को फ़िल्टर करता है।

लाभ विश्लेषण

इस रणनीति का सबसे बड़ा लाभ निर्णय की सटीकता और संचालन की संवेदनशीलता है। वर्टेक्स संकेतक और सहायक संकेतकों का संयोजन एक दूसरे के साथ हस्तक्षेप से बचते हुए प्रवृत्ति निर्णय और विशिष्ट प्रवेश / निकास बिंदुओं के निर्धारण की एक कार्बनिक एकता प्राप्त करता है। बहु-पुष्टि तंत्र प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकता है और गलत ट्रेडों से बच सकता है। साथ ही, सहायक संकेतक का जोड़ने से रणनीति के संचालन की संवेदनशीलता भी सुनिश्चित होती है।

एकल संकेतक रणनीतियों की तुलना में, इस रणनीति का लाभ यह है कि यह बाजार परिवर्तनों की पहचान करने और प्रतिक्रिया करने में मजबूत क्षमताओं को प्राप्त करने के लिए कई संकेतकों को जोड़ती है। एक अपरिवर्तित प्रमुख प्रवृत्ति के तहत, रणनीति स्थिर लाभ प्राप्त कर सकती है। जब प्रमुख रुझान बदलते हैं, तो रणनीति नुकसान को कम करने के लिए तेजी से प्रतिक्रिया भी दे सकती है।

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

इस रणनीति के मुख्य जोखिम संकेतकों की अनुचित पैरामीटर सेटिंग और चरम घटनाओं के प्रभाव से आते हैं। चलती औसत के मापदंडों को संवेदनशीलता और शोर हस्तक्षेप प्रतिरोध को संतुलित करने की आवश्यकता होती है। अनुचित पैरामीटर सेटिंग्स असामान्य रणनीति व्यवहार का कारण बनेंगी। इसके अलावा, प्रमुख घटनाएं भी चरम मूल्य अस्थिरता का कारण बन सकती हैं जो संकेतकों को अक्षम करती हैं, जिसके परिणामस्वरूप गलत ट्रेड होते हैं।

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

अनुकूलन दिशाएँ

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

  1. संकेतकों के शोर प्रतिरोध और संचालन संवेदनशीलता में सुधार के लिए चलती औसत मापदंडों का अनुकूलन करें। चिकनी लेकिन संवेदनशील संकेतकों का चयन करने के लिए लंबाई के लिए विभिन्न पैरामीटर संयोजनों का प्रयास करें।

  2. स्टॉप लॉस तंत्र जोड़ें. आगे के नुकसान से बचने के लिए जब कीमतें प्रतिकूल दिशाओं में प्रमुख समर्थन स्तरों को तोड़ती हैं तो स्टॉप लॉस बिंदु सेट करें.

  3. रणनीति की स्थिरता बढ़ाने के लिए अन्य सूचक निर्णयों को शामिल करें, उदाहरण के लिए केवल संकेत लेने के लिए जब व्यापारिक मात्रा बढ़ जाती है।

  4. बाजार के विभिन्न चरणों के आधार पर अलग-अलग पैरामीटर सेट का उपयोग करें। उदाहरण के लिए, बैल बाजारों के दौरान अधिक आक्रामक पैरामीटर, और भालू बाजारों में अधिक स्थिर सेटिंग्स।

निष्कर्ष

वोर्टेक्स ऑसिलेटर ट्रेंड फॉलोइंग स्ट्रेटेजी सफलतापूर्वक ट्रेंड जजमेंट और निष्पादन को वोर्टेक्स इंडिकेटर के माध्यम से जोड़ती है जो मूल्य ट्रेंड दिशा/शक्ति को निर्धारित करता है और एक संवेदनशील अल्पकालिक चलती औसत विशिष्ट प्रवेश/निकास समय को इंगित करता है। मापदंडों को अनुकूलित करके, स्टॉप लॉस जोड़कर और राज्य तंत्रों को पेश करके, रणनीति में अपनी जोखिम प्रतिरोध क्षमताओं को और बढ़ाने और बेहतर बैकटेस्टिंग मीट्रिक और लाइव प्रदर्शन प्राप्त करने की क्षमता है।


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//swap strategy line for study line to enable backtesting
strategy(title="Vortex Ocillator" )
//study(title = "Vortex Oscillator", precision = 6)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2048, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//vortex histogram
short_input = input(6, minval = 1)
long_input = input(27, minval = 1)
longer_input = input(72, minval = 1)
longest_input = input(234, minval = 1)

short = sma(close, short_input)
long = sma(close, long_input)
longer = sma(close, longer_input)
longest = sma(close, longest_input)

hist = short - long
longhist = short - longer
longesthist = short - longest

hist_fractal = input(3, minval = 0)
longhist_fractal = input(2, minval = 0)
longesthist_fractal = input(4, minval = 0)

vortexhist = avg((hist / hist_fractal), (longhist / longhist_fractal), (longesthist / longesthist_fractal))

crossover_calc = vortexhist > 0 and vortexhist[1] < 0
crossunder_calc = vortexhist < 0 and vortexhist[1] > 0

crossover2 = crossover(vortexhist, 0)
crossunder2 = crossunder(vortexhist, 0)

hist_color = hist > 0? fuchsia : purple
longhist_color = longhist > 0? olive : orange
longesthist_color = longesthist > 0? teal : blue
vortexhist_color = vortexhist >= 0? green : red

plot(longesthist, "Longest Ocillator", style = histogram, color = longesthist_color, transp = 5)
plot(longhist, "Longer Ocillator", style = histogram, color = longhist_color, transp = 30)
plot(hist, "Short Ocillator", style = histogram, color = hist_color, transp = 30)
plot(vortexhist, "Vortex Ocillator", style = columns, color = vortexhist_color, transp = 40)
plotshape(crossover_calc,title = "Crossover",location = location.bottom, style = shape.triangleup, size = size.small, color = green)
plotshape(crossunder_calc,title = "Crossunder",location = location.bottom, style = shape.triangledown, size = size.small, color = red)

//micro
micro_ema_length = input(6,"Micro EMA Length")
micro = ema(vortexhist, micro_ema_length)
plot(micro, title = "micro", linewidth = 1, color = white)
microup = crossover(vortexhist, micro)
microdown = crossunder(vortexhist, micro)

//new micro signals
xmicroup = microup and vortexhist >=0 or crossover_calc
xmicrodown = microdown and vortexhist >=0 or crossunder_calc
plotshape(xmicroup, title = "Micro up", style = shape.circle, color = olive, location = location.bottom, size = size.tiny)
plotshape(xmicrodown, title = "Micro down", style = shape.circle, color = fuchsia, location = location.bottom, size = size.tiny)

//optional strategy options for backtesting, comment out the alertcondition rows and swap the top study row for the strategy row to compile as strategy
if testPeriod()
    strategy.entry("buy", true, 1, when = xmicroup, limit = low)
if testPeriod()
    strategy.close("buy", when = xmicrodown)

   

//if (xmicroup)
    //strategy.entry("My Long Entry Id", strategy.long)
//if (xmicroup)
    //strategy.exit("My Short Exit Id", "My Short Entry Id")
//if (xmicrodown)
    //strategy.exit("My Long Exit Id", "My Long Entry Id")

  




अधिक