Trendfolgende Stop-Loss- und Take-Profit-Strategien


Erstellungsdatum: 2024-01-24 14:17:28 zuletzt geändert: 2024-01-24 14:17:28
Kopie: 1 Klicks: 661
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgende Stop-Loss- und Take-Profit-Strategien

Überblick

Dies ist eine Trend-Tracking-Strategie, die auf dem Brin-Band-Indikator basiert und einen Stop-Loss-Stop mit dem ATR-Indikator setzt. Die Strategie beurteilt zuerst den Markttrend, die IRONMENT-Linie, und setzt den Stop-Loss-Stop bei einer leeren Position.

Strategieprinzip

  1. Berechnen Sie die Ober- und Unterstrecke des Brin-Bandes.
  2. Beurteilen Sie, ob der Schlusskurs über der Oberbahn oder unter der Unterbahn liegt, und wenn ja, beurteilen Sie ihn als Trendmarkt, als Mehrkopfmarkt bzw. als Leermarkt.
  3. Wenn es sich um einen Trendmarkt handelt, wird die Umgebungslinie berechnet. Die Umgebungslinie basiert auf dem niedrigsten Preis abzüglich des ATR-Wertes (Mehrkopfmarkt) oder dem höchsten Preis plus dem ATR-Wert (Leerkopfmarkt).
  4. Wenn es sich nicht um einen Trendmarkt handelt, bleibt die Umgebungslinie mit dem Umgebungswert der vorherigen K-Linie gleich.
  5. Vergleichen Sie die ENVIRONMENT-Linie, um die Richtung der Tendenz zu bestimmen.
  6. Wenn sich die ENVIRONMENT-Linie in die Richtung ändert, erzeugt sie ein Kauf-/Verkaufssignal.
  7. Die Stop-Loss-Stopp-Einstellungen: Die feste Stop-Loss-Distanz ist 100-mal so hoch wie der Einstiegspreis; die Floating Stop-Distanz ist 1,1-mal so hoch (Multiplex) oder 0,9-mal so hoch (Leerstand) wie der Einstiegspreis.

Analyse der Stärken

  1. Das Unternehmen ist in der Lage, Markttrends zu beurteilen und falsche Durchbrüche zu reduzieren.
  2. Setzen Sie eine ENVIRONMENT-Linie, um nicht eingeklemmt zu werden.
  3. Die Stop-Loss-Stopp-Systeme sind vernünftig eingerichtet, um Risiken zu kontrollieren und gleichzeitig Gewinne zu sichern.

Risikoanalyse

  1. Eine falsche Einstellung der Parameter kann zu verpassten Handelschancen führen.
  2. Der Brin-Band-Indikator hat eine hohe Wahrscheinlichkeit, sich bei Erschütterungen zu irren.
  3. Ein zu naher Stopp könnte zu einer Aussetzung führen.

Optimierungsrichtung

  1. Optimierung der Parameter des Brennbandes, um ihn für verschiedene Sorten geeigneter zu machen.
  2. Optimierung der Berechnungsmethode für die ENVIRONMENT-Zeile, z. B. durch Einführung anderer Indikatoren.
  3. Test und Optimierung der Parameter-Einstellungen für die Schadensstopper.

Zusammenfassen

Dies ist eine Strategie, um einen Trend mit Brin-Band zu beurteilen und die ENVIRONMENT-Linie zu nutzen, um einen Stop-Loss-Stop einzurichten. Der Kernvorteil ist, dass die Trend-Beurteilung klar ist, die Stop-Loss-Stop-Einstellung vernünftig ist und die Risiken effektiv kontrolliert werden können. Das Hauptrisiko besteht darin, dass die Brin-Band-Trend-Beurteilung falsch ist und die Stop-Loss-Punkt zu nahe ist.

Strategiequellcode
/*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 Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zhuenrong

// © Dreadblitz
//@version=4
strategy(shorttitle="FLI", title="Follow Line Indicator", overlay=true)
// 
BBperiod      = input(defval = 21,     title = "BB Period",    type = input.integer, minval = 1)
BBdeviations  = input(defval = 1.00,     title = "BB Deviations",    type = input.float, minval = 0.1, step=0.05)
UseATRfilter  = input(defval = true, title = "ATR Filter",  type = input.bool)
ATRperiod     = input(defval = 5,     title = "ATR Period",    type = input.integer, minval = 1)
hl            = input(defval = false, title = "Hide Labels",  type = input.bool)
//
BBUpper=sma (close,BBperiod)+stdev(close, BBperiod)*BBdeviations
BBLower=sma (close,BBperiod)-stdev(close, BBperiod)*BBdeviations
//
TrendLine = 0.0
iTrend = 0.0
buy = 0.0
sell = 0.0
//
BBSignal = close>BBUpper? 1 : close<BBLower? -1 : 0
// 
if BBSignal == 1 and UseATRfilter == 1
    TrendLine:=low-atr(ATRperiod)
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 1
    TrendLine:=high+atr(ATRperiod)
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 1
    TrendLine:=TrendLine[1]
//
if BBSignal == 1 and UseATRfilter == 0
    TrendLine:=low
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 0
    TrendLine:=high
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 0
    TrendLine:=TrendLine[1]
//
iTrend:=iTrend[1]
if TrendLine>TrendLine[1] 
    iTrend:=1
if TrendLine<TrendLine[1] 
    iTrend:=-1
//
buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na
sell:=iTrend[1]==1 and iTrend==-1? 1 : na
//
plot(TrendLine, color=iTrend > 0?color.blue:color.red ,style=plot.style_line,linewidth=2,transp=0,title="Trend Line") 
plotshape(buy == 1 and hl == false? TrendLine-atr(8) :na, text='💣', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto)
plotshape(sell == 1 and hl == false ?TrendLine+atr(8):na, text='🔨', style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white, offset=0, transp=0,size=size.auto)
//
alertcondition(sell == 1 ,title="Sell",message="Sell")
alertcondition(buy == 1 ,title="Buy",message="Buy")
alertcondition(buy == 1 or sell == 1 ,title="Buy/Sell",message="Buy/Sell")
if (buy==1)
    strategy.entry("Buy", strategy.long)
if (sell==1)
    strategy.entry("Sell", strategy.short)
// === Stop LOSS ===

if strategy.position_size>0
    strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)
if strategy.position_size<0
    strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*0.9)