Mục đích của chiến lược này là xác định các điểm đảo ngược xu hướng tiềm năng bằng cách quan sát sự chéo chéo giữa Trung bình Di chuyển Triệt để (EMA) 20 giai đoạn và Trung bình Di chuyển đơn giản (SMA) 20 giai đoạn. Nó quyết định mua dài hoặc mua ngắn dựa trên hướng chéo chéo.
Chiến lược sử dụng các chức năng chéo và chéo từ thư viện ta để phát hiện các chéo trung bình động.
Chiến lược kết hợp khả năng theo xu hướng của các đường trung bình động và việc tạo tín hiệu của các sự kiện chéo nhau, có những lợi thế sau:
Chiến lược này cũng có những rủi ro sau:
Giải pháp:
Chiến lược cũng có thể được cải thiện trong các khía cạnh sau:
Chiến lược này tương đối đơn giản và thực tế nói chung, xác định các điểm đảo ngược xu hướng tiềm năng thông qua lý thuyết chéo trung bình động. Nhưng cũng có chỗ để cải thiện thông qua các chỉ số bổ sung, các tham số động, dừng lỗ, giao dịch thuật toán vv để làm cho chiến lược mạnh mẽ hơn, đáng tin cậy và tự động hóa.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA-SMA Crossover Strategy", overlay=true) // Define the length of the moving averages emaLength = 20 smaLength = 20 // Calculate moving averages emaValue = ta.ema(close, emaLength) smaValue = ta.sma(close, smaLength) // Buy condition buyCondition = ta.crossover(emaValue, smaValue) and close > emaValue // Short sell condition sellCondition = ta.crossunder(emaValue, smaValue) and close < emaValue // Exit conditions for both Buy and Short sell exitBuyCondition = ta.crossunder(emaValue, smaValue) exitSellCondition = ta.crossover(emaValue, smaValue) // Strategy logic if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) if (exitBuyCondition) strategy.close("Buy") if (exitSellCondition) strategy.close("Sell") // Plot the moving averages plot(emaValue, color=color.blue, title="20 EMA") plot(smaValue, color=color.red, title="20 SMA")