Diese Strategie kombiniert eine Trendumkehrstrategie mit einer statistischen Volatilitätsstrategie, um stärkere Handelssignale zu generieren.
Die Strategie besteht aus zwei Teilen:
Trendumkehrstrategie
Statistische Volatilitätsstrategie
Die Strategie erzeugt ein Handelssignal nur, wenn beide Strategien sich auf die Richtung einigen (sowohl lang als auch kurz).
Die Combo-Strategie verbessert die Signalzuverlässigkeit durch die Kombination zweier verschiedener Arten von Strategien:
Das Muster 123 erfasst die Trendumkehrpunkte genau und vermeidet, durch einmalige Preisspitzen irregeführt zu werden.
Die statistische Volatilität konzentriert sich auf Hochvolatilitäts- und Hochopportunitätsperioden, die auf den Marktbewegungen des letzten Monats basieren.
Durch die gegenseitige Überprüfung erfassen die beiden Strategien die wichtigsten Marktturnpunkte genauer und erzeugen genauere Handelssignale.
123 Muster können das Risiko falscher Ausbrüche nicht vollständig vermeiden.
Die statistische Volatilität berücksichtigt nur historische Daten und kann zukünftige Volatilitätsveränderungen nicht vorhersagen.
Beide Strategien beruhen stark auf Parameter-Tuning. Schlechte Parameter-Einstellungen können die Signalqualität erheblich beeinträchtigen.
Obwohl der Kombinationsansatz insgesamt zuverlässiger ist, kann er einige starke Signale von einzelnen Strategien verpassen.
Mehr Indikatoren wie Bollinger-Bänder, KDJ zu integrieren, um einen Abstimmungsmechanismus zu bilden.
Fügen Sie maschinelle Lernalgorithmen hinzu, um die Wahrscheinlichkeit einer Trendumkehr mit mehr historischen Daten zu bestimmen.
Setzen Sie Signalstärke Schwellen, um Lärm zu filtern.
Optimierung der Parameter für verschiedene Produkte und Zeitrahmen.
Hinzufügen von Stop-Loss-Mechanismen zur Risikokontrolle der kombinierten Strategie.
Die Strategie verbessert die Signalqualität durch die Kombination von Trendumkehr- und statistischer Volatilitätsstrategien und liefert so genauere Handelssignale rund um Marktturnpunkte.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/07/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 used to calculate the statistical volatility, sometime // called historical volatility, based on the Extreme Value Method. // Please use this link to get more information about Volatility. // // 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 SV(Length,TopBand,LowBand) => pos = 0.0 xMaxC = highest(close, Length) xMaxH = highest(high, Length) xMinC = lowest(close, Length) xMinL = lowest(low, Length) SqrTime = sqrt(253 / Length) Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5 nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol)) pos := iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Statistical Volatility", 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, "---- Statistical Volatility ----") LengthSV = input(30, minval=1) TopBand = input(0.005, step=0.001) LowBand = input(0.0016, step=0.001) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posSV = SV(LengthSV,TopBand,LowBand) pos = iff(posReversal123 == 1 and posSV == 1 , 1, iff(posReversal123 == -1 and posSV == -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 )