सिग्नल स्मूथिंग पर आधारित एल्स साइकिल रणनीति


निर्माण तिथि: 2024-02-19 10:42:34 अंत में संशोधित करें: 2024-02-19 10:42:34
कॉपी: 2 क्लिक्स: 627
1
ध्यान केंद्रित करना
1617
समर्थक

सिग्नल स्मूथिंग पर आधारित एल्स साइकिल रणनीति

अवलोकन

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

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

  1. मूल मूल्य संकेत src को द्वितीय-चरण चिकनाई के साथ संसाधित किया जाता है, जो चिकनाई संकेत को चिकना बनाता है।

  2. सिग्नल के आधार पर चक्र चक्र की गणना की जाती है। cycle := (1 - .5 alpha) (1 - .5 alpha) (smooth - 2 smooth[1] + smooth[2]) + 2 (1 - alpha) cycle[1] - (1 - alpha) (1 - alpha) * cycle[2]

जहाँ α समतल करने के लिए है.

  1. चक्र सूचकांक के लिए एक चरण सूचकांक को चिकना करने के लिए, अंतिम व्यापारिक संकेत प्राप्त करें. गणना विधि हैः signal := alpha2 cycle + (1 - alpha2) nz(signal[1])

जहाँ α2 एक चरण चिकनाई मापदंडों में से एक है.

  1. जब सिग्नल पर पार सिग्नल[1] अधिक करते समय; जब सिग्नल के नीचे सिग्नल के माध्यम से[1] खाली समय

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

  1. मूल्य संकेतों के द्वितीयक समतल के माध्यम से, उच्च आवृत्ति शोर को प्रभावी रूप से फ़िल्टर किया जा सकता है, जिससे ट्रेडिंग सिग्नल अधिक विश्वसनीय होते हैं।

  2. एल्स चक्र संकेतक सिद्धांत को लागू करने से, बाजार के रुझानों के परिवर्तन के बिंदुओं को अधिक सटीक रूप से निर्धारित किया जा सकता है।

  3. एक चरण सूचकांक एक अधिक विश्वसनीय व्यापार संकेत उत्पन्न करने के लिए परिपत्र संकेतकों में कुछ शोर को फ़िल्टर करता है।

  4. पूरी रणनीति प्रक्रिया तर्कसंगत, वैज्ञानिक है, पैरामीटर अनुकूलन के लिए जगह है, रीयल-टाइम प्रदर्शन उत्कृष्ट है।

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

  1. अन्य तकनीकी सूचक रणनीतियों की तरह, यह रणनीति बाजार के प्रणालीगत जोखिम के प्रति संवेदनशील है। एक प्रमुख ब्लैक स्वेवन घटना में, अधिक नुकसान हो सकता है।

  2. चूंकि गणना प्रक्रिया अधिक जटिल है, गलत पैरामीटर सेटिंग से गणना में देरी हो सकती है, जिससे रीयल-टाइम प्रभाव प्रभावित हो सकता है। यह सुनिश्चित करने के लिए सावधानीपूर्वक परीक्षण की आवश्यकता है कि पैरामीटर सेटिंग वैज्ञानिक रूप से उचित है।

  3. चिकनाई भी ट्रेडिंग सिग्नल में देरी का कारण बनती है, जो समय पर बाजार के मोड़ को पकड़ने में असमर्थ हो सकता है, जिससे अवसरों को खो दिया जाता है। चिकनाई मापदंडों की सेटिंग्स को संतुलित करने की आवश्यकता होती है।

रणनीति अनुकूलन दिशा

  1. विभिन्न प्रकार के चिकनाई एल्गोरिदम का परीक्षण किया जा सकता है, जैसे कि एक-स्तरीय सूचकांक चिकनाई, औसत चिकनाई, आदि, इष्टतम चिकनाई समाधान खोजने के लिए।

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

  3. स्टॉप-लॉस और स्टॉप-स्टॉप रणनीतियों को डिज़ाइन किया जा सकता है, जिससे एकल हानि का जोखिम कम हो जाए, जबकि मुनाफे को लॉक किया जा सके।

  4. अन्य मॉडलों के साथ संयोजन करने के लिए अन्य मॉडल के साथ संयोजन करने के लिए अन्य मॉडलों का उपयोग करके ट्रेडिंग सिग्नल को फ़िल्टर करने के लिए अन्य मॉडल के साथ संयोजन करने के लिए अन्य मॉडल के साथ संयोजन करने के लिए अन्य मॉडल का उपयोग करें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers 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

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]

alpha2 = 1 / (lag + 1)
signal = na
signal := alpha2 * cycle + (1 - alpha2) * nz(signal[1])
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)