Chiến lược này là một hệ thống theo xu hướng dựa trên bốn EMA (Exponential Moving Averages), sử dụng các giao thoa và sự sắp xếp của EMA 9, 21, 50 và 200 giai đoạn để xác định xu hướng thị trường, kết hợp với stop-loss dựa trên tỷ lệ phần trăm để kiểm soát rủi ro. Chiến lược xác định hướng xu hướng thị trường bằng cách kiểm tra thứ tự sắp xếp của bốn đường trung bình động, nhập vào các vị trí dài khi EMA ngắn hơn là trên EMA dài hơn, và ngược lại đối với các vị trí ngắn, trong khi thực hiện một tỷ lệ dừng lỗ cố định cho quản lý rủi ro.
Chiến lược này sử dụng bốn EMA với các khoảng thời gian khác nhau (9, 21, 50, 200) để đánh giá xu hướng thị trường. Một tín hiệu mua được tạo ra khi EMA 9 ngày vượt quá EMA 21 ngày, vượt quá EMA 50 ngày, vượt quá EMA 200 ngày, cho thấy xu hướng tăng mạnh. Ngược lại, sự sắp xếp ngược lại tạo ra tín hiệu bán. Một stop-loss 2% được thực hiện để kiểm soát lỗ tối đa cho mỗi giao dịch.
Đây là một hệ thống giao dịch theo xu hướng toàn diện cung cấp xác định xu hướng đáng tin cậy thông qua nhiều EMA trong khi thực hiện tỷ lệ dừng lỗ cố định để kiểm soát rủi ro. Mặc dù hệ thống có một số sự chậm trễ vốn có, nhưng nó có thể được tăng cường hơn nữa thông qua tối ưu hóa tham số thích hợp và tích hợp chỉ số bổ sung. Chiến lược đặc biệt phù hợp với các thị trường biến động cao và giao dịch theo xu hướng trung và dài hạn.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-23 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4 EMA Strategy with Stop Loss", overlay=true) // Define the EMA lengths ema1_length = input(9, title="EMA 1 Length") ema2_length = input(21, title="EMA 2 Length") ema3_length = input(50, title="EMA 3 Length") ema4_length = input(200, title="EMA 4 Length") // Calculate the EMAs ema1 = ta.ema(close, ema1_length) ema2 = ta.ema(close, ema2_length) ema3 = ta.ema(close, ema3_length) ema4 = ta.ema(close, ema4_length) // Plot EMAs on the chart plot(ema1, color=color.blue, title="EMA 9") plot(ema2, color=color.orange, title="EMA 21") plot(ema3, color=color.green, title="EMA 50") plot(ema4, color=color.red, title="EMA 200") // Define conditions for Buy and Sell signals buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4) sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4) // Input stop loss percentage stop_loss_perc = input(2.0, title="Stop Loss %") // Execute buy signal if (buy_condition) strategy.entry("Buy", strategy.long) // Set stop loss at a percentage below the entry price strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100)) // Execute sell signal if (sell_condition) strategy.entry("Sell", strategy.short) // Set stop loss at a percentage above the entry price strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))