Strategie mit einem gleitenden Durchschnitt, der die Bollinger-Bänder kreuzt


Erstellungsdatum: 2023-12-22 14:10:14 zuletzt geändert: 2023-12-22 14:10:14
Kopie: 1 Klicks: 726
1
konzentrieren Sie sich auf
1621
Anhänger

Strategie mit einem gleitenden Durchschnitt, der die Bollinger-Bänder kreuzt

Überblick

Die Strategie basiert auf der Einheitslinie und dem Brin-Band-Indikator, bei dem ein Kauf- oder Verkaufsvorgang durchgeführt wird, wenn der Preis die Brin-Band-Grenze überschreitet. Der Trend wird in Kombination mit der Richtung der Einheitslinie beurteilt, wobei ein Kauf nur dann durchgeführt wird, wenn die Einheitslinie steigt, und ein Verkauf nur dann, wenn die Einheitslinie fällt.

Strategieprinzip

Die Strategie basiert hauptsächlich auf folgenden Kennzahlen:

  1. Durchschnittslinie ((SMA): Berechnung eines einfachen gleitenden Durchschnitts des CLOSE-Abschlusspreises, der die Preisentwicklung darstellt.
  2. Brin-Band auf der Schiene: repräsentiert die Widerstandslinie in der Nachseite, ein Durchbruch dieser Linie bedeutet einen starken Durchbruch.
  3. Die Brin-Linie ist eine Unterstützung, die unter der Linie fällt, um die Wahrscheinlichkeit einer Trendumkehr zu zeigen.

Die konkreten Handelssignale sind wie folgt:

  1. Kaufsignal: Kaufen Sie, wenn der Schlusskurs die Brin-Band überschreitet und der Durchschnitt auf dem Vormarsch ist.
  2. Verkaufssignal: Verkauf, wenn der Schlusskurs die Brin-Band-Abschwelle überschreitet und der Kurs in einem rückläufigen Zustand ist

Auf diese Weise werden Trends und Breakouts kombiniert, um ein zuverlässiges Handelssignal zu erzeugen und falsche Breakouts zu vermeiden.

Strategische Vorteile

  1. Die Regeln sind einfach, klar und leicht zu verstehen und umzusetzen.
  2. Es ist wichtig, dass man sich mit der Durchschnittslinie befasst, um die Richtung der großen Trends zu bestimmen, und dass man keine Kurz- oder Bärenmärkte macht.
  3. Die Brin-Strecke auf der Unterbahn beurteilt die örtlichen Durchbruchspunkte und fängt die Durchbruchsignale genau ein.
  4. Die Rücknahmen sind relativ gering und entsprechen den Risikopräferenzen der meisten Menschen.

Strategisches Risiko

  1. Ein einzelner Indikator kann leicht zu Fehlern führen und kann durch Optimierungsparameter reduziert werden.
  2. Der Stop-Loss-Punkt kann entsprechend angepasst werden, wenn die Börse nicht in der Lage ist, mit großen Marktschwankungen umzugehen.
  3. Wenn Sie nicht in der Lage sind, mehr zu verdienen, wenn der Trend groß ist, können Sie eine größere Position in Betracht ziehen.

Strategieoptimierung

  1. Optimierung der Parameter für die Durchschnittslinie, um mehr Sorten anzupassen.
  2. Filter für andere Indikatoren, wie MACD, werden hinzugefügt, um Fehlsignale zu reduzieren.
  3. Dynamische Anpassung der Stop-Loss-Punkte, um die maximale Rücknahme zu begrenzen.
  4. Das ist eine gute Idee, aber es ist auch eine gute Idee, um Geld zu verwalten.

Zusammenfassen

Die Strategie ist insgesamt relativ einfach und praktisch und für die meisten Menschen geeignet. Mit einigen Optimierungs-Anpassungen kann die Strategie robuster gemacht werden, um sich an mehr Marktbedingungen anzupassen.

Strategiequellcode
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-18 19:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="single sma cross", shorttitle="single sma cross",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,overlay=true,currency="USD")
s=input(title="s",defval=90)
p=input(title="p",type=float,defval=.9,step=.1)

sa=sma(close,s)
plot(sa,color=red,linewidth=3)
band=stdev(close,s)*p
plot(band+sa,color=lime,title="")
plot(-band+sa,color=lime,title="")

// ===Strategy Orders============================================= ========
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

longCondition = crossover(close,sa+band) and rising(sa,5)
shortCondition = crossunder(close,sa-band) and falling(sa,5)
crossmid = cross(close,sa)


strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = shortCondition)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = longCondition)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=crossmid)