Breakout-Einstiegstrendstrategie basierend auf dem ATR-Kanal


Erstellungsdatum: 2024-01-03 11:53:52 zuletzt geändert: 2024-01-03 11:53:52
Kopie: 1 Klicks: 722
1
konzentrieren Sie sich auf
1621
Anhänger

Breakout-Einstiegstrendstrategie basierend auf dem ATR-Kanal

Überblick

Die Strategie nutzt die ATR-Kanal- und Breakout-Theorie und ist eine Trendverfolgungsstrategie. Die Strategie ist einfach zu verstehen und verwendet die Gleichlauf-Kanal- und ATR-Indikatoren, um die Richtung des Trends zu bestimmen und an wichtigen Punkten ein Handelssignal zu senden.

Strategieprinzip

Die Strategie verwendet die Hoch-, Tief-, Schlusskurs- und ATR-Indikatoren, um Auf- und Abwärtsbahnen zu erstellen, um ATR-Kanäle zu bilden. Die Kanalbreite hängt von der Größe der ATR-Parameter ab. Wenn der Preis den Kanal durchbricht, wird er als Trendbeginn bezeichnet, wobei er in die Richtung von Über- oder Abnahme geht. Die Strategie ist in zwei Handelssignale unterteilt.

Analyse der Stärken

Die wichtigsten Vorteile der Strategie sind:

  1. Die Verwendung des ATR-Indikators zur Erstellung von Kanälen, die die Marktfluktuation berücksichtigen, ist besser als die einfache Durchschnittslinie.
  2. Es gibt zwei Verkaufsstellen, die in Gruppen betreten werden, und die Risiken sind kontrollierbar.
  3. Die Theorie der Trends und die Präzision der Schlüsselfunktionen.
  4. Der Code ist einfach zu verstehen und zu implementieren.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Der einzelne Indikator beurteilt, dass die Strategie mit hoher Wahrscheinlichkeit fehlschlägt, wenn die ATR fehlschlägt.
  2. Es gibt keine Stop-Loss-Beschränkungen und keine Positionsverwaltung, und die Risikokontrolle ist unzureichend.
  3. Wirksamkeit ist noch zu überprüfen, kann unter Festplattenbedingungen schlechter wirken.
  4. Unpassende Parameter können zu Überschreitungen oder Übertriebenen führen.

Optimierungsrichtung

Die Strategie kann wie folgt optimiert werden:

  1. Mehrfache Filterung und Bestätigung von Kennzahlen zur Vermeidung von Fehleinschätzungen.
  2. Die Einführung eines Stop-Loss-Moduls und eine stärkere Risikokontrolle.
  3. Erhöhung der Positionskontrolle und der Positionsverwaltung.
  4. Die Parameter werden optimiert und für verschiedene Sorten angepasst.
  5. Die Frequenz des Handels und die Größe der Positionen werden reduziert, wobei die Bedingungen für den Realkredit berücksichtigt werden.

Zusammenfassen

Der Gesamtrahmen der Strategie ist klar und als Konzeptüberprüfungsstrategie verständlich. Es besteht jedoch ein gewisser Abstand zur Realität und ein großer Optimierungsraum. Die Strategie hat bessere Aussichten, wenn die Windkontrolle und die Frequenzkontrolle der Transaktionen weiter verbessert werden können.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Myhaj_Lito

//@version=5
strategy("Renko Trend Strategy",shorttitle = "RENKO-Trend str.",overlay = true)
TF = input.timeframe(title='TimeFrame', defval="60")
ATRlength = input.int(title="ATR length", defval=60, minval=2, maxval=1000)

HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, ta.atr(ATRlength))


RENKOUP = float(na)
RENKODN = float(na)
H = float(na)
COLOR = color(na)
BUY = int(na)
SELL = int(na)
UP = bool(na)
DN = bool(na)
CHANGE = bool(na)

RENKOUP := na(RENKOUP[1]) ? (HIGH + LOW) / 2 + ATR / 2 : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? (HIGH + LOW) / 2 - ATR / 2 : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP - RENKODN : RENKOUP[1] - RENKODN[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false

// calculating 
if not CHANGE and close >= RENKOUP[1] + H * 2
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR * 2
    RENKODN := RENKOUP[1] + ATR
    COLOR := color.rgb(0, 255, 170,60)
    SELL := 0
    BUY += 2
    BUY


if not CHANGE and close >= RENKOUP[1] + H
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR
    RENKODN := RENKOUP[1]
    COLOR := color.rgb(0, 230, 38,60)
    SELL := 0
    BUY += 1
    BUY

if not CHANGE and close <= RENKODN[1] - H * 2
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR * 2
    RENKOUP := RENKODN[1] - ATR
    COLOR := color.rgb(255, 92, 43,60)
    BUY := 0
    SELL += 2
    SELL
if not CHANGE and close <= RENKODN[1] - H
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR
    RENKOUP := RENKODN[1]
    COLOR := color.rgb(245, 69, 69,60)
    BUY := 0
    SELL += 1
    SELL
//// STRATEGY 
if(UP)
    strategy.entry("Long",strategy.long)
if(DN)
    strategy.entry("Short",strategy.short)


// ploting 

bgcolor(COLOR)