
Bài viết này mô tả chi tiết một chiến lược giao dịch thấp, cao và lệch khỏi xu hướng dựa trên một chỉ số tương đối mạnh (RSI). Chiến lược này cung cấp tín hiệu nhập và thoát chính xác cho các nhà giao dịch bằng cách xác định sự lệch giữa giá và chỉ số RSI, nắm bắt các cơ hội đảo ngược xu hướng tiềm ẩn. Chiến lược này kết hợp một cách độc đáo các tín hiệu trực quan và phân tích chỉ số kỹ thuật để cải thiện độ chính xác và kịp thời của các quyết định giao dịch.
Các nguyên tắc cốt lõi của chiến lược dựa trên lý thuyết của các chỉ số tương đối mạnh và yếu (RSI). Thực hiện cụ thể bao gồm các bước quan trọng sau:
RSI động, thấp và cao khác với chiến lược xu hướng thông qua phân tích chỉ số kỹ thuật chính xác và tín hiệu trực quan, cung cấp cho các nhà giao dịch một phương pháp giao dịch xu hướng tương đối hiệu quả. Với sự tối ưu hóa liên tục và quản lý rủi ro, chiến lược này có thể duy trì hiệu suất ổn định trong các môi trường thị trường khác nhau.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("RSI Divergence Strategy - Visible Signals", overlay=true)
// 1. Basic Inputs (Keep it simple)
rsiLength = input.int(14, "RSI Length")
lookback = input.int(10, "Lookback Period", minval=5)
oversold = input.int(30, "Oversold Level")
overbought = input.int(70, "Overbought Level")
// 2. Calculate Indicators
rsi = ta.rsi(close, rsiLength)
priceLow = ta.lowest(low, lookback)
priceHigh = ta.highest(high, lookback)
rsiLow = ta.lowest(rsi, lookback)
rsiHigh = ta.highest(rsi, lookback)
// 3. Simple Divergence Detection
bullishDiv = low == priceLow and rsi > rsiLow and rsi < oversold
bearishDiv = high == priceHigh and rsi < rsiHigh and rsi > overbought
// 4. Visual Signals (Large and Clear)
plotshape(bullishDiv, "Buy", shape.triangleup, location.belowbar,
color=color.new(color.green, 0), size=size.large)
plotshape(bearishDiv, "Sell", shape.triangledown, location.abovebar,
color=color.new(color.red, 0), size=size.large)
// 5. Optional: Add Background for Better Visibility
bgcolor(bullishDiv ? color.new(color.green, 90) : bearishDiv ? color.new(color.red, 90) : na)
// 6. Basic Strategy Execution
if bullishDiv
strategy.entry("Long", strategy.long)
if bearishDiv
strategy.entry("Short", strategy.short)
// 7. Debugging Table (To verify values)
var table debugTable = table.new(position.top_right, 4, 1)
if barstate.islast
table.cell(debugTable, 0, 0, "RSI: " + str.tostring(rsi))
table.cell(debugTable, 1, 0, "Price Low: " + str.tostring(priceLow))
table.cell(debugTable, 2, 0, "RSI Low: " + str.tostring(rsiLow))
table.cell(debugTable, 3, 0, "Signal: " + (bullishDiv ? "BUY" : bearishDiv ? "SELL" : "NONE"))
// Test Settings (paste these above the strategy call)
//rsiLength := 5
//lookback := 5
//oversold := 20
//overbought := 80