Chiến lược này kết hợp trung bình động, chỉ số kích thước và chỉ số SAR parabolic để đánh giá xu hướng và xác nhận các điểm đột phá. Nó thuộc về một chiến lược theo xu hướng điển hình. Nó sẽ thiết lập vị trí dài để theo dõi xu hướng khi xác định xu hướng tăng và đột phá giá. Nó sẽ đóng vị trí để dừng lỗ khi đánh giá sự đảo ngược xu hướng.
Chiến lược sử dụng EMA đôi để đánh giá xu hướng giá và sử dụng SMA như hỗ trợ. Khi EMA nhanh nằm trên EMA chậm và SMA nhanh nằm trên SMA chậm, nó coi có xu hướng tăng.
Nó sử dụng chỉ số SAR parabolic để đánh giá các điểm đảo ngược giá. Khi PSAR đi dưới mức giá cao nhất, điều đó có nghĩa là giá có thể đảo ngược xuống.
Khi đánh giá xu hướng tăng và PSAR vượt quá mức giá cao nhất, điều đó có nghĩa là giá tiếp tục tăng.
Giải pháp:
Chiến lược này thuộc về một chiến lược theo xu hướng điển hình. Những lợi thế là các quy tắc rõ ràng và đơn giản và khả năng xác định sự đảo ngược xu hướng để mở vị trí kịp thời. Những nhược điểm là sự nhạy cảm với các thông số và rủi ro theo đuổi nhất định. Nhìn chung, nó đáng được tối ưu hóa và điều chỉnh hơn nữa để xác minh giao dịch trực tiếp. Các hướng tối ưu hóa chính là tối ưu hóa thông số, thêm chiến lược dừng lỗ v.v.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Buy Dip MA & PSAR", overlay=true) PSAR_start = input(0.02) PSAR_increment = input(0.02) PSAR_maximum = input(0.2) EMA_fast = input(20) EMA_slow = input(40) SMA_fast = input(100) SMA_slow = input(200) emafast = ema(close, EMA_fast) emaslow = ema(close, EMA_slow) smafast = sma(close, SMA_fast) smaslow = sma(close, SMA_slow) psar = sar(PSAR_start, PSAR_increment, PSAR_maximum) uptrend = emafast > emaslow and smafast > smaslow breakdown = not uptrend if (psar >= high and uptrend) strategy.entry("Buy", strategy.long, stop=psar, comment="Buy") else strategy.cancel("Buy") if (psar <= low) strategy.exit("Close", "Buy", stop=psar, comment="Close") else strategy.cancel("Close") if (breakdown) strategy.close("Buy") plot(emafast, color=blue) plot(emaslow, color=red)