Tên của chiến lược này là
Lý thuyết chính của chiến lược này là:
Sử dụng đường chéo giữa mức giá thấp và mức giá đóng cửa 180 giai đoạn để xác định xu hướng tăng. Khi mức giá thấp vượt qua mức giá đóng cửa, nó cho thấy giá bắt đầu tăng và xu hướng được hình thành, một vị trí dài sẽ được mở tại thời điểm này;
Khi giá thay đổi từ xu hướng giảm sang xu hướng tăng, tức là giá đóng vượt trên giá mở và đường EMA dưới, một vị trí dài cũng sẽ được mở;
Khi giá thay đổi từ xu hướng tăng lên sang xu hướng giảm, tức là giá đóng vượt dưới giá mở, vị trí dài hiện tại sẽ được đóng;
Sử dụng đường chéo giữa mức cao nhất 180 giai đoạn và EMA để xác định xu hướng giảm. Khi mức cao nhất vượt qua dưới EMA và mức cao nhất thấp hơn EMA, một vị trí ngắn sẽ được mở;
Khi giá thay đổi từ xu hướng tăng lên sang xu hướng giảm, tức là giá đóng vượt dưới giá mở và đường EMA trên, một vị trí ngắn cũng sẽ được mở;
Khi giá thay đổi từ xu hướng giảm lên xu hướng tăng, tức là giá đóng vượt quá giá mở, vị trí mua hiện tại sẽ được đóng.
Chiến lược này kết hợp các chỉ số theo xu hướng và trung bình động, có thể nắm bắt hiệu quả các điểm chuyển đổi của xu hướng giá.
Chiến lược này cũng có một số rủi ro:
Các giải pháp cho các rủi ro là:
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Nói chung, đây là một chiến lược theo xu hướng điển hình sử dụng các đặc điểm 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 một chiến lược giao dịch định lượng mới bắt đầu. Tuy nhiên, có một số vấn đề như độ trễ chỉ số và độ nhạy của tham số. 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 và sử dụng máy học. Vì vậy, có tiềm năng lớn để mở rộng và tối ưu hóa chiến lược này. Đây là một chiến lược giao dịch định lượng tần số cao được khuyến cáo.
/*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()