Strategi ini menggunakan penunjuk Bollinger Bands untuk menentukan isyarat dagangan dan menetapkan paras stop profit / loss. Ia pergi lama apabila harga menyentuh jalur tengah dari bawah dan pergi pendek apabila harga menyentuh jalur tengah dari atas. Ia menetapkan 0.5% mengambil keuntungan dan 3% berhenti kerugian, milik strategi dagangan jangka pendek.
Band tengah Bollinger Bands adalah purata bergerak mudah N-hari harga penutupan. Band atas adalah band tengah + K kali penyimpangan standard N-hari harga penutupan. Band bawah adalah band tengah - K kali penyimpangan standard N-hari harga penutupan.
Penyelesaian:
Logik keseluruhan strategi ini jelas. Menggunakan Bollinger Bands untuk menentukan isyarat adalah berkesan. Walau bagaimanapun, kekerapan perdagangan yang tinggi dan ruang keuntungan yang terhad setiap perdagangan. Adalah disyorkan untuk menggabungkan penunjuk trend untuk menapis isyarat dan mengoptimumkan parameter untuk meningkatkan prestasi strategi.
/*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")