डबल डिप रिवर्सल ब्रेकआउट सिस्टम मात्रात्मक ट्रेडिंग में रिवर्सल और ट्रेंड-फॉलोइंग रणनीतियों के तत्वों को जोड़ती है। यह पिछले क्लोजिंग कीमतों की तुलना में लगातार डाउन डेज का पता लगाकर खरीद सिग्नल उत्पन्न करती है, और जब कीमत T3 मूविंग एवरेज लाइन से ऊपर जाती है, तो जोखिमों का प्रबंधन करते हुए लाभदायक ट्रेडों की अनुमति देती है।
इस प्रणाली में दो घटक शामिल हैंः
यह पिछले N दिनों में समापन मूल्य परिवर्तनों का निरीक्षण करता है। यदि आज का समापन कल से अधिक है, और कल पहले दिन से कम है, तो यह दो लगातार डाउन डेज का संकेत देता है और खरीद संकेत को ट्रिगर करता है। यह स्टोच संकेतक का भी उपयोग करता है - जब आज का स्टोच फास्ट लाइन धीमी रेखा से कम होती है, तो यह खरीद संकेत की वैधता की पुष्टि करता है।
T3 रेखा की गणना एक विशेष सूत्र का उपयोग करके घातीय चलती औसत के आधार पर की जाती है। पैरामीटर को समायोजित करके, यह मूल्य परिवर्तन के लिए चलती औसत की संवेदनशीलता को नियंत्रित करता है। जब कीमत T3 रेखा से ऊपर जाती है तो एक बिक्री संकेत उत्पन्न होता है।
प्रणाली उपरोक्त दो संकेतों को जोड़ती है, वास्तविक ट्रेडिंग संकेत केवल तभी उत्पन्न होती है जब 123 रिवर्सल खरीद संकेत और T3 Sell संकेत एक साथ होते हैं।
जोखिमों से निपटने के लिए, निम्नलिखित किया जा सकता हैः
इस रणनीति में कई पहलुओं में सुधार किया जा सकता हैः
सिग्नल वैधता सुनिश्चित करने के लिए फ़िल्टर जोड़ें
गलत ट्रेडों से बचने के लिए वॉल्यूम ब्रेकआउट जैसे अतिरिक्त संकेतक फिल्टर के रूप में जोड़े जा सकते हैं।
बदलते बाजारों के लिए मापदंडों को समायोजित करें
विभिन्न पैरामीटर संयोजनों का बैकटेस्ट करें और उच्चतम रिटर्न देने वाले सेट का चयन करें। गतिशील पैरामीटर ट्यूनिंग का भी उपयोग किया जा सकता है।
अनुकूलन अनुकूलन के लिए मशीन सीखने को शामिल करें
बड़े ऐतिहासिक डेटासेट इकट्ठा करें, एमएल मॉडल को इष्टतम प्रवेश/निकास बिंदुओं का पूर्वानुमान लगाने के लिए प्रशिक्षित करें, और गतिशील रूप से मापदंडों का अनुकूलन करें।
विभिन्न उपकरणों के लिए अलग से मापदंडों का अनुकूलन
उपकरणों की अलग-अलग विशेषताएं होती हैं, इसलिए उनके इष्टतम मापदंड भी भिन्न होते हैं। प्रत्येक के लिए स्वतंत्र रूप से बैकटेस्ट और ट्यून मापदंड।
डबल डिप रिवर्सल ब्रेकआउट सिस्टम ट्रेंड-फॉलो और रिवर्सल ट्रेडिंग को सामंजस्यपूर्ण रूप से जोड़ती है। यह डिप के बाद निचले स्तर पर खरीदने और चलती औसत का उपयोग करके रुझानों से लाभ प्राप्त करने की अनुमति देता है। रिवर्सल और ट्रेंड सिग्नल का प्रभावी संयोजन मुनाफे में लॉक करते हुए रिवर्सल अवसरों पर पूंजीकरण करता है। कुछ जोखिमों के बावजूद, रणनीति को पैरामीटर अनुकूलन, फ़िल्टर आदि को जोड़कर विभिन्न बाजार स्थितियों के अनुरूप सुधार किया जा सकता है। यह मात्रात्मक ट्रेडिंग के लिए प्रभावी अंतर्दृष्टि प्रदान करता है और आगे के सुधार के लायक है।
/*backtest start: 2023-09-26 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 16/09/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator plots the moving average described in the January, 1998 issue // of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson. // This indicator plots T3 moving average presented in Figure 4 in the article. // T3 indicator is a moving average which is calculated according to formula: // T3(n) = GD(GD(GD(n))), // where GD - generalized DEMA (Double EMA) and calculating according to this: // GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v, // where "v" is volume factor, which determines how hot the moving average’s response // to linear trends will be. The author advises to use v=0.7. // When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive // version of DEMA. By using a value for v less than1, trader cure the multiple DEMA // overshoot problem but at the cost of accepting some additional phase delay. // In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman // filters are ones that use the error — in this case, (time series - EMA(n)) — // to correct themselves. In the realm of technical analysis, these are called adaptive // moving averages; they track the time series more aggres-sively when it is making large // moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in // mathematics and computer science. He has privately traded options and equities for 15 years. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos T3A(Length, b) => pos = 0.0 xPrice = close xe1 = ema(xPrice, Length) xe2 = ema(xe1, Length) xe3 = ema(xe2, Length) xe4 = ema(xe3, Length) xe5 = ema(xe4, Length) xe6 = ema(xe5, Length) c1 = -b*b*b c2 = 3*b*b+3*b*b*b c3 = -6*b*b-3*b-3*b*b*b c4 = 1+3*b+b*b*b+3*b*b nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 pos:= iff(nT3Average > close, -1, iff(nT3Average < close, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & T3 Averages", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- T3 Averages ----") LengthT3 = input(5, minval=1) b = input(0.7, minval=0.01,step=0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posT3A = T3A(LengthT3, b) pos = iff(posReversal123 == 1 and posT3A == 1 , 1, iff(posReversal123 == -1 and posT3A == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1 ) strategy.entry("Long", strategy.long) if (possig == -1 ) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )