
Chiến lược này là hệ thống giao dịch theo xu hướng kết hợp Đường trung bình động (MA) với Dải Bollinger. Chiến lược này xác định xu hướng thị trường bằng cách phân tích mối quan hệ về vị trí giữa giá và đường trung bình động 200 kỳ, cũng như vị trí của Dải Bollinger, đồng thời tích hợp cơ chế dừng lỗ theo phần trăm cố định để kiểm soát rủi ro. Chiến lược này áp dụng mức quản lý vị thế là 2,86%, phù hợp với đòn bẩy 35x và phản ánh khái niệm quản lý quỹ thận trọng.
Logic cốt lõi của chiến lược này 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ỉ báo kỹ thuật cổ điển, có khả năng nắm bắt xu hướng tốt và hiệu quả kiểm soát rủi ro. Ưu điểm cốt lõi của chiến lược này nằm ở mức độ hệ thống hóa cao và khả năng điều chỉnh thông số mạnh mẽ, trong khi kiểm soát rủi ro hiệu quả đạt được thông qua cơ chế dừng lỗ cố định. Mặc dù hiệu suất có thể kém trong một thị trường biến động, tính ổn định và lợi nhuận của chiến lược có thể được cải thiện hơn nữa thông qua việc triển khai các hướng đi được tối ưu hóa. Người giao dịch nên chú ý đến việc lựa chọn môi trường thị trường khi sử dụng trong giao dịch thực tế và điều chỉnh cài đặt thông số theo khả năng chịu rủi ro của riêng mình.
/*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")