Đây là một chiến lược giao dịch trong ngày sử dụng dao động AO và chéo EMA để tạo ra tín hiệu giao dịch. Ý tưởng chính là tham gia giao dịch khi AO vượt qua đường không đồng thời với EMA nhanh vượt qua đường EMA trung hạn.
Chiến lược chủ yếu dựa trên hai chỉ số cho các bước vào và bước ra:
AO Oscillator: Nó đo sự khác biệt giữa trung bình HL2 5 giai đoạn và 34 giai đoạn để đánh giá hướng xu hướng hiện tại.
EMA Crossover: Chiến lược sử dụng EMA 3 giai đoạn cho xu hướng ngắn hạn và EMA 20 giai đoạn cho hướng xu hướng trung hạn.
Các giao dịch chỉ được thực hiện khi AO vượt qua đường không đồng thời với đường chéo EMA. Điều này tránh các tín hiệu sai khi AO dao động. Việc ra khỏi xảy ra sau khi phiên London đóng bằng cách làm phẳng tất cả các vị trí.
Những lợi thế chính của chiến lược này là:
Một số rủi ro cần lưu ý bao gồm:
Rủi ro có thể được giảm thiểu thông qua dừng lỗ, các tham số thích nghi được điều chỉnh theo chu kỳ khác nhau v.v.
Các hướng tối ưu hóa chính là xung quanh điều chỉnh tham số:
Điều chỉnh các tham số và các bộ lọc bổ sung có thể tăng cường tính vững chắc và hiệu quả của chiến lược.
Tóm lại, chiến thuật giao dịch trong ngày này kết hợp chỉ số xu hướng AO với các đường chéo EMA để tạo ra một cách tiếp cận đơn giản nhưng thực tế. Nó có các tín hiệu rõ ràng dễ thực hiện nhưng thiếu các tham số thích nghi. Kiểm tra và tinh chỉnh thêm có thể cải thiện sự ổn định và phù hợp với các bối cảnh thị trường khác nhau. Nhìn chung, nó cung cấp cho các nhà giao dịch bán lẻ trong ngày một sự lựa chọn tuyệt vời.
/*backtest start: 2022-12-18 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@author SoftKill21 strategy(title="MA cross + AO", shorttitle="MA_AO") ao = sma(hl2,5) - sma(hl2,34) len = input(3, minval=1, title="Length") src = input(close, title="Source") out = ema(src, len) len1 = input(20, minval=1, title="Length") src1 = input(close, title="Source") out1 = sma(src1, len1) timeinrange(res, sess) => time(res, sess) != 0 londopen = timeinrange(timeframe.period, "0300-1100") nyopen = timeinrange(timeframe.period, "0800-1600") longC = crossover(out,out1) and ao>0 and londopen shortC = crossunder(out,out1) and ao<0 and londopen invert = input(title="Reverse position ?", type=input.bool, defval=false) if(invert==false) strategy.entry("LONG",1,when=longC) strategy.entry("SHORT",0,when=shortC) if(invert==true) strategy.entry("short",0,when=longC) strategy.entry("long",1,when=shortC) strategy.close_all(when= not (londopen))