Chiến lược này sử dụng ba đường EMA với các khoảng thời gian khác nhau (144 ngày, 34 ngày và 76 ngày) để nắm bắt xu hướng thị trường trung hạn đến dài hạn. Nó cũng kết hợp các đường EMA giá cao nhất và giá thấp nhất 30 ngày như các tín hiệu dài và ngắn hạn. Khi giá đóng phá vỡ trên tín hiệu dài ngắn hạn, nó mở một vị trí dài; khi giá đóng phá vỡ dưới tín hiệu ngắn hạn, nó đóng vị trí. Cách tiếp cận này cho phép quản lý vị trí linh hoạt trong khi nắm bắt xu hướng thị trường chính.
Chiến lược EMA Crossover với tín hiệu ngắn hạn nắm bắt xu hướng thị trường thông qua các đường EMA đa thời kỳ và đạt được quản lý vị trí linh hoạt bằng cách sử dụng tín hiệu giá ngắn hạn. Đây là một phương pháp kết hợp theo dõi xu hướng với giao dịch xoay. Tuy nhiên, chiến lược này cũng có các vấn đề như chậm trễ, giao dịch thường xuyên và thiếu kiểm soát rủi ro, đòi hỏi phải tối ưu hóa hơn nữa để cải thiện độ bền và lợi nhuận của nó. Bằng cách giới thiệu nhiều chiều kích hơn của phán đoán xu hướng, điều chỉnh động các tham số tín hiệu, kết hợp các cơ chế dừng lỗ và lấy lợi nhuận hợp lý và các phương pháp khác, chiến lược này có thể trở nên hoàn chỉnh và đáng tin cậy hơn.
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with Short-term Signals", overlay=true) // 定义EMA shortest = ta.ema(close, 144) short = ta.ema(close, 34) longer = ta.ema(close, 76) // 绘制EMA plot(shortest, color=color.new(color.yellow, 0)) plot(short, color=color.new(color.orange, 0)) plot(longer, color=color.new(color.red, 0)) // 定义短线多空信号的EMA stLong = ta.ema(high, 30) stShort = ta.ema(low, 30) stLongPlot = plot(stLong, '短线多', color.new(color.aqua, 0)) stShortPlot = plot(stShort, '短线空', color.new(color.green, 0)) // 绘制短线多空信号 clr = close > stLong ? color.green : color.aqua fill(stLongPlot, stShortPlot, color=clr, transp=90) // 交易信号 if (close > stLong) strategy.entry("Buy", strategy.long) if (close < stShort) strategy.close("Buy") // 显示买卖信号 plotshape(series=close > stLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=close < stShort, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")