एहलर्स स्टोकैस्टिक साइबर चक्र रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-17 16:03:30
टैगः

img

अवलोकन

एहलर्स स्टोकैस्टिक साइबर चक्र रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो एहलर्स स्टोकैस्टिक चक्र संकेतक का उपयोग करके ट्रेडिंग संकेत उत्पन्न करती है। यह रणनीति बाजार में चक्रीय अवसरों को पकड़ने के उद्देश्य से स्टोकैस्टिक संकेतकों और चक्र संकेतकों के लाभों को जोड़ती है।

रणनीति तर्क

यह रणनीति पहले एक चिकनी चक्र संकेतक का निर्माण करती है, फिर उस संकेतक के आधार पर एक स्टोकैस्टिक संकेतक मूल्य का निर्माण करती है। व्यापार संकेतों का उत्पादन इस स्टोकैस्टिक संकेतक मूल्य की चलती औसत रेखा के क्रॉसओवर द्वारा निर्धारित किया जाता है।

विशेष रूप से, चिकनी चक्र सूचक की गणना इस प्रकार की जाती हैः

smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

जहां src इनपुट मूल्य डेटा है, जैसे कि समापन मूल्य। यह संकेतक एक चिकनी चक्र संकेत का निर्माण करने के लिए वर्तमान मूल्य और पिछले 3 समय अवधि की कीमतों को जोड़ता है।

इस समतल सूचक के आधार पर स्टोकैस्टिक चक्र चक्र की गणना की जा सकती हैः

cycle := (1 - .5 * alpha) * (1 - .5 * alpha) *  
           (smooth - 2 * smooth[1] + smooth[2]) +  
           2 * (1 - alpha) * cycle[1] -  
           (1 - alpha) * (1 - alpha) * cycle[2]

इस गणना सूत्र में समतल आवधिक संकेत का दूसरा क्रम अंतर और पिछले दो चक्रों के मान शामिल हैं। α एक समतल कारक है जो नए और पुराने चक्र मानों के भार को समायोजित करता है।

अंत में, इस चक्र संकेतक के आधार पर 0-100 यादृच्छिक मूल्य मूल्य1 की गणना की जाती है। और सिग्नल मूल्य संकेत के 10-दिवसीय चलती औसत के आधार पर बनाया जाता है।

रणनीति के फायदे

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

इसके मुख्य लाभ इस प्रकार हैंः

  1. चक्र सूचक चक्र संबंधी पैटर्न की पहचान कर सकते हैं, स्टोकैस्टिक सूचक व्यापार के अवसर प्रदान करते हैं
  2. दोहरी संकेतक डिजाइन प्रभावी ढंग से झूठे संकेतों को फ़िल्टर कर सकता है
  3. अनुकूलन योग्य मापदंड विभिन्न बाजार वातावरणों के अनुकूल हैं

रणनीति के जोखिम

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

  1. अनुचित पैरामीटर सेटिंग्स के कारण व्यापार की आवृत्ति बढ़ सकती है, व्यापार की लागत और फिसलने की लागत बढ़ सकती है
  2. जबरदस्त मूल्य उतार-चढ़ाव वाले बाजारों को प्रभावी ढंग से संभालने में असमर्थ, जिससे बड़े नुकसान हो सकते हैं
  3. चक्र संकेतक वक्र फिटिंग पर बहुत निर्भर करते हैं, अनुचित फिटिंग गलत संकेत उत्पन्न कर सकती है

जोखिमों को पैरामीटर सेटिंग्स को अनुकूलित करके, स्टॉप लॉस पॉइंट सेट करके, अन्य फ़िल्टरिंग संकेतकों को जोड़कर आदि नियंत्रित किया जा सकता है।

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

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

  1. झूठे संकेतों को कम करने के लिए सिग्नल फ़िल्टरिंग के लिए अन्य तकनीकी संकेतकों जैसे बोलिंगर बैंड, आरएसआई आदि के साथ संयोजन
  2. अनुकूलन योग्य निकास तंत्र जोड़ें, बाजार की अस्थिरता के अनुसार गतिशील रूप से स्टॉप लॉस बिंदु समायोजित करें
  3. बाजार में गतिशील रूप से अनुकूलित करने के लिए पैरामीटर को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग विधियों का उपयोग करें
  4. लीवरेज, कंपोजिंग और अन्य साधनों के माध्यम से पूंजी उपयोग को अनुकूलित करना

निष्कर्ष

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


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Stochastic Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source") 
alpha = input(.07, title = "Alpha")
lag = input(9, title = "Lag")
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6
len = input(8, title = "Stochastic len")
cycle = na
if na(cycle[7])
    cycle := (src - 2 * src[1] + src[2]) / 4
else
    cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2]

value1 = stoch(cycle, cycle, cycle, len) / 100
value2 = 2 * ((4 * value1 + 3 * value1[1] + 2 * value1[2] + value1[3]) / 10 - 0.5)

signal = value2
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1]))
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1]))
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
    
plot(0, title="ZeroLine", color=gray) 
plotSrc = signal
cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue)
triggerPlot = plot(plotSrc[1], title = "Trigger", color = green)
fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)

अधिक