Chiến lược này sử dụng chỉ số Bollinger Bands để xác định các tín hiệu giao dịch và đặt mức dừng lợi nhuận / lỗ. Nó sẽ dài khi giá chạm vào dải giữa từ dưới và ngắn khi giá chạm vào dải giữa từ trên. Nó đặt 0,5% lấy lợi nhuận và 3% dừng lỗ, thuộc về chiến lược giao dịch ngắn hạn.
Dải giữa của Bollinger Bands là trung bình di chuyển đơn giản của giá đóng cửa. Dải trên là dải giữa + K lần độ lệch chuẩn N ngày của giá đóng cửa. Dải dưới là dải giữa - K lần độ lệch chuẩn N ngày của giá đóng cửa. Nó đi dài khi giá vượt qua dải giữa từ dưới, và đi ngắn khi giá vượt qua dải giữa từ trên. Nó mở kích thước cố định cho mỗi giao dịch và thiết lập 0,5% lấy lợi nhuận và 3% dừng lỗ.
Giải pháp:
Khái niệm tổng thể của chiến lược này là rõ ràng. Sử dụng Bollinger Bands để xác định tín hiệu là hiệu quả. Tuy nhiên, tần suất giao dịch cao và không gian lợi nhuận hạn chế cho mỗi giao dịch.
/*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")