Chiến lược giao dịch RSI trong ngày của TAM


Ngày tạo: 2023-10-17 16:58:46 sửa đổi lần cuối: 2023-10-17 16:58:46
sao chép: 5 Số nhấp chuột: 790
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch RSI trong ngày của TAM

Tổng quan

Chiến lược giao dịch RSI trong ngày của TAM sử dụng các chỉ số RSI để thực hiện giao dịch vào và ra trong ngày. Chiến lược này hoạt động tốt trong môi trường không gian, có thể sử dụng hiệu quả các chỉ số RSI để nắm bắt các hiện tượng quá mua quá bán của thị trường và thực hiện các hoạt động đối kháng khi thị trường đảo ngược.

Nguyên tắc chiến lược

Chiến lược này sử dụng hai chỉ số RSI để thực hiện các tín hiệu mua và bán. Các tín hiệu mua được tạo ra khi RSI ngắn hạn 2 ngày và RSI trung hạn 14 ngày vượt quá 50 trên RSI ngắn hạn hoặc trung hạn. Các tín hiệu bán được tạo ra khi RSI ngắn hạn 7 ngày và RSI trung hạn 50 ngày vượt quá 50 dưới RSI ngắn hạn hoặc trung hạn.

Chiến lược này đồng thời yêu cầu giá trị RSI thực sự vượt qua 50, chứ không chỉ tạo ra một giao điểm, điều này có thể lọc ra nhiều tín hiệu giả. Cụ thể, mua cần phải đáp ứng các điều kiện sau cùng:

  • RSI 2 ngày trên 50
  • RSI 2 ngày thực sự lớn hơn 50
  • RSI ngày 14 trên 50
  • RSI ngày 14 thực sự lớn hơn 50

Điều kiện bán cũng tương tự:

  • RSI dưới 50
  • RSI 7 ngày thực tế nhỏ hơn 50
  • RSI 50 ngày dưới 50
  • RSI 50 ngày thực tế nhỏ hơn 50

Việc lọc nhiều lần như vậy sẽ đảm bảo chỉ phát ra tín hiệu khi RSI cho thấy dấu hiệu quá mua và quá bán, và không bị sai lệch bởi các biến động nhỏ.

Phân tích lợi thế chiến lược

Chiến lược RSI trong ngày của TAM có những lợi thế sau:

  1. Sử dụng RSI kép để thực hiện phân tích nhiều khung thời gian, nó có thể lọc hiệu quả tiếng ồn thị trường, chỉ tham gia vào các điểm chuyển đổi xu hướng đáng kể.

  2. Chỉ phát tín hiệu khi RSI thực sự vượt qua ngưỡng quan trọng, để tránh bị lừa dối bởi các đột phá giả.

  3. Sử dụng các tham số RSI khác nhau để đánh giá vào và ra sân, bạn có thể nắm bắt chính xác hơn các điểm đảo ngược.

  4. Trong thời gian giao dịch trong ngày, chỉ số RSI hoạt động ổn định và đáng tin cậy, phù hợp với chiến lược giao dịch trong ngày.

  5. Các tham số có thể được cấu hình linh hoạt, có thể điều chỉnh các tham số RSI cho các thị trường khác nhau để có được hiệu suất tốt hơn.

  6. Logic rõ ràng, đơn giản, dễ hiểu, phù hợp với giao dịch định lượng.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Giao dịch trong ngày có nguy cơ có khoảng cách qua đêm, khoảng cách sẽ vượt qua các thiết lập dừng lỗ của chiến lược.

  2. RSI dễ bị lệch và phải được kết hợp với các chỉ số khác để xác minh.

  3. Thị trường có nhiều biến động trong ngày, thiết lập dừng lỗ cần được thoải mái nhưng không quá thoải mái.

  4. Các tham số tối ưu hóa có nguy cơ được tối ưu hóa quá mức và phải được xác minh trong các thị trường khác nhau.

  5. Đánh giá định lượng không thể phản ánh hoàn toàn hiệu quả giao dịch trên thực tế, cần điều chỉnh chiến lược phù hợp khi giao dịch trên thực tế.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa bằng cách:

  1. Kết hợp với các chỉ số khác để xác nhận tín hiệu RSI, chẳng hạn như KDJ, MACD, v.v.

  2. Tăng bộ lọc khối lượng giao dịch, chỉ xem xét tín hiệu khi khối lượng giao dịch lớn hơn.

  3. Tối ưu hóa các tham số chiến lược, kiểm tra các tham số cho các chu kỳ ngắn hơn trong ngày.

  4. Thêm mô hình học máy hỗ trợ quyết định, sử dụng thuật toán để tự động tìm ra các tham số tốt hơn.

  5. Kỹ thuật hóa chiến lược, kết hợp các phương pháp phân tích kỹ thuật như ngưỡng kháng cự hỗ trợ quan trọng, hình dạng đồ họa.

  6. Tối ưu hóa chiến lược dừng lỗ, sử dụng các phương pháp như ATR, Amplitude để thiết lập dừng động.

Tóm tắt

Chiến lược RSI trong ngày TAM nói chung là một chiến lược định lượng rất thực tế. Nó sử dụng các chỉ số RSI để đánh giá các khung thời gian đa dạng để đánh giá hiệu quả các trường hợp quá mua quá bán, kết hợp với các quy tắc nhập cảnh và xuất cảnh nghiêm ngặt có thể lọc các tín hiệu giả.

Mã nguồn chiến lược
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DvKel

//@version=5
strategy("TAM - RSI Strategy", overlay = true)

// Input parameters
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",  group="Backtest Time Period")
startDate = input(timestamp("2020-01-01"), title = "Start date", group = "Backtest Time Period")
buyRsiLength1 = input(2, title = "RSI Buy Length 1 (default 2)", group="Buy configuration")
buyRsiLength2 = input(14, title = "RSI Buy Length 2 (default 14)", group="Buy configuration")
buyRsiValue = input(50, title = "RSI Buy Value Signal (default 50)", group="Buy configuration")
closeRsiLength1 = input(7, title = "RSI Close Length 1 (default 7)", group="Close configuration")
closeRsiLength2 = input(50, title = "RSI Close Length 2 (default 50)", group="Close configuration")
closeRsiValue = input(50, title = "RSI Close Value Signal (default 50)", group="Close configuration")

// Check timeframe
inTradeWindow = true

// Calculate RSI
rsiBuy1Value =  ta.rsi(close, buyRsiLength1)
rsiBuy2Value = ta.rsi(close, buyRsiLength2)
rsiClose1Value =  ta.rsi(close, closeRsiLength1)
rsiClose2Value = ta.rsi(close, closeRsiLength2)

// Strategy conditions
//(ta.crossover(rsiBuy1Value, buyRsiValue) or ta.crossover(rsiBuy2Value, buyRsiValue)) and 
//8ta.crossunder(rsiClose1Value, closeRsiValue) or ta.crossunder(rsiClose2Value, closeRsiValue)) and
buyCondition = (ta.crossover(rsiBuy1Value, buyRsiValue) or ta.crossover(rsiBuy2Value, buyRsiValue)) and rsiBuy1Value > buyRsiValue and rsiBuy2Value > buyRsiValue
closeCondition = (ta.crossunder(rsiClose1Value, closeRsiValue) or ta.crossunder(rsiClose2Value, closeRsiValue)) and rsiClose1Value < closeRsiValue and rsiClose2Value < closeRsiValue


// Strategy actions
if (inTradeWindow  and buyCondition) 
    strategy.entry("Buy", strategy.long)


if (inTradeWindow and closeCondition) 
    strategy.close("Buy")

// Plot RSI and overbought/oversold levels
plotchar(rsiBuy1Value, title = "RSI-Buy1", color = color.green)
plotchar(rsiBuy2Value, title = "RSI-Buy2", color = color.lime)
plotchar(rsiClose1Value, title = "RSI-Close1", color = color.red)
plotchar(rsiClose2Value, title = "RSI-Close2", color = color.fuchsia)