Chiến lược này là một hệ thống giao dịch tham số thích nghi dựa trên các tín hiệu chéo trung bình động kép. Nó tạo ra các tín hiệu giao dịch thông qua sự chéo giữa các đường trung bình di chuyển nhanh và chậm, kết hợp với các tham số quản lý rủi ro có thể điều chỉnh bao gồm dừng lỗ, lấy lợi nhuận và dừng kéo theo, đạt được quản lý chiến lược giao dịch linh hoạt.
Chiến lược này sử dụng hai đường trung bình động - nhanh và chậm - như các chỉ số cốt lõi. Một tín hiệu vị trí dài được tạo ra khi đường trung bình di chuyển nhanh vượt qua đường trung bình di chuyển chậm, trong khi tín hiệu đóng vị trí được tạo ra khi đường trung bình di chuyển nhanh vượt qua đường trung bình di chuyển chậm. Ngoài ra, chiến lược này kết hợp một cơ chế kiểm soát rủi ro ba lần: dừng lỗ cố định, lấy lợi nhuận cố định và dừng lại. Các thông số này có thể được điều chỉnh trong thời gian thực thông qua bảng điều khiển, dao động từ 0,1% đến tỷ lệ phần trăm lớn hơn, cung cấp cho các nhà giao dịch khả năng kiểm soát rủi ro chính xác.
Chiến lược này xây dựng một hệ thống giao dịch thích nghi thông qua hai đường chéo trung bình động kết hợp với các tham số quản lý rủi ro linh hoạt. Sức mạnh của nó nằm trong khả năng điều chỉnh tham số mạnh mẽ và kiểm soát rủi ro toàn diện, trong khi phải chú ý đến rủi ro từ các thị trường khác nhau và tối ưu hóa tham số. Chiến lược có tiềm năng tối ưu hóa đáng kể thông qua việc thêm các bộ lọc xu hướng và phương pháp tối ưu hóa dừng lỗ. Đối với các nhà giao dịch, thiết lập các tham số đúng cách và liên tục theo dõi hiệu suất chiến lược là chìa khóa để đảm bảo sự ổn định của chiến lược.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("Two Moving Averages Strategy with Adjustable Parameters", overlay=true) // Adjustable parameters for fast and slow moving averages fastLength = input.int(10, title="Fast Moving Average Length", minval=1, maxval=100) slowLength = input.int(30, title="Slow Moving Average Length", minval=1, maxval=100) // Risk management parameters stopLossPerc = input.float(1, title="Stop Loss (%)", step=0.1) // Stop-loss percentage takeProfitPerc = input.float(2, title="Take Profit (%)", step=0.1) // Take-profit percentage trailStopPerc = input.float(1.5, title="Trailing Stop (%)", step=0.1) // Trailing stop percentage // Calculate fast and slow moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Plot moving averages on the chart plot(fastMA, color=color.blue, title="Fast Moving Average") plot(slowMA, color=color.red, title="Slow Moving Average") // Conditions for opening and closing positions longCondition = ta.crossover(fastMA, slowMA) // Buy when fast moving average crosses above the slow moving average shortCondition = ta.crossunder(fastMA, slowMA) // Sell when fast moving average crosses below the slow moving average // Variables for stop-loss and take-profit levels var float longStopLevel = na var float longTakeProfitLevel = na // Enter a long position if (longCondition) longStopLevel := strategy.position_avg_price * (1 - stopLossPerc / 100) longTakeProfitLevel := strategy.position_avg_price * (1 + takeProfitPerc / 100) strategy.entry("Long", strategy.long) // Manage stop-loss, take-profit, and trailing stop for long positions if (strategy.position_size > 0) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLevel, limit=longTakeProfitLevel, trail_offset=trailStopPerc) // Close the long position and enter short when the condition is met if (shortCondition) strategy.close("Long") strategy.entry("Short", strategy.short)