Diese Strategie verwendet den Bollinger Bands Indikator, um Handelssignale zu bestimmen und Stop-Profit/Loss-Levels festzulegen.
Das mittlere Band der Bollinger Bands ist der N-Tage einfache gleitende Durchschnitt des Schlusskurses. Das obere Band ist das mittlere Band + K mal N-Tage Standardabweichung des Schlusskurses. Das untere Band ist das mittlere Band - K mal N-Tage Standardabweichung des Schlusskurses. Es geht lang, wenn der Preis über das mittlere Band von unten bricht, und geht kurz, wenn der Preis unter das mittlere Band von oben bricht. Es öffnet eine feste Größe für jeden Trade und setzt 0,5% Gewinn und 3% Stop-Loss.
Lösungen:
Die allgemeine Logik dieser Strategie ist klar. Die Verwendung von Bollinger Bands zur Bestimmung von Signalen ist effektiv. Allerdings ist die hohe Handelsfrequenz und der begrenzte Gewinnraum pro Handel. Es wird empfohlen, Trendindikatoren zu kombinieren, um Signale zu filtern und Parameter zu optimieren, um die Strategieleistung zu verbessern.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true) // Parámetros de las Bandas de Bollinger length = input(20, title="Longitud") mult = input(2.0, title="Multiplicador") // Calcula las Bandas de Bollinger basis = ta.sma(close, length) upper_band = basis + mult * ta.stdev(close, length) lower_band = basis - mult * ta.stdev(close, length) // Condiciones para realizar operaciones price_touches_basis_up = ta.crossover(close, basis) price_touches_basis_down = ta.crossunder(close, basis) // Lógica de la estrategia if (price_touches_basis_up) strategy.entry("Compra", strategy.long, qty = 1) if (price_touches_basis_down) strategy.entry("Venta", strategy.short, qty = 1) // Lógica para cerrar la operación con un movimiento del 0,5% (take profit) o 3% (stop loss) target_profit = 0.005 // Actualizado a 0.5% stop_loss = 0.03 if (strategy.position_size > 0) strategy.exit("Take Profit/Close", from_entry = "Compra", profit = close * (1 + target_profit)) strategy.exit("Stop Loss/Close", from_entry = "Compra", loss = close * (1 - stop_loss)) if (strategy.position_size < 0) strategy.exit("Take Profit/Close", from_entry = "Venta", profit = close * (1 - target_profit)) strategy.exit("Stop Loss/Close", from_entry = "Venta", loss = close * (1 + stop_loss)) // Dibuja las Bandas de Bollinger en el gráfico plot(upper_band, color=color.blue, title="Upper Band") plot(lower_band, color=color.red, title="Lower Band") plot(basis, color=color.green, title="Basis")