एहलर्स स्टोकैस्टिक साइबर चक्र रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो एहलर्स
यह रणनीति पहले एक चिकनी चक्र संकेतक का निर्माण करती है, फिर उस संकेतक के आधार पर एक स्टोकैस्टिक संकेतक मूल्य का निर्माण करती है। व्यापार संकेतों का उत्पादन इस स्टोकैस्टिक संकेतक मूल्य की चलती औसत रेखा के क्रॉसओवर द्वारा निर्धारित किया जाता है।
विशेष रूप से, चिकनी चक्र सूचक की गणना इस प्रकार की जाती हैः
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-दिवसीय चलती औसत के आधार पर बनाया जाता है।
यह रणनीति स्टोकास्टिक संकेतकों और चक्र संकेतकों को जोड़ती है ताकि दोनों के लाभों को एकीकृत किया जा सके। मूविंग एवरेज जैसी सरल प्रवृत्ति रणनीतियों की तुलना में, यह रणनीति चक्रीय अवसरों को बेहतर ढंग से पकड़ सकती है और इस प्रकार बेहतर परिणाम प्राप्त कर सकती है।
इसके मुख्य लाभ इस प्रकार हैंः
इस रणनीति के मुख्य जोखिम निम्नलिखित हैंः
जोखिमों को पैरामीटर सेटिंग्स को अनुकूलित करके, स्टॉप लॉस पॉइंट सेट करके, अन्य फ़िल्टरिंग संकेतकों को जोड़कर आदि नियंत्रित किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं में भी अनुकूलित किया जा सकता हैः
एहलर्स स्टोकैस्टिक साइबर चक्र रणनीति जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए दोहरे संकेत डिजाइन के माध्यम से स्टोकैस्टिक और चक्र संकेतकों के लाभों को एकीकृत करती है, और मजबूत चक्रीयता वाले बाजारों में अच्छे रिटर्न प्राप्त कर सकती है। आगे अनुकूलन के साथ, यह रणनीति अनुशंसित करने के लिए एक सार्थक मात्रात्मक ट्रेडिंग रणनीति बन सकती है।
/*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)