
Chiến lược này chủ yếu sử dụng chỉ số tương đối mạnh (RSI) và đường trung bình di chuyển đơn giản (SMA) để xác định tình trạng mua quá mức tiềm năng và cơ hội đảo ngược, và tối ưu hóa tỷ lệ lợi nhuận rủi ro bằng cách xây dựng các vị trí theo đợt. Ý tưởng cốt lõi của chiến lược là giá tài sản trong xu hướng giảm dài hạn và khi có quá mức mua trong thời gian ngắn, và khi thị trường có quá mức bán hoặc tín hiệu chuyển hướng.
Chiến lược này bao gồm một số bước quan trọng:
Chiến lược đảo ngược mua quá mức RSI là một chiến lược giao dịch đường ngắn kết hợp phân tích kỹ thuật và quản lý rủi ro. Chiến lược này nhằm mục đích nắm bắt các cơ hội đảo ngược tiềm năng của thị trường bằng cách sử dụng tín hiệu mua quá mức RSI và phán đoán xu hướng SMA.
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TPS Short Strategy by Larry Conners", overlay=true)
// Define parameters as inputs
sma_length_200 = input.int(200, title="200-Day SMA Length")
rsi_length_2 = input.int(2, title="2-Period RSI Length")
sma_length_10 = input.int(10, title="10-Day SMA Length")
sma_length_30 = input.int(30, title="30-Day SMA Length")
// Define colors as RGB values
color_sma_200 = input.color(color.rgb(0, 0, 255), title="200-Day SMA Color") // Blue
color_sma_10 = input.color(color.rgb(255, 0, 0), title="10-Day SMA Color") // Red
color_sma_30 = input.color(color.rgb(0, 255, 0), title="30-Day SMA Color") // Green
// Calculate indicators
sma_200 = ta.sma(close, sma_length_200)
rsi_2 = ta.rsi(close, rsi_length_2)
sma_10 = ta.sma(close, sma_length_10)
sma_30 = ta.sma(close, sma_length_30)
// Define conditions
below_sma_200 = close < sma_200
rsi_2_above_75_two_days = rsi_2[1] > 75 and rsi_2 > 75
price_higher_than_entry = na(strategy.opentrades.entry_price(0)) ? false : close > strategy.opentrades.entry_price(0)
// Entry conditions
if (below_sma_200 and rsi_2_above_75_two_days and na(strategy.opentrades.entry_price(0)))
strategy.entry("Short", strategy.short, qty=1) // Short 10% of the position
// Scaling in conditions
if (price_higher_than_entry)
strategy.entry("Short2", strategy.short, qty=2) // Short 20% more of the position
if (price_higher_than_entry)
strategy.entry("Short3", strategy.short, qty=3) // Short 30% more of the position
if (price_higher_than_entry)
strategy.entry("Short4", strategy.short, qty=4) // Short 40% more of the position
// Exit conditions
exit_condition_rsi_below_30 = rsi_2 < 30
exit_condition_sma_cross = ta.crossover(sma_10, sma_30)
if (exit_condition_rsi_below_30 or exit_condition_sma_cross)
strategy.close_all() // Close all positions
// Plot indicators
plot(sma_200, color=color_sma_200, title="200-Day SMA")
plot(sma_10, color=color_sma_10, title="10-Day SMA")
plot(sma_30, color=color_sma_30, title="30-Day SMA")