Die Multi-Faktor-Reversal-Tracking-Strategie erzeugt Handelssignale, indem sie Preisumkehrmuster und Überkauf-Überverkauft-Indikatoren integriert. Sie synthetisiert mehrere Faktoren, um Markthochs und -Tiefs zu identifizieren, und erzeugt Handelssignale an Umkehrpunkten, um mittel- und kurzfristige Preisumkehrungen zu erfassen.
Die Strategie besteht aus zwei Modulen:
Gehen Sie kurz, wenn Sie ein neues 2-tägiges Hoch sehen, aber am 3. Tag ziehen Sie zurück, was auf ein mögliches kurzfristiges Hoch hinweist.
Gehen Sie lang, wenn Sie ein 2-tägiges neues Tief sehen, aber springen Sie am 3. Tag auf, was auf ein mögliches kurzfristiges Tief hinweist.
Identifizieren Sie Umkehrpunkte durch dynamische Anpassung des RSI an überkauften und überverkauften Linien.
Gehen Sie kurz, wenn der RSI über der angepassten Überkauflinie liegt, lang, wenn der RSI unter der angepassten Überverkauflinie liegt.
Handelssignale werden nur erzeugt, wenn sich beide Module ausrichten.
Der größte Vorteil besteht darin, mehrere Faktoren einzubeziehen, um strukturelle Höhen und Tiefen zu bestimmen, einige falsche Signale aus einzelnen Faktoren zu filtern und die tatsächliche Handelsgewinnrate zu verbessern.
Multifaktor-Synthese für eine umfassende hohe/niedrige Identifizierung
Kombiniert Umkehrmuster und Indikatoren für Überkauf/Überverkauf
Filtert falsche Umkehrungen, verbessert die Genauigkeit
Optimierbare Backtestparameter, die an verschiedene Märkte angepasst werden können
Einfache Implementierung für eine schnelle Replikation
Umkehrsignale können verzögert sein, Parameter müssen aktualisiert werden
Verhindern Sie Überhandelungen, um mehr Provisionen zu vermeiden
Die Grundlagen der einzelnen Bestände müssen noch berücksichtigt werden
Umkehrstrategien, die für Indizes und Hot Stocks besser geeignet sind
Die Multi-Faktor-Reversal-Tracking-Strategie kombiniert perfekt die Stärken von Quant-Tools und manueller Analyseerfahrung, indem sie mehrere Perspektiven für Handelssignale berücksichtigt. Im Vergleich zu Einzelindikator-Strategien verbessert sie die tatsächliche Handelsstabilität und die Gewinnrate erheblich. Die Strategie lohnt sich zuerst in Backtests zu überprüfen und zu optimieren, dann schrittweise im Live-Handel umzusetzen, mit einem sehr ausgeprägten praktischen Wert.
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/06/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 // The related article is copyrighted material from // Stocks & Commodities. // // 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 RE_RSI(Value,WildPer) => pos = 0.0 AUC = 0.0 ADC = 0.0 ExpPer = 2 * WildPer - 1 K = 2 / (ExpPer + 1) AUC := iff(close > close[1], K * (close - close[1]) + (1 - K) * nz(AUC[1], 1), (1-K) * nz(AUC[1], 1)) ADC := iff(close > close[1], (1-K) * nz(ADC[1], 1), K * (close[1] - close) + (1 - K) * nz(ADC[1], 1)) nVal = (WildPer - 1) * (ADC * Value / (100 - Value) - AUC) nRes = iff(nVal >= 0, close + nVal, close + nVal * (100 - Value) / Value) pos:= iff(nRes > close, -1, iff(nRes < close, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Reverse Engineering RSI, by Giorgos Siligardos", 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, "---- Reverse Engineering RSI ----") Value = input(50, minval=1) WildPer = input(14,minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRE_RSI = RE_RSI(Value,WildPer) pos = iff(posReversal123 == 1 and posRE_RSI == 1 , 1, iff(posReversal123 == -1 and posRE_RSI == -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 )