एहलर्स स्टोचैस्टिक साइकिल क्वांटिटेटिव ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-17 16:03:30 अंत में संशोधित करें: 2024-01-17 16:03:30
कॉपी: 0 क्लिक्स: 793
1
ध्यान केंद्रित करना
1617
समर्थक

एहलर्स स्टोचैस्टिक साइकिल क्वांटिटेटिव ट्रेडिंग रणनीति

अवलोकन

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

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

यह रणनीति पहले एक smoothed चक्र सूचक का निर्माण करती है और फिर उस सूचक के आधार पर एक यादृच्छिक सूचक मूल्य का निर्माण करती है। ट्रेडिंग सिग्नल का उत्पादन इस यादृच्छिक सूचक मूल्य के चलती औसत के क्रॉसिंग के आधार पर निर्धारित किया जाता है।

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

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

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

इस smoothed सूचक के आधार पर, हम फिर यादृच्छिक सूचक cycle की गणना कर सकते हैंः

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 का यादृच्छिक मान value1 की गणना की जाती है और value1 के 10 दिनों की चलती औसत के आधार पर एक सिग्नल मूल्य signal का निर्माण किया जाता है। जब सिग्नल चलती औसत से ऊपर या नीचे जाता है, तो एक व्यापारिक संकेत जारी किया जाता है।

रणनीतिक लाभ

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

मुख्य लाभ:

  1. चक्र संकेतक एक चक्रीय पैटर्न की पहचान कर सकते हैं, यादृच्छिक संकेतक xFB व्यापार समय प्रदान करते हैं
  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)