Chiến lược này kết hợp Stochastic RSI và EMA để phát hiện xu hướng và xác minh tín hiệu giao dịch. Khi giá quay trở lại trên EMA20 đến giữa EMA9 và EMA14, và Stochastic RSI nằm dưới mức bán quá mức, một tín hiệu dài được tạo ra; khi giá quay trở lại dưới EMA20 đến giữa EMA9 và EMA14, và Stochastic RSI nằm trên mức mua quá mức, một tín hiệu ngắn được tạo ra.
Ý tưởng cốt lõi của chiến lược này là sử dụng chỉ số RSI chứng khoán để xác định xem sự khôi phục giá trong xu hướng chính (được đại diện bởi EMA20) đã đạt đến một khu vực mua quá mức hoặc bán quá mức thích hợp, trong khi sử dụng EMA nhanh và EMA trung bình để xác minh sức mạnh của sự khôi phục. Nếu giá phá vỡ EMA nhanh và EMA trung bình, sự khôi phục có thể kết thúc và xu hướng có thể đảo ngược, không phù hợp để nhập vào một vị trí. Chỉ khi giá khôi phục giữa EMA9 và EMA14 nó được coi là nhập vào một vị trí theo hướng xu hướng. Phương pháp xác minh đa điều kiện này có thể cải thiện hiệu quả chất lượng tín hiệu và giảm đánh giá sai.
Chiến lược này sử dụng chỉ số RSI Stochastic kết hợp với xác minh đa điều kiện EMA để kiểm soát rủi ro một cách hiệu quả trong khi nắm bắt sự đảo ngược xu hướng. Ý tưởng tổng thể rất đơn giản và dễ hiểu, phù hợp cho người mới bắt đầu học và sử dụng. Tuy nhiên, chính chiến lược cũng có một số hạn chế, chẳng hạn như hiệu suất kém trong thị trường bên cạnh, không đủ hiểu biết về chuyển động xu hướng, v.v., cần phải được điều chỉnh linh hoạt theo tình hình thực tế. Trong tương lai, cũng có thể xem xét tối ưu hóa và cải thiện chiến lược từ các khía cạnh như các thông số năng động, xác minh chỉ số nhiều hơn và quản lý tiền để có được lợi nhuận mạnh mẽ hơn. Nói chung, chiến lược này có thể phục vụ như một mẫu cơ bản có thể được sửa đổi và mở rộng, và là một điểm khởi đầu và học tập tốt.
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10) // Inputs lengthRsi = input(14, title="RSI Length") k = input(3, title="Stoch %K") d = input(3, title="Stoch %D") lengthStoch = input(14, title="Stochastic RSI Length") overSold = input(25, title="Oversold Level") overBought = input(85, title="Overbought Level") emaFastLength = input(9, title="Fast EMA Length") emaMediumLength = input(14, title="Medium EMA Length") emaSlowLength = input(20, title="Slow EMA Length") // Calculating EMAs emaFast = ta.ema(close, emaFastLength) emaMedium = ta.ema(close, emaMediumLength) emaSlow = ta.ema(close, emaSlowLength) // Calculating the RSI and Stoch RSI rsi = ta.rsi(close, lengthRsi) stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k) stochRsiD = ta.sma(stochRsiK, d) // Entry Conditions bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought // Strategy Execution if (bullishCondition) strategy.entry("Long", strategy.long) if (bearishCondition) strategy.entry("Short", strategy.short) // Plotting plot(emaFast, color=color.blue, title="Fast EMA") plot(emaMedium, color=color.orange, title="Medium EMA") plot(emaSlow, color=color.red, title="Slow EMA") hline(overSold, "Oversold", color=color.green) hline(overBought, "Overbought", color=color.red)