
Chiến lược này được gọi là Trend Following with EMA, một chiến lược giao dịch định lượng dựa trên xu hướng và đường trung bình. Nó kết hợp hai chỉ số kỹ thuật theo dõi xu hướng và chỉ số di chuyển trung bình (EMA) để xác định xu hướng giá của cổ phiếu hoặc các sản phẩm tài chính khác và mua và bán dựa trên đó.
Lập luận chính của chiến lược này là:
Sử dụng các điểm thấp với độ dài 180 chu kỳ và giá đóng cửa để xác định xu hướng tăng giá. Khi giá đóng cửa trên điểm thấp, cho thấy giá bắt đầu tăng và tạo xu hướng, tại thời điểm này làm nhiều hơn;
Khi giá chuyển từ xu hướng giảm sang xu hướng tăng, tức là khi giá đóng cửa vượt qua giá mở cửa, và dưới đường EMA, cũng làm nhiều hơn;
Khi giá chuyển từ xu hướng tăng sang xu hướng giảm, tức là khi giá đóng cửa vượt qua giá mở cửa;
Sử dụng các điểm cao với độ dài 180 chu kỳ và giao điểm của EMA để xác định xu hướng giảm giá. Khi điểm cao vượt qua đường EMA và điểm cao dưới đường EMA, hãy tháo lỗ.
Khi giá chuyển từ xu hướng tăng sang xu hướng giảm, tức là phá giá mở cửa dưới giá đóng cửa và phá giá trên đường EMA;
Khi giá chuyển từ xu hướng giảm sang xu hướng tăng, tức là khi giá đóng cửa vượt qua giá mở cửa, xóa vị trí đầu trống.
Chiến lược này kết hợp theo dõi xu hướng và chỉ số đường trung bình, có thể nắm bắt hiệu quả các điểm biến đổi trong xu hướng giá, có những ưu điểm sau:
Chiến lược này cũng có một số rủi ro:
Các giải pháp đối phó với rủi ro là:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này nói chung là một chiến lược theo dõi xu hướng điển hình, sử dụng các chỉ số đặc trưng của chính giá để xác định hướng và theo dõi xu hướng. Nó đơn giản, hiệu quả, dễ thực hiện và phù hợp với chiến lược nhập cảnh giao dịch định lượng. Nhưng cũng có một số vấn đề, chẳng hạn như chỉ số tụt hậu, nhạy cảm tham số, v.v. Những vấn đề này có thể được cải thiện bằng cách giới thiệu nhiều nguồn dữ liệu hơn, sử dụng máy học v.v..
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Trend + EMA", overlay=true, initial_capital=10000, currency=currency.USD, pyramiding=0)
tim=input("180", title="Period for trend")
ema_period=input(180, title="EMA period")
opn = request.security(syminfo.tickerid, tim, open)
cls = request.security(syminfo.tickerid, tim, close)
emaline = ema(close, ema_period)
plot(opn, color=red)
plot(cls, color=green)
plot(emaline, color=black)
if (crossover(low, emaline))
strategy.entry("long", strategy.long)
if (crossover(cls, opn) and emaline < opn and strategy.position_size == 0)
strategy.entry("long", strategy.long)
if (crossunder(cls, opn) and strategy.position_size > 0)
strategy.close_all()
if (crossunder(high, emaline) and high < emaline)
strategy.entry("short", strategy.short)
if (crossunder(cls, opn) and emaline > opn and strategy.position_size == 0)
strategy.entry("short", strategy.short)
if (crossover(cls, opn) and strategy.position_size < 0)
strategy.close_all()