यह एक ऐसी रणनीति है जो अनुकूलित गॉसियन डिट्रेंड प्राइस ऑसिलेटर (GDPO) के साथ समतल मूल्य चक्रों के साथ मिलकर संभावित मूल्य उलटों की पहचान करती है। यह गॉसियन चिकनाई के साथ डिट्रेंड ऑसिलेटर का उपयोग करता है और उलट अवसरों को पकड़ने के लिए विशिष्ट प्रवेश और निकास नियम निर्धारित करता है।
रणनीति पहले अल्पकालिक मूल्य चक्रों की पहचान करने के लिए एक निर्दिष्ट अवधि में घातीय चलती औसत (ईएमए) के साथ बंद मूल्य की तुलना करके डिटेंड प्राइस ऑसिलेटर (डीपीओ) की गणना करती है। डीपीओ मानों को शोर को फ़िल्टर करने के लिए गॉसियन चिकनाई तकनीक के साथ अर्नो लेगौस मूविंग एवरेज (एएलएमए) का उपयोग करके चिकना किया जाता है।
प्रवेश और निकास नियम समतल जीडीपीओ और इसके पिछड़े संस्करण के बीच क्रॉसओवर घटनाओं के आधार पर परिभाषित किए जाते हैं। एक लंबी स्थिति तब दर्ज की जाती है जब समतल जीडीपीओ लेग के ऊपर पार हो जाती है और नकारात्मक होती है। लंबी स्थिति तब बाहर निकलती है जब समतल जीडीपीओ लेग या शून्य रेखा से नीचे पार हो जाती है। एक छोटी स्थिति तब दर्ज की जाती है जब समतल जीडीपीओ लेग से नीचे पार हो जाती है और सकारात्मक होती है। छोटी स्थिति तब बाहर निकलती है जब समतल जीडीपीओ लेग या शून्य रेखा से ऊपर पार हो जाती है।
जीडीपीओ और इसके लेग को अलग-अलग रंगों में चित्रित किया गया है। शून्य रेखा भी संदर्भ के रूप में प्रदर्शित की जाती है। जब रणनीति स्थिति में प्रवेश करती है तो चार्ट पृष्ठभूमि का रंग बदल जाता है। क्रॉस मार्कर को क्रॉसओवर बिंदुओं पर निकास संकेत के रूप में चित्रित किया जाता है।
यह रणनीति अन्य ऑसिलेटरों की तुलना में उलट अवसरों को अधिक स्पष्ट रूप से पहचानने के लिए डिटेंडिंग तकनीकों और गौसियन चिकनाई को जोड़ती है। जीडीपीओ डिटेंडिंग के साथ चक्र विश्लेषण को शामिल करके सटीकता में सुधार करती है। स्पष्ट संकेतों के लिए गौसियन चिकनाई शोर को समाप्त करती है। विशिष्ट प्रवेश और निकास नियम प्रभावी रूप से नुकसान को नियंत्रित करते हैं।
रणनीति अवधि की लंबाई और चिकनाई मापदंडों जैसे पैरामीटर ट्यूनिंग के लिए संवेदनशील है। इष्टतम मापदंडों को निर्धारित करने के लिए व्यापक बैकटेस्टिंग की आवश्यकता होती है, अन्यथा अत्यधिक झूठे संकेत हो सकते हैं। रणनीति ट्रेंडिंग बाजारों में लगातार नुकसान का उत्पादन कर सकती है। स्टॉप लॉस का उपयोग एकल व्यापार हानि को नियंत्रित करने के लिए किया जाना चाहिए। असफल उलट भी एक प्रमुख जोखिम है। चार्ट पैटर्न और प्रवृत्ति की ताकत का उपयोग करके उलट संभावना की पुष्टि की जानी चाहिए।
अनुकूलन को गतिशील रूप से मापदंडों को समायोजित करके किया जा सकता है और मजबूती में सुधार के लिए प्रवृत्ति संकेतकों को शामिल किया जा सकता है। गतिशील स्टॉप जोखिमों को भी नियंत्रित कर सकते हैं।
इस रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः
गतिशील रूप से प्रवृत्तियों में चिकनाई बढ़ाने और झूठे संकेतों को कम करने के लिए चिकनाई मापदंडों को समायोजित करें।
ट्रेंडिंग बाजारों में घाटे से बचने के लिए ADX जैसे ट्रेंड इंडिकेटर शामिल करें।
स्टॉप लॉस तंत्र जैसे गतिशील या ट्रेलिंग स्टॉप जोड़ें।
उच्च प्रविष्टि सटीकता के लिए अतिरिक्त संकेतकों या पैटर्न का उपयोग करके प्रवेश स्थितियों को अनुकूलित करें।
बाजार स्थितियों के आधार पर स्थिति आकार और स्टॉप को समायोजित करके पूंजी प्रबंधन को अनुकूलित करना।
दैनिक या साप्ताहिक डेटा जैसे विभिन्न समय सीमाओं में रणनीति का परीक्षण करें।
गॉसियन डिट्रेन्ड रिवर्सन रणनीति जीडीपीओ का उपयोग करके अल्पकालिक चक्रों की पहचान करती है और परिभाषित प्रवेश और निकास नियमों के तहत उलटफेर को पकड़ने के लिए गॉसियन फ़िल्टरिंग के साथ संकेत निकालती है। यह प्रभावी रूप से उलटफेर व्यापार के जोखिमों को नियंत्रित करती है लेकिन पैरामीटर अनुकूलन और प्रवृत्ति सत्यापन की आवश्यकता होती है। गतिशील समायोजन, संकेतकों की पुष्टि और स्टॉप लॉस रणनीतियों के माध्यम से मजबूती में और सुधार किया जा सकता है।
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 // © DraftVenture //@version=5 strategy(title="Gaussian Detrended Reversion Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=15) //Detrended Price Oscillator for price cycles period_ = input.int(50, title="Price Length", minval=1) barsback = period_/2 + 1 ma = ta.ema(close, period_) dpo = close - ma[barsback] // Rounded ALMA Calculations for gaussian smoothing almaSource = dpo almaWindowSize = input(title="Smoothing Length", defval=50) lagLength = input(title="Lag Length", defval=25) almaSmoothed = ta.alma(almaSource, almaWindowSize, 0.85, 6) almaLag = almaSmoothed[lagLength] // Reversion entry conditions entryL = ta.crossover(almaSmoothed, almaLag) and almaSmoothed < 0 exitL = ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0) entryS = ta.crossunder(almaSmoothed, almaLag) and almaSmoothed > 0 exitS = ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0) // Long entry and exit if entryL strategy.entry("Long", strategy.long) if exitL strategy.close("Long") // Short entry and exit if entryS strategy.entry("Short", strategy.short) if exitS strategy.close("Short") // Plot the oscillator plot(almaSmoothed, title="GDPO", color=color.green) plot(almaLag, title="Lag", color=color.white) hline(0, title="Zero Line", color=color.white) bgcolor(entryL ? color.new(color.green, 40) : na) bgcolor(entryS ? color.new(color.red, 40) : na) plotshape(series=ta.crossunder(almaSmoothed, almaLag) or ta.crossunder(almaSmoothed, 0), style=shape.xcross, location=location.top, color=color.white, size=size.tiny) plotshape(series=ta.crossover(almaSmoothed, almaLag) or ta.crossover(almaSmoothed, 0), style=shape.xcross, location=location.bottom, color=color.white, size=size.tiny) //Strategy by KP