Hệ thống giao dịch định lượng TSLA trên nhiều khung thời gian

Tác giả:ChaoZhang, Ngày: 2023-12-22 12:50:55
Tags:

img

Chiến lược này sử dụng hai loại chỉ số kỹ thuật khác nhau, RSI và Estocastic, trên biểu đồ 5 phút của TSLA và biểu đồ 1 phút của chỉ số S & P 100 để thiết kế các quy tắc giao dịch và xây dựng một hệ thống giao dịch tự động cho cổ phiếu TSLA.

Tổng quan chiến lược

Ý tưởng cốt lõi của chiến lược này là theo dõi cả các chỉ số kỹ thuật giá của chính TSLA và các chỉ số kỹ thuật của chỉ số thị trường chứng khoán Hoa Kỳ. Nó gửi tín hiệu giao dịch khi cả hai bên đạt đến tình trạng mua quá nhiều hoặc bán quá nhiều cùng một lúc. Chiến lược áp dụng các chỉ số kỹ thuật trên hai khung thời gian, 5 phút và 1 phút, có thể giúp lọc một số tín hiệu giao dịch ồn ào một cách hiệu quả.

Chiến lược logic

Đầu tiên, chiến lược tính toán chỉ số RSI 5 ngày trên biểu đồ 5 phút của TSLA và chỉ số RSI 14 ngày trên biểu đồ 1 phút của chỉ số S&P 100. Khi chỉ số RSI 5 ngày của TSLA dưới 30 và chỉ số RSI 14 ngày của chỉ số S&P 100 dưới 30 cùng một lúc, giá TSLA được coi là đạt mức bán quá mức và tín hiệu mua được kích hoạt.

Sau khi mua, chiến lược tiếp tục theo dõi chỉ số Estocastic 14 ngày trên biểu đồ 1 phút của TSLA. Khi chỉ số Estocastic vượt quá 78, nó được xem là giá TSLA bật trở lại dải trên và tín hiệu bán được kích hoạt.

Ngoài ra, một mức dừng lỗ 3% được thiết lập trong chiến lược. Khi giá giảm xuống dưới mức dừng lỗ, vị trí sẽ được đóng với mức dừng lỗ.

Ưu điểm của Chiến lược

  1. Việc áp dụng nhiều khung thời gian có thể giúp lọc các tín hiệu ồn ào hiệu quả
  2. Các chỉ số RSI và Estocastic xác minh lẫn nhau và cải thiện chất lượng tín hiệu
  3. Cơ chế dừng lỗ giới hạn lỗ cho mỗi giao dịch
  4. Dữ liệu backtesting bao gồm các thanh phút của TSLA và chỉ số S&P 100 đại diện
  5. Chiến lược logic là đơn giản và dễ hiểu cũng như tối ưu hóa

Rủi ro của chiến lược

  1. Kết hợp nhiều khung thời gian và chỉ số có thể bỏ lỡ một số cơ hội
  2. Cài đặt stop loss quá mạnh có thể dẫn đến mất trượt không cần thiết
  3. Chỉ số S&P 100 như một công cụ phụ trợ cũng giới thiệu một số rủi ro hệ thống
  4. Chất lượng dữ liệu backtesting và môi trường thị trường thay đổi có thể ảnh hưởng đến kết quả

Hướng dẫn tối ưu hóa chiến lược

  1. Kiểm tra nhiều kết hợp tham số để tìm cấu hình chỉ số tối ưu
  2. Thêm các thuật toán dừng lỗ thích nghi
  3. Thêm mô-đun kích thước vị trí để khóa thêm lợi nhuận
  4. Thêm thuật toán học máy để đào tạo trọng lượng chỉ số
  5. Tìm kiếm các lượt giao dịch trong khung thời gian dài hơn

Kết luận

Để kết luận, đây là một chiến lược đảo ngược trung bình điển hình dựa trên các tín hiệu mua quá mức và bán quá mức, với các tính năng bổ sung như xác thực nhiều khung thời gian và dừng lỗ để làm cho nó mạnh mẽ hơn. Ưu điểm nằm ở sự đơn giản của nó để hiểu và thực hiện. Bước tiếp theo là có được nhiều alpha hơn trong khi kiểm soát rủi ro, đòi hỏi công việc tối ưu hóa tùy chỉnh xung quanh các chỉ số và mô hình. Nhìn chung, chiến lược này thiết lập một nền tảng vững chắc để xây dựng các hệ thống giao dịch định lượng.


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading TSLA", overlay=true)

// Condiciones de entrada
rsi5 = ta.rsi(close, 5) // RSI en el gráfico de TSLA de 5 minutos
rsiUS100 = ta.rsi(request.security(syminfo.tickerid, "1", close), 14) // RSI en el gráfico de US100 de 1 minuto

// Condiciones de entrada
condicion_entrada = rsi5 < 30 and rsiUS100 < 30

// Cantidad de acciones a comprar
cantidad_compra = 2

// Condiciones de salida
estocastico = ta.stoch(close, high, low, 14) // Estocástico en el gráfico de TSLA de 1 minuto
condicion_salida = estocastico > 78

// Stop loss
stop_loss = strategy.position_avg_price * 0.03

// Ejecutar la estrategia
if condicion_entrada
    strategy.entry("Compra", strategy.long, qty = cantidad_compra)

if condicion_salida or ta.highest(high, 10) <= stop_loss
    strategy.close("Compra")

// Mostrar indicadores en el gráfico
plot(rsi5, "RSI 5 (TSLA)", color=color.blue)
plot(rsiUS100, "RSI US100", color=color.red)
plot(estocastico, "Estocástico (TSLA)", color=color.green)



Thêm nữa