Hệ thống giao dịch xu hướng lai đột phá giá lịch sử (HBTS)

MA SMA EMA WMA VWMA
Ngày tạo: 2024-12-05 14:40:05 sửa đổi lần cuối: 2024-12-05 14:40:05
sao chép: 0 Số nhấp chuột: 431
1
tập trung vào
1617
Người theo dõi

Hệ thống giao dịch xu hướng lai đột phá giá lịch sử (HBTS)

Tổng quan

Chiến lược này là một hệ thống theo dõi xu hướng dựa trên các đợt phá vỡ giá lịch sử và bộ lọc đường trung bình. Nó kết hợp các tín hiệu phá vỡ giá nhiều chu kỳ và các đường trung bình di chuyển để xác định xu hướng thị trường và nắm bắt các động thái thị trường trong trung và dài hạn thông qua các quy tắc nhập cảnh nghiêm ngặt. Chiến lược này sử dụng đợt phá vỡ giá 55 ngày làm tín hiệu nhiều, đợt phá vỡ giá 20 ngày làm tín hiệu vị thế bằng phẳng, đồng thời giới thiệu đường trung bình 200 ngày làm bộ lọc xu hướng, giảm hiệu quả rủi ro do phá vỡ giả định.

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

Lập luận cốt lõi của chiến lược được xây dựng dựa trên sự phá vỡ giá và theo dõi xu hướng.

  1. Tín hiệu vào: Hệ thống phát ra nhiều tín hiệu khi giá đạt mức cao mới trong 55 ngày và giá đóng cửa nằm trên đường trung bình 200 ngày
  2. Tín hiệu xuất cảnh: Hệ thống đóng cửa giao dịch khi giá giảm xuống mức thấp 20 ngày
  3. Trình lọc xu hướng: sử dụng đường trung bình 200 ngày làm cơ sở để đánh giá xu hướng lớn, chỉ đặt vị trí trên đường trung bình
  4. Quản lý vị trí: sử dụng 10% giá trị tài khoản ròng như tỷ lệ tiền cho mỗi giao dịch
  5. Lựa chọn đường thẳng: hỗ trợ bốn phương thức đường thẳng SMA, EMA, WMA và VWMA, tùy chọn linh hoạt theo đặc điểm thị trường khác nhau

Lợi thế chiến lược

  1. Logic đơn giản và rõ ràng: Chiến lược sử dụng các chỉ số phá vỡ giá và đường trung bình cổ điển, dễ hiểu và thực hiện
  2. Kiểm soát rủi ro tốt: thiết lập các điều kiện dừng rõ ràng và quản lý rủi ro thông qua lọc đồng nhất và kiểm soát vị trí
  3. Khả năng thích ứng: có thể thích ứng với các môi trường thị trường khác nhau bằng cách điều chỉnh các tham số
  4. Khả năng nắm bắt xu hướng mạnh mẽ: xác nhận hướng xu hướng bằng cách phá vỡ giá trong nhiều chu kỳ
  5. Tiêu chuẩn tự động hóa cao: Quy tắc chiến lược rõ ràng, dễ thực hiện theo chương trình

Rủi ro chiến lược

  1. Rủi ro thị trường chấn động: Có thể tạo ra tín hiệu phá vỡ giả trong giai đoạn sắp xếp ngang
  2. Rủi ro trượt: Trong các thị trường ít lưu động, điểm trượt khi phá vỡ có thể lớn hơn
  3. Rủi ro đảo ngược xu hướng: Có thể có sự rút lui lớn gần điểm biến đổi xu hướng lớn
  4. Tính nhạy cảm của tham số: Các tham số tối ưu có thể có sự khác biệt lớn trong các môi trường thị trường khác nhau
  5. Rủi ro quản lý vốn: Vị thế tỷ lệ cố định có thể quá rủi ro trong một số trường hợp

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

  1. Cơ chế xác nhận tín hiệu: có thể tăng các chỉ số phụ trợ như đột phá khối lượng giao dịch để lọc các đột phá giả
  2. Động thái dừng lỗ: giới thiệu các chỉ số biến động như ATR để thực hiện dừng lỗ động
  3. Tối ưu hóa quản lý vị trí: tỷ lệ vị trí được điều chỉnh theo biến động của thị trường
  4. Phân tích đa chu kỳ: thêm phân tích nhiều chu kỳ thời gian để tăng độ tin cậy tín hiệu
  5. Nhận diện môi trường thị trường: tăng cường chỉ số cường độ xu hướng để đánh giá môi trường thị trường hiện tại

Tóm tắt

Đây là một hệ thống chiến lược kết hợp các quy tắc giao dịch biển cổ điển với các công cụ phân tích kỹ thuật hiện đại. Thu thập xu hướng bằng cách phá vỡ giá, sử dụng bộ lọc đường thẳng để xác nhận hướng, phối hợp với quản lý vị trí hợp lý để kiểm soát rủi ro.

Mã nguồn chiến lược
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Turtle Traders - Andrei", overlay=true, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)

// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)

// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)

// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])

// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
    "SMA" => ta.sma(close, ma_length)
    "EMA" => ta.ema(close, ma_length)
    "WMA" => ta.wma(close, ma_length)
    "VWMA" => ta.vwma(close, ma_length)

// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)

// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)

// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)

if (longCondition)
    strategy.entry("Comprar", strategy.long)

// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)

if (exitCondition)
    strategy.close("Comprar")

// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)

// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)

// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)

// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green, 
          style=shape.labelup, title="Sinal de Compra", text="")

// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red, 
          style=shape.labeldown, title="Sinal de Venda", text="")