Vorheriger Tag Schließen mit ATR Trend Tracking Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-31 14:39:09
Tags:

img

Übersicht

Diese Strategie setzt lange und kurze Einstiegspreisniveaus und Stop-Loss-Preisniveaus auf der Grundlage des Schlusskurses des vorherigen Tages und des ATR-Indikators, um den Trend zu verfolgen.

Strategie Logik

Diese Strategie verwendet den Indikator für den Schlusskurs, den Hoch- und den Tiefkurs sowie den ATR-Indikator des vorherigen Tages, um die Einstiegspreise und die Stop-Loss-Level zu berechnen.

Lange Eintrittspreisstufe TPup = Vortags-Schließung + ATR * 0,8
Kurzer Einstiegspreis TPdown = Vortags Schließen - ATR * 0,8

Langer Stop-Loss-Level-Slop = Vortags-Schließung + ATR * 0,2
Der Wert des kurzfristigen Stopp-Loss-Niveaus sldown = Vortags-Schließung - ATR * 0,2

Long-take-Gewinnniveau Gewinnniveau = Vortagstief + ATR * 1,7
Profitniveaus bei kurzfristigen Gewinnüberschreitungen = Vortagshoch - ATR * 1,7

Wenn der Preis durch TPup bricht, gehen Sie 10 Lots lang. Wenn der Preis durch TPdown bricht, gehen Sie 10 Lots kurz. Setzen Sie dann Stop Loss und Take Profit. Verlassen Sie Positionen auf Stop Loss-Trigger oder Take Profit-Trigger.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Verwendung des ATR-Indikators zur Festlegung dynamischer Einstiegspreisniveaus und Stop-Loss-Niveaus auf der Grundlage der Marktvolatilität, wodurch sich die Geschäfte besser an die Marktbedingungen anpassen.

  2. Die Verwendung von Vortagsschlüssen zur Bestimmung der Kursrichtung und die Kombination mit dem ATR-Indikator zur Ermittlung bestimmter Handelsniveaus, um zu vermeiden, dass man durch zu viel Echtzeit-Preislärm irregeführt wird.

  3. Einstellung von Stop-Loss- und Take-Profit-Mechanismen zur effektiven Kontrolle des Risikos jedes Handels.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Die von ATR festgelegten Preisniveaus können zu idealistisch sein, um die Marktbedingungen wirklich widerzuspiegeln, was zu häufigen Stop-Loss-Triggern führt.

  2. Die Schließung des Vortags kann keine künftigen Trends bestimmen, drastische Umkehrungen können die Richtungsentscheidungen irreführen, andere Indikatoren können kombiniert werden, um Trends zu bestätigen.

  3. Stop-Loss und Take-Profit können manipuliert werden, um zu lösen, ohne wirklich einen Stop-Loss zu erzielen.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimierung der ATR-Parameter, damit sich die Handelsniveaus besser an die Marktvolatilität anpassen.

  2. Hinzufügen von Mechanismen zur Beurteilung von Trends, um Handelsumkehrungen zu vermeiden, z. B. Kombination mit MA-Indikatoren.

  3. Anpassung der Gewinnspanne, Erhaltung der Rentabilität bei gleichzeitiger Verringerung der Wahrscheinlichkeit von Gewinnspielern.

  4. Setzen Sie Batch-Stop-Loss und Profit-Taking, um die Wahrscheinlichkeit zu verringern, dass Sie gefangen oder verlieren.

  5. Hinzufügen eines Positionsgrößenmechanismus zur Erhöhung der Positionen in Trendphasen.

Schlussfolgerung

Diese Strategie setzt dynamische Handelsniveaus auf der Grundlage der Vortagsschlüsse und ATR, um Trends effektiv zu verfolgen. Sie verwendet auch Stop-Loss und Take-Profit, um einzelne Handelsrisiken zu kontrollieren. Zu den Optimierungsrichtungen gehören Parameter-Tuning, Beurteilungsmechanismusverbesserung, Take-Profit-Anpassung und Positionsgröße usw. Im Allgemeinen erzielt diese Strategie gute Trendfolgen-Effekte.


/*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"}]
*/

//@version=3
strategy("PC with ATR Strategy (by Zhipengcfel)", shorttitle="PC_ATR", pyramiding=1, overlay=true)

// Zhipengcfel's Previous day's close with ATR Strategy
//
// Version 1.0
// @copyright Idea by Zhipengcfel on June 29, 2017.

//Previous day's close plus ATR strategy. 
//Buy (if breaking PC+ATR*0.8) or sell (if breaking PC-0.8*ATR). 

//This is just a demo vision and can not be used for real auto trading



///////////// ATR value
ATRlength = input(14, minval=1, title="lookback length of ATR")
//ATR = atr(ATRlength)
ATR = request.security(syminfo.tickerid, 'D', atr(ATRlength))

///////////// Entry levels and target levels
entr = input(0.8, minval=0.1, step = 0.05, title="Entry level for ATR")
tplevel = input(1.7, minval=0.1, step = 0.05, title="Exit level for ATR")
yesterday = request.security(syminfo.tickerid, 'D', close[1])
dl = request.security(syminfo.tickerid, 'D', low[1])
dh = request.security(syminfo.tickerid, 'D', high[1])
TPup = yesterday+entr*ATR
TPdown = yesterday-entr*ATR
profitlevelup = dl+tplevel*ATR
profitleveldown = dh-tplevel*ATR

///////////// Stop loss level
sl = input( 0.2  ,minval=0.01, step = 0.05, title="Stop loss level for ATR") //82 for 2, 83 for 3 and more positions
slup = yesterday+sl*ATR
sldown = yesterday-sl*ATR

///////////// Starting year to backtest
yer = input( 2014  , title="Backtest Starting year")


///////////// strategy: PC + ATR
if (close > TPup) and (close < profitlevelup)
    strategy.entry("LONG", strategy.long, 10, comment="Buy", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "LONG",  stop = slup, limit= profitlevelup, oca_name="My oca")
            

if (close < TPdown) and (close > profitleveldown)
    strategy.entry("SHORT", strategy.short, 10, comment="Sell", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "SHORT", stop = sldown, limit= profitleveldown, oca_name="My oca")
 

Mehr