Strategie zur Rückkehrverfolgung mit doppelten Mechanismen

Schriftsteller:ChaoZhang, Datum: 2024-01-05 15:09:19
Tags:

img

Übersicht

Diese Strategie kombiniert die Stärken von Indikatoren mit doppelten Mechanismen, indem das Muster 123 zur Bestimmung von Umkehrsignalen und der Preisvolumenindex zur Bestimmung von Dynamiksignalen verwendet werden, um kurzfristige Umkehrtrends zu erfassen.

Strategie Logik

  1. 123 Muster für das Umkehrsignal

    • Erbaut mit 9-tägiger Stoch-Schnell- und Langsamlinie

    • Wenn der Schlusskurs für 2 aufeinanderfolgende Tage fällt und am 3. Tag steigt und die Stoch-Schnelllinie unter 50 liegt, wird ein Kaufsignal generiert

    • Wenn der Schlusskurs für 2 aufeinanderfolgende Tage steigt und am 3. Tag fällt und die Stoch-Schnelllinie über 50 liegt, wird ein Verkaufssignal generiert

  2. Preisvolumenindex für das Impulssignal

    • PVI beurteilt die Dynamik durch Vergleich der Volumenänderung zwischen dem vorherigen und dem aktuellen Tag

    • Wenn der PVI über seinen gleitenden Durchschnitt für N Tage steigt, verstärkt sich die Dynamik und ein Kaufsignal wird erzeugt

    • Wenn der PVI unter den gleitenden N-Tage-Durchschnitt fällt, sinkt die Dynamik und ein Verkaufssignal wird erzeugt.

  3. Doppelsignalkombination

    • Handelssignale werden nur erzeugt, wenn sich die Umkehr- und PVI-Momentumssignale einig sind

Zusammenfassend lässt sich sagen, dass diese Strategie den Vorteil der Indikatoren für den doppelten Mechanismus nutzt, um kurzfristige Chancen für eine Preis-Volumen-Umkehrung effektiv zu identifizieren.

Analyse der Vorteile

  1. 123 Muster fängt wichtige kurzfristige Umkehrpunkte ein

  2. PVI-Dynamik beurteilt koordinierte Preis-Volumen-Aktionen zur Vermeidung falscher Ausbrüche

  3. Parameter optimiert Stoch filtert die meisten Geräuschsignale in turbulenten Zonen aus

  4. Doppelsignalzuverlässigkeit höher als einzelne Signale

  5. Das Intraday-Design vermeidet für den kurzfristigen Handel geeignete Übernachtrisiken

Risikoanalyse

  1. Risiko einer fehlgeschlagenen Umkehrung

    • 123 Musterumkehrsignale sind nicht immer erfolgreich bei Musterversagen
  2. Risiko eines Ausfalls der Indikatoren

    • Aktien, PVI und andere Indikatoren können in bestimmten anomalen Märkten scheitern
  3. Doppelsignal-Missrisiko

    • Relativ strenge Kriterien für Doppelsignale können einige Einzelsignalchancen verpassen
  4. Risiken mit hoher Handelsfrequenz

    • Für die Hochfrequenzstrategie ist eine sorgfältige Überwachung der Positionsgröße und der Risikokontrolle erforderlich.

Optimierungsrichtung

  1. Großer Parameteroptimierungsraum

    • Fenster, Stoch-Zyklen, PVI usw. haben Optimierungsraum
  2. Kann Stop-Loss-Strategien einbeziehen

    • Mobile Stop-Loss kann Gewinnrate gewährleisten
  3. Überlegen Sie, ob Sie Filterbedingungen hinzufügen

    • Tests können gleitende Durchschnitte, Volatilitätsfilter usw. hinzufügen.
  4. Optimierung des Dual-Signal-Portfolios

    • Versuchskombinationen mehrerer Dualindikatorstrategien

Zusammenfassung

Diese Strategie bildet durch die Kombination von Stoch- und PVI-Indikatoren ein zuverlässiges kurzfristiges Preis-Volumen-Umkehrsystem. Im Vergleich zu einzelnen Indikatoren hat sie eine höhere Gewinnrate und positive Erwartung. Die Sharpe-Ratio kann durch Optimierung und Risikokontrolle weiter verbessert werden. Abschließend nutzt diese Strategie die Stärken von Dual-Mechanismus-Indikatoren, um kurzfristige Umkehrmöglichkeiten auf dem Markt effektiv zu erfassen, und ist es wert, live getestet und optimiert zu werden.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/04/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 theory behind the indexes is as follows: On days of increasing volume, 
// you can expect prices to increase, and on days of decreasing volume, you can 
// expect prices to decrease. This goes with the idea of the market being in-gear 
// and out-of-gear. Both PVI and NVI work in similar fashions: Both are a running 
// cumulative of values, which means you either keep adding or subtracting price 
// rate of change each day to the previous day`s sum. In the case of PVI, if today`s 
// volume is less than yesterday`s, don`t add anything; if today`s volume is greater, 
// then add today`s price rate of change. For NVI, add today`s price rate of change 
// only if today`s volume is less than yesterday`s.
//
// 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


PVI(EMA_Len) =>
    pos = 0.0
    xROC = roc(close, 1)
    nRes = 0.0
    nResEMA = 0.0
    nRes := iff(volume > volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
    nResEMA := ema(nRes, EMA_Len)
    pos := iff(nRes > nResEMA, 1,
        	 iff(nRes < nResEMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Positive Volume Index", 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, "---- Positive Volume Index ----")
EMA_Len = input(255, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPVI = PVI(EMA_Len)
pos = iff(posReversal123 == 1 and posPVI == 1 , 1,
	   iff(posReversal123 == -1 and posPVI == -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 )

Mehr