Long-Trading-Strategie basierend auf Breakout Range


Erstellungsdatum: 2023-09-19 17:19:55 zuletzt geändert: 2023-09-19 17:19:55
Kopie: 2 Klicks: 623
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie ist eine Strategie, die auf der Grundlage von Preissteigerungen in den Fixed-Rewind-Bereich ein Handelssignal erzeugt. Wenn der Preis den Höchstpreis der Rückwanderungsphase überschreitet, wird mehrere Operationen durchgeführt; wenn der Preis unter den Höchstpreis fällt, wird eine Pause durchgeführt.

Strategieprinzip

  1. Setzen Sie die Rückblick-Parameter, z. B. 4 Tage.

  2. Die Höchstpreise der letzten 4 Tage werden berechnet.

  3. Wenn der heutige Höchstpreis den Höchstpreis der letzten 4 Tage überschreitet, dann mehr.

  4. Wenn der Kurs die Höchstmarke der letzten vier Tage nicht überschreitet, wird die Position gelöscht.

  5. Durch die Reverse-Parameter können mehrere Freiraum-Richtungen umgeschaltet werden.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Ein Durchbruch ist einfach, das Signal ist klar.

  2. Fixe Durchbruch-Range-Parameter, um komplexe Parameteroptimierungen und Überoptimierungen zu vermeiden.

  3. Er ist für verschiedene Marktumgebungen geeignet und kann in verschiedene Richtungen umgeschaltet werden.

  4. Die Beobachtung des Festbereichs filtert einige Geräusche und ermöglicht eine kontinuierliche Verfolgung der Trends.

  5. Es gibt keine komplizierten Kennzahlen, die Strategie ist einfach und effektiv.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Die Breakout-Bereiche sind fest, sie können sich nicht an Veränderungen anpassen.

  2. Es gibt erhebliche Verluste, die über das Risiko hinausgehen.

  3. Die Fixparameter sind anfällig für die Wahrscheinlichkeit von Marktversagen.

  4. Es kann zu viel Lärm geben, was zu hohen Kosten führt.

  5. Die Optimierung der Parameter ist nicht vorgenommen, und es ist schwierig, die Optimierung der Standardparameter zu erreichen.

Optimierungsrichtung

Die Optimierung kann in folgenden Bereichen erfolgen:

  1. Optimierung der Schlüsselparameter, um die optimale Parameterkombination zu finden.

  2. Die Berechnung des dynamischen Durchbruchsbereichs basiert auf ATR.

  3. Erwägen Sie die Einbeziehung von beweglichen oder festen Stop-Losses.

  4. Es ist wichtig, dass der Markt nicht übertrieben wird, wenn der Markt in Schwung ist.

  5. Testparameter für die Robustheit in mehr Handelsarten.

  6. Die automatische Optimierung der Parameter wird durch die Einführung von Machine Learning-Algorithmen ermöglicht.

Zusammenfassen

Die Strategie als Ganzes ist eine sehr einfache, auf Preisdurchbrüche basierende Handelsstrategie. Durch Optimierung der Parameterpalette, Hinzufügung von Stop-Loss-Mechanismen, Trendbeurteilung und andere Verbesserungen kann sie zu einer leicht umsetzbaren und praktischen Quantifizierungsstrategie werden.

Strategiequellcode
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/11/2016
// Breakout Range Long Strategy
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Breakout Range Long Strategy Backtest", overlay = true)
look_bak = input(4, minval=1, title="Look Bak")
reverse = input(false, title="Trade reverse")
xHighest = highest(high, look_bak)
pos =	iff(high > xHighest[1], 1, 0)
if (pos == 1 and strategy.position_size == 0 and reverse == false) 
    strategy.entry("Long", strategy.long)
if (pos == 1 and strategy.position_size == 0 and reverse == true) 
    strategy.entry("Short", strategy.short)
if (pos == 0 and strategy.position_size > 0)
    strategy.close("Long")
if (pos == 0 and strategy.position_size < 0)
    strategy.close("Short")
barcolor(strategy.position_size > 0 ? green: strategy.position_size < 0 ? red: blue)   
plotshape(pos, style=shape.triangleup, location = location.belowbar, color = green)