Die Ressourcen sind geladen. Beförderung...

Liquiditätsgetriebene Trendstrategie - Eine Quantengeschäftsstrategie auf der Grundlage von Stromtrendanzeigen

Schriftsteller:ChaoZhang, Datum: 21.12.2023 10:19:52
Tags:

img

Übersicht

Die Strategie trägt den Namen Liquidity Driven Trend Strategy. Sie zielt darauf ab, die Kurstrendrichtung über verschiedene Zeitrahmen hinweg zu identifizieren und entsprechende lang- oder kurzfristige Entscheidungen zu treffen.

Strategie Logik

Die Kernlogik dieser Strategie basiert auf dem CHOP-Indikator, bei dem das gleitende Durchschnittssystem die allgemeine Trendrichtung beurteilt. Insbesondere berechnet die Strategie die RSI-Werte einer schnellen Linie (Länge = 20) und einer langsamen Linie (Länge = 50) in höheren Zeitrahmen und berechnet den Unterschied zwischen den beiden RSI-Linien. Wenn die schnelle Linie RSI über die langsame Linie RSI überschreitet, signalisiert sie einen Aufwärtstrend und löst lange Signale aus. Im Gegenteil, wenn die schnelle Linie RSI unter die langsame Linie RSI überschreitet, signalisiert sie einen Abwärtstrend und erzeugt kurze Signale.

Die Strategie führt außerdem einen Mechanismus für mehrere Zeitrahmen ein: Sie berechnet die RSI-Differenz in höheren Zeitrahmen (z. B. täglich), um die allgemeine Trendrichtung zu bestimmen, und führt dann tatsächliche Kauf- und Verkaufsaufträge in niedrigeren Zeitrahmen (z. B. 5 Minuten) auf der Grundlage des höheren Zeitrahmentrendurteils aus.

Vorteile der Strategie

  • Mit Hilfe der RSI-Divergenz potenzielle Trendumkehrungen frühzeitig sensibler erfassen
  • Anwendung des Konzepts des mehrfachen Zeitrahmens zur Bestimmung des Trends bei höheren TF und Ausführung von Aufträgen bei niedrigeren TF
  • Der RSI spiegelt Preis- und Volumenänderungen wider und zeigt Marktliquidität und Marktbeteiligung an
  • Einfache Parameter-Einstellungen, leicht zu verstehen, zu erklären und einzustellen

Risiken und Lösungen

  • Falsche Ausbrüche können bei Doppel-MA-Systemen auftreten
  • Ein fehlgeschlagener Ausbruch kann zu unnötigen Verlusten führen.

Lösungen:

  1. Anpassung der MA-Parameter zur Verringerung der Wahrscheinlichkeit eines falschen Ausbruchs
  2. Fügen Sie Filter hinzu, um unnötige Einträge zu vermeiden

Optimierungsrichtlinien

  • Optimierung der RSI-Parameter mithilfe von Kalman-Filter-Algorithmen
  • Hinzufügen von MACD und anderen Indikatoren zur Beurteilung
  • Dynamische Ausstiegspositionen auf Basis von Handelsvolumenänderungen setzen

Schlussfolgerung

Diese Strategie nutzt die RSI-Divergenz, um potenzielle Wendepunkte des Trends sensibel zu erfassen. Die Multi-Timeframe-Anwendung sorgt dafür, den Gesamttrend zu beurteilen und gleichzeitig die spezifische Handelsausführung flexibel zu halten. Im Vergleich zu anderen Trendfolgestrategien ist diese Strategie einfacher, intuitiv bei Parameteranpassungen und einfach zu optimieren. Abschließend bildet die Strategie ein effizientes und praktisches Trendhandelssystem, das weitere Erforschung und Anwendung wert ist.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Flow Trend Indicator Strategy", "FlowTI", overlay=true, calc_on_every_tick=true)

isTimeFrame(timeFrame) =>
    timeFrame == timeframe.period ? true : false

Htf() =>
    isTimeFrame("12") ? "60" : isTimeFrame("60") ? "300" : isTimeFrame("300") ? "D" : isTimeFrame("D") ? "W" : isTimeFrame("W") ? "M" : isTimeFrame("M") ? "5M" : "D"

TrendIndication() =>
    trendFastLength = 20
    trendSlowLength = 50
    upFastHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
    downFastHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendFastLength), barmerge.gaps_off, barmerge.lookahead_on)
    rsiFastHtf = downFastHtf == 0 ? 100 : upFastHtf == 0 ? 0 : 100 - (100 / (1 + upFastHtf / downFastHtf))
    upSlowHtf = request.security(syminfo.tickerid, Htf(), rma(max(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
    downSlowHtf = request.security(syminfo.tickerid, Htf(), rma(-min(change(close), 0), trendSlowLength), barmerge.gaps_off, barmerge.lookahead_on)
    rsiSlowHtf = downSlowHtf == 0 ? 100 : upSlowHtf == 0 ? 0 : 100 - (100 / (1 + upSlowHtf / downSlowHtf))
    rsiDiff = rsiFastHtf - rsiSlowHtf
    crossover(rsiDiff, 0) ? true : crossunder(rsiDiff, 0) ? false : na

if (TrendIndication() == true)
    strategy.entry("Long", strategy.long)

if (TrendIndication() == false)
    strategy.entry("Short", strategy.short)

Mehr