Chiến lược này sử dụng chỉ số MACD để đánh giá xu hướng thị trường và xác định các điểm giao dịch tiềm năng, trong khi kết hợp chỉ số RSI để xác nhận các điều kiện mua quá mức / bán quá mức. Các tín hiệu giao dịch chỉ được tạo ra khi MACD đưa ra tín hiệu mua / bán và RSI đồng thời xác nhận rằng thị trường đã bán quá mức / mua quá mức. Điều này có thể lọc hiệu quả các tín hiệu sai và cải thiện sự ổn định của chiến lược.
Chỉ số MACD bao gồm sự khác biệt giữa EMA nhanh và EMA chậm, phản ánh sự khác biệt giữa xu hướng giá trung bình ngắn hạn và dài hạn.
Khi đường nhanh vượt qua trên đường chậm, đó là một tín hiệu chéo vàng cho thấy xu hướng tăng. Khi đường nhanh vượt qua dưới đường chậm, đó là một tín hiệu chéo chết cho thấy xu hướng giảm.
Chỉ số RSI phản ánh các điều kiện mua quá mức / bán quá mức trên thị trường.
Chỉ số RSI dưới 30 cho thấy tài sản đã được bán quá mức khi người mua vượt qua người bán trong một thời gian dài.
Chỉ số RSI trên 70 cho thấy tài sản đã quá tải vì áp lực bán đã vượt qua áp lực mua trong thời gian theo dõi.
Các chỉ số dưới 30 cho thấy các điều kiện bán quá mức trong khi các chỉ số trên 70 cho thấy các điều kiện mua quá mức.
Việc chỉ dựa vào MACD cho các tín hiệu giao dịch có thể dẫn đến một số tín hiệu sai. Chiến lược này sử dụng RSI để lọc tín hiệu, chỉ tạo ra các tín hiệu giao dịch thực tế khi MACD đưa ra tín hiệu và RSI đồng thời xác nhận mức mua quá mức / bán quá mức.
Cụ thể, khi MACD tạo ra đường chéo vàng, nếu RSI <=34 cùng một lúc, xác nhận thị trường quá bán, một tín hiệu mua được tạo ra. Khi MACD tạo ra đường chéo chết, nếu RSI>=75, xác nhận thị trường quá mua, một tín hiệu bán được tạo ra.
Cơ chế xác nhận kép này có thể lọc ra nhiều tín hiệu giao dịch không đáng tin cậy, do đó cải thiện sự ổn định và tin cậy của chiến lược.
Chiến lược này kết hợp các chỉ số MACD và RSI để xác nhận kép, có thể giảm hiệu quả sự nhiễu từ các tín hiệu sai và lọc ra một số tín hiệu giao dịch không đáng tin cậy, do đó cải thiện độ tin cậy và ổn định tín hiệu.
Là một chỉ số giá & khối lượng, MACD có thể xác định rõ xu hướng tăng và giảm thị trường. Kết hợp với đánh giá mua quá mức / bán quá mức của RSI, nó có thể nắm bắt chính xác các điểm đảo ngược quan trọng trên thị trường. Các tín hiệu vào và ra rõ ràng.
Các thông số của các thành phần MACD và RSI của chiến lược này có thể được tối ưu hóa và điều chỉnh để phù hợp với các chu kỳ và công cụ giao dịch khác nhau.
MACD, RSI và các chỉ số khác được sử dụng trong chiến lược này là các chỉ số kỹ thuật rất điển hình và thường được sử dụng dễ hiểu. Mã chiến lược cũng rất đơn giản và trực quan, mang lại sự tiện lợi cho điều chỉnh và tối ưu hóa tham số.
Chiến lược này áp dụng một cách tiếp cận xác nhận kép tương đối thận trọng, trong việc lọc ra các tín hiệu sai, có thể gây ra một số cơ hội giao dịch bị bỏ lỡ có thể dẫn đến lợi nhuận dựa trên một tín hiệu chỉ số duy nhất.
Trong trường hợp biến động thị trường cực kỳ, cả chỉ số MACD và RSI có thể chậm trong việc đưa ra phán đoán, dẫn đến các tín hiệu giao dịch không chính xác được tạo ra bởi chiến lược và tổn thất xảy ra.
Hiệu suất của chiến lược này phụ thuộc phần lớn vào chất lượng của MACD, RSI và các thiết lập tham số khác.
Các quy tắc dừng lỗ dựa trên giá hoặc chỉ số có thể được thực hiện để thoát khỏi các vị trí với ngưỡng lỗ được cho phép được xác định trước, có hiệu quả giới hạn lỗ trên các giao dịch riêng lẻ.
Tối ưu hóa liên tục các thông số chính như các giai đoạn đường MACD nhanh / chậm và ngưỡng mua quá mức / bán quá mức RSI để phù hợp với các cấu trúc chu kỳ phát triển và đặc điểm của các công cụ giao dịch khác nhau.
Thực hiện backtests trên các chỉ số cổ phiếu, tiền điện tử, cặp ngoại hối, hàng hóa và các tài sản khác để khám phá thị trường nào phù hợp nhất với các đặc điểm của chiến lược.
Các chỉ số như Stochastics, OBV, CCI v.v. có thể được thêm vào các thành phần MACD và RSI để xác nhận chính xác hơn thông qua phương pháp lọc tín hiệu đa chiều.
Chiến lược này xác định xu hướng thị trường và tín hiệu giao dịch dựa trên chỉ số MACD, trong khi RSI xác nhận các điều kiện mua quá mức / bán quá mức để lọc các tín hiệu sai.
Hiệu suất có thể được nâng cao hơn nữa thông qua các kỹ thuật tối ưu hóa, dừng lỗ, xác nhận đa đầu vv. Với logic đơn giản và ổn định tốt, nó phục vụ như một chiến lược khởi đầu tốt cho những người mới bắt đầu thực hành và tối ưu hóa.
/*backtest start: 2023-11-17 00:00:00 end: 2023-12-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(default_qty_type = strategy.percent_of_equity, default_qty_value = 25, pyramiding = 10, title="MACD crossover while RSI Oversold/Overbought", overlay=true, shorttitle="MACD Cross + RSI Oversold Overbought", initial_capital = 1000) //MACD Settings fastMA = input(title="Fast moving average", defval = 12, minval = 7) //7 16 slowMA = input(title="Slow moving average", defval = 26, minval = 7) //24 26 signalLength = input(9,minval=1) //9 6 //RSI settings RSIOverSold = input(34 ,minval=1) //26 RSIOverBought = input(75 ,minval=1) //77 src = close, len = input(14, minval=1, title="Length") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought [currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength) [prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength) signal = ema(currMacd, signalLength) crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na plotshape(crossoverBear and wasOverbought , title='MACD-BEAR', style=shape.triangledown, text='overbought', location=location.abovebar, color=orange, textcolor=orange, size=size.tiny) plotshape(crossoverBull and wasOversold, title='MACD-BULL', style=shape.triangleup, text='oversold', location=location.belowbar, color=lime, textcolor=lime, size=size.tiny) // Configure backtest start date with inputs startDate = input(title="Start Date", defval=8, minval=1, maxval=31) startMonth = input(title="Start Month", defval=3, minval=1, maxval=12) startYear = input(title="Start Year", defval=2021, minval=1800, maxval=2100) afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) if (afterStartDate==true) posSize = abs(strategy.position_size) strategy.order("long", strategy.long, when = crossoverBull and wasOversold) strategy.order("long", long=false, qty=posSize/3, when = crossoverBear and wasOverbought)