Bollinger Bands Spanning Trading Strategie


Erstellungsdatum: 2023-12-19 14:08:45 zuletzt geändert: 2023-12-19 14:08:45
Kopie: 0 Klicks: 639
1
konzentrieren Sie sich auf
1621
Anhänger

Bollinger Bands Spanning Trading Strategie

Überblick

Die Strategie basiert auf dem Auf- und Abstieg der Bollinger Bands, um zu ermitteln, ob der Preis bei einem Aufstieg der Bollinger Bands zu viel macht und bei einem Abstieg der Bollinger Bands leer ist, und gehört zu den Strategien der Trendverfolgung.

Strategieprinzip

Die Strategie nutzt die mittleren, oberen und unteren Bahnen im Brin-Band, um die extreme Preisspanne zu beurteilen. Die mittlere Bahn ist ein einfacher Moving Average der Schlusspreise der letzten 25 Perioden, wobei die oberen und unteren Bahnen die nächste Standardabweichung der mittleren Bahnlinie sind. Wenn der Preis unterhalb der oberen Bahn oder unterhalb der unteren Bahnlinie durchbricht, wird ein Durchbruch angezeigt, der als außergewöhnliches Preisverhalten gilt, bei dem Handelsentscheidungen getroffen werden können.

Wenn der Preis unterhalb der unteren Bahnlinie liegt, kauft man zu viel; wenn der Preis über der oberen Bahnlinie liegt, verkauft man zu wenig. Wenn man übermäßig viel macht, setzt man die Stop-Loss-Linie auf den Einstiegspreis multipliziert mit dem Stop-Factor und die Stop-Loss-Linie auf den Einstiegspreis multipliziert mit dem Stop-Factor.

Die Strategie beinhaltet zusätzliche Regeln, wie z. B. nur ein Signal pro 24 Stunden, um unnötige Transaktionen zu vermeiden.

Strategische Vorteile

  1. Der Einsatz von Brin-Bändern zur Bestimmung von außergewöhnlichen Preisklassen ist eine Trendverfolgungsstrategie, die Preistrends erfasst.
  2. Die Parameter wurden nach dem Stop-Loss-Prinzip eingestellt, um einzelne Verluste zu kontrollieren.
  3. Es wurden zusätzliche Regeln eingeführt, um zu verhindern, dass sich die Signale wiederholen und unnötige Transaktionen stattfinden.

Strategisches Risiko

  1. Der Brin-Band-Bereich ist nicht vollständig repräsentativ für die Preisentwicklung und kann ein falsches Signal sein.
  2. Die falsche Zeit des Durchbruchs kann zu Verlusten führen.
  3. Trending-Märkte sind unberechenbar, wenn sie nicht im Trend sind, und können zu unnötigen Käufen führen.

Maßnahmen zur Risikokontrolle:

  1. Anpassung der Brin-Band-Parameter zur Optimierung der Zeit der Durchbruchsignale
  2. In Kombination mit anderen Indikatoren
  3. Die Stop-Loss-Marge wird je nach Sorte und Marktlage festgelegt.

Richtung der Strategieoptimierung

  1. Die Brin-Band-Parameter können als Anpassungsoptimierung betrachtet werden, um die Brin-Band näher an die aktuelle Marktlage zu bringen
  2. In Kombination mit anderen Indikatoren kann die Zuverlässigkeit von Trendsignalen beurteilt werden, um Fehlsignale zu vermeiden
  3. Mit Hilfe von Machine Learning-Modellen kann automatisch erkannt werden, wann die beste Zeit für den Kauf und Verkauf ist.

Zusammenfassen

Die Strategie ist insgesamt eine einfache Trendverfolgung, die die Brin-Streifen verwendet, um Preisunregelmäßigkeiten zu erkennen und Trends zu verfolgen. Es gibt noch Optimierungsmöglichkeiten in Bezug auf Parameteroptimierung, Risikokontrolle und Signalfilterung, aber die Kernidee ist einfach und klar und eignet sich als Einstieg in die Strategie.

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

//@version=5
strategy("I11L OIL Bot",overlay=true, initial_capital=1000000,default_qty_value=1000000,default_qty_type=strategy.cash,commission_type=strategy.commission.percent,commission_value=0.00)

leverage = input.float(1,"Leverage (x)",step=1)
SL_Factor = 1 - input.float(1,"Risk Capital per Trade (%)", minval=0.1, maxval=100, step=0.05) / 100 / leverage
TP_Factor = input.float(2, step=0.1)
invertBuyLogic = input.bool(false)
 
lookbackDistance = input.int(25)
devMult = input.float(2,step=0.1)

var lastSellHour = 0
var disableAdditionalBuysThisDay = false


if(time > lastSellHour + 1000 * 60 * 60 * 6)
    disableAdditionalBuysThisDay := false
if(strategy.position_size != strategy.position_size[1])
    disableAdditionalBuysThisDay := true
    lastSellHour := time

source = close

//Trade Logic
basis = ta.sma(source, lookbackDistance)
dev = devMult * ta.stdev(source, lookbackDistance)
upper = basis + dev
lower = basis - dev
isBuy = ta.crossunder(source, upper)
isBuyInverted = ta.crossover(source, lower)

plot(upper, color=color.white)
plot(lower, color=color.white)

strategy.initial_capital = 50000

if((invertBuyLogic ? isBuyInverted : isBuy) and not(disableAdditionalBuysThisDay))
    strategy.entry("Long", strategy.long, (strategy.initial_capital / close) * leverage)

if(strategy.position_size > 0)
    strategy.exit("SL Long", "Long", stop=strategy.position_avg_price * SL_Factor)
    strategy.close("Long",  when=close > strategy.position_avg_price * (1 + (1 - SL_Factor) * TP_Factor), comment="TP Long")