Langfristige Durchbruchstrategie auf der Grundlage des K-Line-Baus

Schriftsteller:ChaoZhang, Datum: 2024-01-05 12:37:46
Tags:

img

Übersicht

Diese Strategie realisiert den Long-Position-Breakout-Handel auf der 4-Stunden-Linie von Tesla, indem sie einfache K-Linien-Muster-Urteilsregeln festlegt.

Strategieprinzip

Die Kernlogik der Strategie basiert auf den folgenden vier K-Linien-Musterregeln:

  1. Der niedrigste Preis der aktuellen K-Linie ist niedriger als der Eröffnungspreis
  2. Der niedrigste Preis der aktuellen K-Linie ist niedriger als der niedrigste Preis der vorherigen K-Linie
  3. Der Schlusskurs der aktuellen K-Linie ist höher als der Eröffnungskurs
  4. Der Schlusskurs der aktuellen K-Linie ist höher als der Eröffnungs- und Schlusskurs der vorherigen K-Linie

Wenn alle 4 Regeln gleichzeitig erfüllt sind, wird eine Long-Positionseröffnung durchgeführt.

Darüber hinaus legt die Strategie auch Stop-Loss- und Take-Profit-Bedingungen fest, um Positionen zu schließen, wenn der Preis die Stop-Loss- oder Take-Profit-Bedingungen auslöst.

Analyse der Vorteile

Die Strategie weist folgende Vorteile auf:

  1. Die verwendeten K-Linien-Urteilsregeln sind sehr einfach und unkompliziert, leicht verständlich und einfach zu üben.
  2. Es basiert vollständig auf der Einschätzung der Preisentitäten ohne die Verwendung übermäßig komplexer technischer Indikatoren, und die Ergebnisse der Backtests sind unkompliziert.
  3. Die Codeimplementierung ist klein, läuft effizient und lässt sich leicht optimieren und verbessern.
  4. Stop-Loss und Take-Profit können flexibel eingestellt werden, indem die Parameter zur Risikokontrolle angepasst werden.

Risikoanalyse

Die wichtigsten Risiken sind:

  1. Für die Eröffnung von Positionen wird eine feste Menge verwendet, ohne die Positionsgröße zu berücksichtigen, was zu einem Risiko von Überhandelungen führen kann.
  2. Es sind keine Filter festgelegt, die zu viele ungültige Trades auf den Bereichsmärkten erzeugen könnten.
  3. Unzureichende Backtestdaten können die Bewertung der Strategieleistung beeinträchtigen.

Zur Minderung der Risiken können folgende Methoden angewendet werden:

  1. Einbeziehung eines Positionsgrößenmodells zur dynamischen Anpassung der Handelsgröße anhand der Kapitalgröße.
  2. Hinzufügen von Handelsfiltern, um eine ungeordnete Eröffnung von Geschäften unter unruhigen Marktbedingungen zu vermeiden.
  3. Sammeln Sie mehr historische Daten, um die Dauer der Rückprüfung zu verlängern und die Zuverlässigkeit der Ergebnisse zu verbessern.

Optimierungsrichtlinien

Zu den möglichen Optimierungsrichtungen für die Strategie gehören:

  1. Einbeziehung eines Positionsgrößenmoduls zur Bestimmung der Handelsgröße auf der Grundlage der Kapitalverwendungsquote.
  2. Entwerfen Sie Stop-Loss- und Take-Profit-Verfolgungsmechanismen für flexible Exits.
  3. Fügen Sie Handelsfilter hinzu, um ungültige Trades zu vermeiden.
  4. Automatische Optimierung der Parameter mit Hilfe von maschinellen Lernmethoden.
  5. Unterstützung des Spread-Handels für mehrere Produkte.

Schlussfolgerung

Diese Strategie realisiert den langen Durchbruchshandel unter Verwendung einfacher K-Linien-Musterregeln. Obwohl es etwas Verbesserungspotenzial gibt, ist sie aus der Perspektive der Einfachheit und Direktheit eine sehr geeignete Long-Positionsstrategie für Anfänger, die sie verstehen und verwenden können.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheQuantScience

//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
     defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2017, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2022, minval=1800, maxval=2100)
     
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true

// Setting Conditions 
ConditionA = low < open 
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]

FirstCondition = ConditionA and ConditionB 
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition

TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick

EntryCondition = IsLong and inDateRange

// Trade Entry&Exit Condition 
if EntryCondition and strategy.opentrades == 0
    strategy.entry(id = 'Open_Long', direction = strategy.long)
    strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)







Mehr