Chiến lược bẫy đảo ngược siêu xu hướng

Tác giả:ChaoZhang, Ngày: 2023-09-25 17:58:05
Tags:

Tổng quan

Chiến lược này sử dụng chỉ số SuperTrend để xác định hướng xu hướng hiện tại và tạo ra các tín hiệu giao dịch dựa trên các mẫu nến bẫy. Nó thuộc về các chiến lược theo xu hướng. Khi nến bẫy đối diện với hướng SuperTrend hình thành, nó báo hiệu một sự đảo ngược xu hướng tiềm năng. Chiến lược nhằm mục đích tận dụng cơ hội đảo ngược.

Chiến lược logic

Chiến lược đầu tiên tính toán chỉ số SuperTrend để xác định xu hướng hiện tại, màu xanh lá cây cho xu hướng tăng và màu đỏ cho xu hướng giảm. Sau đó nó kiểm tra xem cây nến có hình thành một mô hình bẫy, đòi hỏi: 1) nến đối diện với hướng SuperTrend, 2) nến mạnh mẽ (đầu lớn hoặc gần không phân kỳ), 3) nến có khối lượng tăng. Khi tất cả ba điều kiện được đáp ứng, nó báo hiệu một sự đảo ngược xu hướng có khả năng. Chiến lược đi dài ở đầu nến bẫy và đi ngắn ở đáy. Đặt dừng lỗ ở phía đối diện của nến bẫy hoặc dao động cao / thấp gần đây.

Cụ thể, SuperTrend được tính dựa trên ATR 10 giai đoạn. Sau đó nó kiểm tra xem nến hiện tại có đối diện với hướng SuperTrend, và khối lượng của nó lớn hơn nến trước đó, hoặc ba nến liên tiếp với cùng một hướng CLOSE nhưng giảm khối lượng. Nếu các tiêu chí được đáp ứng, nó báo hiệu đảo ngược và đi dài ở mức cao nến và đi ngắn ở mức thấp nến.

Chiến lược xác định xu hướng tổng thể với SuperTrend và đi vào các điểm đảo ngược tiềm năng được đánh dấu bằng nến bẫy, với mục tiêu lợi nhuận đến từ chuyển động xu hướng tiếp theo.

Phân tích lợi thế

  • Kết hợp xu hướng và mô hình cho độ chính xác cao hơn

SuperTrend xác định xu hướng tổng thể, nắm bắt tín hiệu nến cơ hội đảo ngược.

  • Nến bẫy thêm xác nhận nhập cảnh, tránh trốn thoát sai

Động lực mạnh mẽ và âm lượng tăng của nến bẫy tránh tín hiệu sai từ tiếng ồn.

  • Logic đơn giản và rõ ràng, dễ thực hiện

Với SuperTrend và nến bẫy là cốt lõi, chiến lược rất tối giản, với ít thông số và dễ thực hiện.

  • Các thiết lập dừng lỗ hợp lý để kiểm soát rủi ro

Việc dừng lỗ tại giá nến bẫy cho phép thoát nhanh và cũng phù hợp với vị trí sau khi đảo ngược.

Phân tích rủi ro

  • SuperTrend tụt lại trong việc bắt sự đảo ngược xu hướng

SuperTrend có một chút chậm trễ trong việc phát hiện sự đảo ngược xu hướng, do đó có thể bỏ lỡ thời điểm vào tốt nhất.

  • Việc đảo ngược thất bại có thể làm tăng tổn thất

Các tín hiệu đảo ngược không đáng tin cậy 100%.

  • Cần xác định các mô hình bẫy thích hợp

Mô hình bẫy tối ưu có thể khác nhau giữa các sản phẩm và khung thời gian.

  • Ngày và đêm khác nhau

Đặc điểm giao dịch khác nhau giữa các phiên ngày và đêm.

Hướng dẫn cải thiện

  • Tối ưu hóa tham số cho sự khác biệt ban ngày và ban đêm

Ví dụ, tối ưu hóa mức tăng âm lượng nến bẫy riêng biệt cho ngày và đêm.

  • Tối ưu hóa các thông số SuperTrend

Kiểm tra các khoảng thời gian ATR khác nhau để tìm các thông số và tín hiệu SuperTrend tối ưu cho mỗi sản phẩm.

  • Thêm thêm bộ lọc để nhập

Bao gồm các chỉ số bổ sung như MACD, KDJ để cải thiện độ chính xác phán đoán đảo ngược.

  • Thêm cơ chế dừng lỗ

Ví dụ như đặt lại stop loss sau khi đảo ngược, tỷ lệ stop loss phần trăm vv để kiểm soát rủi ro.

Tóm lại

Chiến lược này kết hợp SuperTrend và các mẫu nến bẫy để nhập vào sự đảo ngược xu hướng nhận thức được. Ý tưởng cốt lõi rất đơn giản và rõ ràng. Nhưng có không gian để cải thiện thêm độ chính xác tín hiệu bằng cách tối ưu hóa toàn diện trên các khía cạnh như xu hướng tổng thể, sự khác biệt phiên, dừng lỗ vv, để tăng sự ổn định. Với tối ưu hóa lặp lại, nó có thể trở thành một công cụ mạnh mẽ cho các nhà giao dịch tích cực.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SuperTrend Trapping Candle Strategy", shorttitle="ST", margin_long=1, margin_short=1, overlay=true)


// Inputs
atrPeriod = input.int(10, "ATR Length")
factor = input.int(2, "Factor")
candleDivider = input.float(0.003, "Candle Height", step=0.0001)


// Supertrend
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)


//Trapping canlde
isUptrend = direction < 0
isDowntrend = direction > 0
isBullsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close > close[1] and close[1] > close[2] and open > open[1] and open[1] > open[2]
isBearsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close < close[1] and close[1] < close[2] and open < open[1] and open[1] < open[2]
isStrongVolume = (volume > volume[1]) or isBullsStrengthDecreasing or isBearsStrengthDecreasing
isSmallCandle = (high - low) < close * candleDivider
isUptrendTrapping = isUptrend and close < open and isStrongVolume and isSmallCandle
isDowntrendTrapping = isDowntrend and close > open and isStrongVolume and isSmallCandle

plotshape(isUptrendTrapping, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(isDowntrendTrapping, style=shape.triangledown, location=location.abovebar, color=color.orange)


// Signals
longCondition = isUptrendTrapping
if (longCondition)
    strategy.entry("Long", strategy.long)


shortCondition = isDowntrendTrapping
if (shortCondition)
    strategy.entry("Short", strategy.short)

if open < close
    alert("Seller Trapped.", alert.freq_all)
if close > open
    alert("Buyer Trapped.", alert.freq_all)



Thêm nữa