Tổng quan: Chiến lược này thực hiện giao dịch chéo vàng và chéo chết dựa trên ba đường trung bình động với các giai đoạn khác nhau. Nó đi dài khi MA ngắn vượt qua trên MA dài, và đi ngắn khi MA ngắn vượt qua dưới MA dài.
Chiến lược logic:
Xác định ba MA - MA ngắn hạn, MA dài hạn và MA xu hướng.
Một tín hiệu mua được tạo ra khi MA thời gian ngắn vượt qua MA thời gian dài. Một tín hiệu bán được tạo ra khi MA thời gian ngắn vượt dưới MA thời gian dài.
Kiểm tra xem cả MAs ngắn và dài đều trên MA xu hướng. Nếu không, tín hiệu được lọc để tránh giao dịch chống lại xu hướng.
Thiết lập stop loss và lấy lợi nhuận như một tỷ lệ phần trăm của giá nhập. Tối ưu hóa các thông số dựa trên backtesting.
Chụp các điểm chéo MA để hình dung các tín hiệu nhập cảnh.
Ưu điểm:
Đơn giản và trực quan chiến lược logic, dễ hiểu và thực hiện.
Có thể nắm bắt hiệu quả xu hướng trung hạn và giao dịch với đà.
lọc theo xu hướng MA tránh giao dịch chống lại xu hướng.
Thời gian MA có thể được điều chỉnh cho các điều kiện thị trường khác nhau.
Có thể tùy chỉnh dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro.
Rủi ro:
Di chuyển biến động mạnh có thể kích hoạt dừng lỗ.
Mất nhiều hơn khi xu hướng đảo ngược.
Điều chỉnh tham số không chính xác có thể dẫn đến giao dịch quá mức hoặc bỏ lỡ cơ hội.
Chi phí giao dịch cần được xem xét.
Những cải tiến:
Thêm bộ lọc biến động như ATR để tránh tín hiệu sai.
Sử dụng máy học để tối ưu hóa các tham số một cách năng động.
Thêm thêm các chỉ số như MACD để xác định xu hướng.
Thực hiện lệnh dừng lỗ để giữ lợi nhuận.
Kiểm tra lại để tìm mức dừng lỗ tối ưu và lấy lợi nhuận.
Kết luận:
Chiến lược nắm bắt xu hướng hiệu quả với logic rõ ràng và dễ thực hiện. Kiểm soát rủi ro bằng bộ lọc xu hướng, dừng lỗ và lấy lợi nhuận. Điều chỉnh tham số đòi hỏi tối ưu hóa cho điều kiện thị trường. Nhiều chỉ số có thể cải thiện hiệu suất. Thích hợp cho giao dịch xu hướng trung hạn. Hiệu suất tốt trong backtest và giao dịch demo. Trong giao dịch trực tiếp, hãy cẩn thận với rủi ro xoáy và đảo ngược xu hướng. Có giá trị thực tế nói chung.
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAU M15", overlay=true) // Define input parameters long_length = input.int(64, title="Long MA Length") short_length = input.int(1, title="Short MA Length") trend_length = input.int(200, title="Trend MA Length") // Calculate moving averages long_ma = ta.sma(close, long_length) short_ma = ta.sma(close, short_length) trend_ma = ta.sma(close, trend_length) // Plot moving averages on chart plot(long_ma, color=color.blue, title="Long MA") plot(short_ma, color=color.red, title="Short MA") plot(trend_ma, color=color.green, title="Trend MA") // Entry conditions enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma if (enterLong) strategy.entry("Long", strategy.long) if (enterShort) strategy.entry("Short", strategy.short) // Exit conditions exitLong = ta.crossunder(long_ma, short_ma) exitShort = ta.crossover(long_ma, short_ma) if (exitLong) strategy.close("Long") if (exitShort) strategy.close("Short") // Set stop loss and take profit levels long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100 long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100 short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100 short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100 strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage)) strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage)) plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny) plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)