Chiến lược này là một hệ thống giao dịch theo xu hướng kết hợp các chỉ số Moving Average (MA) và Bollinger Bands. Nó xác định xu hướng thị trường bằng cách phân tích mối quan hệ giá với mức trung bình động 200 giai đoạn và vị trí Bollinger Bands, trong khi kết hợp cơ chế dừng lỗ tỷ lệ phần trăm cố định để kiểm soát rủi ro. Chiến lược sử dụng quản lý vị trí 2,86%, tương thích với đòn bẩy 35x, chứng minh các nguyên tắc quản lý quỹ thận trọng.
Logic cốt lõi của chiến lược dựa trên các yếu tố chính sau:
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh bằng cách kết hợp các chỉ số kỹ thuật cổ điển, chứng minh khả năng nắm bắt xu hướng tốt và hiệu ứng kiểm soát rủi ro. Những lợi thế cốt lõi nằm ở tính hệ thống hóa cao và khả năng điều chỉnh tham số, trong khi đạt được kiểm soát rủi ro hiệu quả thông qua các cơ chế dừng lỗ cố định. Mặc dù hiệu suất có thể không tối ưu trong các thị trường khác nhau, việc thực hiện các tối ưu hóa được đề xuất có thể nâng cao sự ổn định và lợi nhuận của chiến lược. Các nhà giao dịch được khuyên nên xem xét điều kiện thị trường khi thực hiện giao dịch trực tiếp và điều chỉnh các tham số theo khả năng dung nạp rủi ro của họ.
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-25 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MA 200 and Bollinger Bands Strategy", overlay=true) // 2.86% for 35x leverage // inputs ma_length = input(200, title="MA Length") bb_length = input(20, title="Bollinger Bands Length") bb_mult = input(2.0, title="Bollinger Bands Multiplier") // calculations ma_200 = ta.sma(close, ma_length) bb_basis = ta.sma(close, bb_length) bb_upper = bb_basis + (ta.stdev(close, bb_length) * bb_mult) bb_lower = bb_basis - (ta.stdev(close, bb_length) * bb_mult) // plot indicators plot(ma_200, color=color.blue, title="200 MA") plot(bb_upper, color=color.red, title="Bollinger Upper Band") plot(bb_basis, color=color.gray, title="Bollinger Basis") plot(bb_lower, color=color.green, title="Bollinger Lower Band") // strategy logic long_condition = close > ma_200 and bb_basis > ma_200 and ta.crossover(close, bb_lower) short_condition = close < ma_200 and bb_basis < ma_200 and ta.crossunder(close, bb_upper) // fixed stop loss percentage fixed_stop_loss_percent = 3.0 / 100.0 if (long_condition) strategy.entry("Long", strategy.long) strategy.exit("Stop Long", "Long", stop=strategy.position_avg_price * (1 - fixed_stop_loss_percent)) if (short_condition) strategy.entry("Short", strategy.short) strategy.exit("Stop Short", "Short", stop=strategy.position_avg_price * (1 + fixed_stop_loss_percent)) // take profit conditions close_long_condition = close >= bb_upper close_short_condition = close <= bb_lower if (close_long_condition) strategy.close("Long") if (close_short_condition) strategy.close("Short")