Dies ist eine Strategie, die eine Kombination aus zwei Stochastikindikatoren und einem volumengewichteten gleitenden Durchschnitt verwendet, um Trends zu identifizieren.
Die Strategie umfasst hauptsächlich die Identifizierung von Trends in folgenden Teilen:
Berechnen Sie einen kurzfristigen Stochastikindikator mit Periodenlängeinput ((30) und glatten Parameter 2
Berechnen Sie einen langfristigen Stochastikindikator mit Periodenlänge-Eingabe ((90) und glatten Parameter 2
Die kurz- und langfristigen Stochastiker addieren, um eine kombinierte Stochastikkurve zu erhalten.
Berechnen Sie einen volumengewichteten gleitenden Durchschnitt der ts-Kurve mit Eingabe der Periodenlänge ((30)
Vergleichen Sie den aktuellen Wert von tsl mit seinem Wert vor 1 Periode, wenn tsl steigt, zeigt dies einen Aufwärtstrend an, wenn tsl fällt, zeigt dies einen Abwärtstrend an
Kombination mit Stochastic-Kurvenposition zur Identifizierung von Aufwärts- oder Bärensignalen
Die Strategie kombiniert Trenderkennung und Überkauf-Überverkaufsanalyse, wodurch die Trendrichtung ziemlich zuverlässig ermittelt werden kann.
Die doppelte Stochastik kann sowohl kurzfristige als auch langfristige Überkauf-/Überverkaufssituationen widerspiegeln und vermeidet, dass einige Signale verpasst werden
Volumengewichteter gleitender Durchschnitt kann einige falsche Ausbruchssignale herausfiltern
Die Position der Stochastikkurve bestätigt die Zuverlässigkeit der Trendsignale
Einstellbare Parameter für verschiedene Märkte
Klare und einfache Logik, leicht zu verstehen und zu ändern
Für diese Strategie sind auch einige Risiken zu beachten:
Die Stochastik kann falsche Signale geben, muss mit längerfristigen Indikatoren gefiltert werden
Festlaufzeiten sind möglicherweise nicht für alle Märkte geeignet, dynamische Optimierung könnte helfen
Rein auf technischen Indikatoren basierende Fundamentaldaten können die Genauigkeit verbessern
Ungenaue Volumendaten beeinflussen die Ergebnisse, Datenqualität muss überprüft werden
Unzureichende Backtesting-Geschichte, mehr Daten für die Validierung erforderlich
Eintrittspunkte können verbessert werden, anstatt direkt lang an Kreuzungen unter dem niedrigsten
Zusammenfassend lässt sich mit dieser Strategie Trends anhand der doppelten Stochastik und der VWMA identifizieren, die in der Theorie Trendumkehrungen zuverlässig erkennen können. Für bestimmte Märkte ist jedoch eine Parameter-Tuning erforderlich, und es besteht ein Risiko falscher Signale. Es wird empfohlen, andere Faktoren wie Fundamente, langfristige Trends usw. zu kombinieren, um die Strategie zu verbessern Profit-Faktor. Die Logik ist einfach und klar und bietet eine Vorlage für Quant-Trading, die bei Bedarf geändert werden kann.
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Trend Finder V2", shorttitle="TFV2", format=format.price, precision=2, overlay = true) //----------Indicator------------// periodK = input(30) periodD = 3 smoothK = 2 periodK_two = input(90) periodD_two = 3 smoothK_two = 2 k = sma(stoch(close, high, low, periodK), smoothK) d = sma(k, periodD) k_two = sma(stoch(close, high, low, periodK_two), smoothK_two) d_two = sma(k, periodD_two) ts = k + k_two tsl = vwma(ts, input(30, title = "VWMA Length")) //--------Label parameter--------// up_label = tsl[1] < 100 and tsl > 100 ? 1 : 0 down_label = tsl[1] > 100 and tsl < 100 ? 1 : 0 //----------Color Code-----------// //tsl_col = tsl > 100 and tsl > tsl[1] ? color.aqua : tsl > 100 and tsl < tsl[1] ? color.green : tsl < 100 and tsl > tsl[1] ? color.maroon : tsl < 100 and tsl < tsl[1] ? color.red : color.silver //tsl_col = tsl > 100 and ts < 100 and ts > ts[1] ? color.aqua : tsl > 100 and ts > 100 and (ts > ts[1] or ts < ts[1]) ? color.green : tsl < 100 and ts > 100 and ts < ts[1] ? color.red : tsl < 100 and ts < 100 and (ts < ts[1] or ts > ts[1]) ? color.maroon : color.purple tsl_col = ts > ts[1] and tsl > tsl[1] ? color.lime : ts < ts[1] and tsl < tsl[1] ? color.red : color.yellow ts_col = (tsl_col == color.lime or tsl_col == color.maroon) and (k>k[1] and k < 30) ? color.lime : (tsl_col == color.green or tsl_col == color.red) and (k < k[1] and k > 70) ? color.red : color.silver //-------------Plots-------------// buy = tsl_col[1] == color.yellow and tsl_col == color.lime ? 1 : 0 sell = tsl_col[1] == color.yellow and tsl_col == color.red ? -1 : 0 plotcandle(open,high,low,close, color=tsl_col) strategy.entry("Long", strategy.long,when=buy==1) strategy.close("Long", when=sell==-1)