
Chiến lược phá vỡ hai lần xác nhận là một chiến lược giao dịch kết hợp chiến lược phá vỡ và chiến lược đường trung bình. Chiến lược này sử dụng giá cao nhất và giá thấp nhất của ngày trước như là mức giá quan trọng, sau đó kết hợp với tín hiệu nứt chết của đường trung bình nhanh và chậm để mua và bán.
Lý luận cốt lõi của chiến lược phá vỡ xác nhận kép là:
Kiểm tra xem giá đã vượt qua mức giá cao nhất hoặc thấp nhất của ngày hôm trước. Nếu giá vượt qua mức giá cao nhất của ngày hôm trước, nó được coi là tín hiệu lạc quan; Nếu giá vượt qua mức giá thấp nhất của ngày hôm trước, nó được coi là tín hiệu giảm giá.
Khi đột phá xảy ra, hãy kiểm tra xem đường nhanh (đường 10 ngày) có vượt qua đường chậm (đường 30 ngày) không. Nếu có, hãy mua; nếu đường nhanh vượt qua đường chậm, hãy bán.
Thiết lập tỷ lệ dừng lỗ cố định, tính toán giá dừng lỗ và giá dừng. Ví dụ: thiết lập tỷ lệ dừng lỗ 1:4 cho chiến lược, 4 lần mức dừng lỗ là mức dừng lỗ.
Sau khi mở vị trí, nếu giá kích hoạt đường dừng lỗ, dừng lỗ sẽ rút ra; Nếu đạt được mục tiêu dừng lỗ, dừng lỗ sẽ rút ra.
Có thể thấy rằng, chiến lược phá vỡ xác nhận kép sử dụng cả chỉ số định hướng (đường trung bình) và phá vỡ giá quan trọng (đường cao và thấp ngày trước) để xác nhận tín hiệu giao dịch, thuộc hệ thống phá vỡ ổn định và đáng tin cậy hơn.
Chiến lược đột phá xác nhận kép có những ưu điểm sau:
Việc phá vỡ điểm cao hoặc điểm thấp một ngày trước và sau đó vào lại có thể làm giảm hiệu quả xác suất phá vỡ giả, do đó cải thiện độ chính xác của nhập cảnh.
Các phán quyết phụ trợ của đường trung bình được xếp chồng lên nhau để tránh thường xuyên mở vị trí trong tình huống chấn động.
Sử dụng các quỹ quản lý với tỷ lệ dừng lỗ cố định, bạn có thể kiểm soát rủi ro và lợi nhuận trong phạm vi chấp nhận được.
Các quy tắc chiến lược đơn giản, rõ ràng, dễ hiểu và thực hiện, phù hợp với giao dịch số lượng.
Các chiến lược đột phá xác nhận kép cũng có những rủi ro sau:
Sau khi phá vỡ dễ tạo thành khối lượng không khí, dẫn đến đảo ngược. Để phòng ngừa rủi ro này, bạn có thể xác nhận đường K 2 sau khi phá vỡ và quay trở lại.
Trong tình huống chấn động, điểm dừng lỗ dễ bị kích hoạt. Bạn có thể mở rộng phạm vi dừng lỗ một cách thích hợp hoặc tăng số lần giao dịch để phân tán rủi ro.
Tỷ lệ Stop Loss cố định không phù hợp với tất cả các giống và trường hợp, cần điều chỉnh các tham số cho các thị trường khác nhau.
Thiết lập tham số đường trung bình không đúng cũng có thể làm mất cơ hội tốt hơn hoặc tăng giao dịch không cần thiết. Các tham số nên được kiểm tra và tối ưu hóa thường xuyên.
Chiến lược đột phá xác nhận kép có thể được tối ưu hóa theo các hướng sau:
Tăng số lượng đường K xác nhận, ví dụ, sau khi phá vỡ, hãy xem giá đóng cửa của 1-2 đường K cũng phá vỡ mức giá quan trọng đó.
Tối ưu hóa phản hồi bằng cách sử dụng các tổ hợp tham số khác nhau cho các giống và môi trường kinh doanh khác nhau, chẳng hạn như chu kỳ trung bình nhanh chậm, tỷ lệ dừng dừng, v.v.
Nó được sử dụng kết hợp với các chỉ số phụ trợ khác, chẳng hạn như sự gia tăng khối lượng giao dịch để xác nhận tín hiệu nhập cảnh.
Tăng khả năng mô hình học máy dự đoán xu hướng thị trường và kết hợp các tham số chiến lược điều chỉnh tín hiệu xác suất.
Chiến lược phá vỡ xác nhận kép sử dụng tổng hợp các tín hiệu phá vỡ ở các mức giá quan trọng và các chỉ số phán đoán đồng đều, có thể giúp cải thiện chất lượng tín hiệu giao dịch. Đồng thời, sử dụng các lệnh dừng cố định để quản lý rủi ro tài chính, cho phép hoạt động ổn định. Đây là một chiến lược định lượng tích hợp theo dõi xu hướng và phá vỡ, phù hợp cho các nhà giao dịch theo đuổi thu nhập ổn định.
Mặc dù chiến lược này cũng có một số rủi ro, nhưng có thể kiểm soát rủi ro và cải thiện lợi nhuận của chiến lược thông qua việc kiểm tra và tối ưu hóa liên tục. Đây là một chiến lược định lượng đáng để nghiên cứu và áp dụng sâu hơn.
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Trading con Señales de Máximo/Mínimo Diario", overlay=true)
// Obtenemos el alto y el bajo del día anterior
previousDailyHigh = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
previousDailyLow = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
// Detectamos si el precio cruza por encima del máximo o por debajo del mínimo del día anterior
priceCrossesPreviousHigh = ta.crossover(close, previousDailyHigh)
priceCrossesPreviousLow = ta.crossunder(close, previousDailyLow)
// Marcamos las señales en el gráfico con flechas bajistas y alcistas según corresponda
plotshape(priceCrossesPreviousHigh, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Price crosses above previous daily high")
plotshape(priceCrossesPreviousLow, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Price crosses below previous daily low")
// EMA rápida
fast_ema = ta.ema(close, 10)
// EMA lenta
slow_ema = ta.ema(close, 30)
// Riesgo beneficio fijo de 1-4
risk_reward_ratio = 4
// Calculamos el tamaño del stop loss basado en el riesgo asumido
risk = close - strategy.position_avg_price
stop_loss = close - (risk / risk_reward_ratio)
// Condiciones de compra y venta
buy_condition = priceCrossesPreviousLow and fast_ema > slow_ema
sell_condition = priceCrossesPreviousHigh and fast_ema < slow_ema
// Marcar entradas
strategy.entry("Compra", strategy.long, when=buy_condition)
strategy.entry("Venta", strategy.short, when=sell_condition)
// Definir objetivo de beneficio basado en el tamaño del stop loss y el riesgo beneficio fijo
target_profit = close + (risk * risk_reward_ratio)
// Definir stop loss y objetivo de beneficio
strategy.exit("Stop Loss/Take Profit", "Compra", stop=stop_loss, limit=target_profit)
strategy.exit("Stop Loss/Take Profit", "Venta", stop=stop_loss, limit=target_profit)
// Señales de compra y venta
plotshape(series=buy_condition, title="Compra", location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(series=sell_condition, title="Venta", location=location.abovebar, color=color.red, style=shape.triangledown)