Chiến lược cân bằng phạm vi nến Marubozu

Tác giả:ChaoZhang, Ngày: 2024-23-2 14:23:41
Tags:

img

Tổng quan

Chiến lược cân bằng phạm vi nến Marubozu là một chiến lược giao dịch định lượng trong ngày. Nó xác định các mô hình nến Marubozu và kiểm tra cân bằng các phạm vi nến để xác định xu hướng thị trường và tìm cơ hội giao dịch.

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

Logic cốt lõi của chiến lược này dựa trên các điểm sau:

  1. Xác định nến Marubozu trắng tăng và nến đen giảm. nến Marubozu là các mẫu nến đặc biệt không có bóng giữa giá mở và đóng, được chia thành các loại tăng trắng và giảm đen.

  2. Tính toán phạm vi cơ thể nến trung bình và so sánh nó với phạm vi cơ thể nến hiện tại để xác định xem phạm vi là dài hay ngắn.

  3. Xác định xem các phạm vi nến có cân bằng hay không, tức là liệu chiều dài bóng phía trên và bóng phía dưới có bằng nhau không.

  4. Đi dài khi một nến tăng màu trắng Marubozu được xác định; Đi ngắn khi một nến giảm màu đen Marubozu được xác định.

  5. Sử dụng giá đóng của hai ngọn nến trước để xác định sự đảo ngược xu hướng như tín hiệu thoát.

Chiến lược dựa chủ yếu trên các tín hiệu xu hướng một chiều mạnh được cung cấp bởi các nến Marubozu và các điều kiện phạm vi cân bằng để xác định các cơ hội dài và ngắn. Khi nến Marubozu được xác định, nó cho thấy thị trường có xu hướng một chiều mạnh. Tình huống phạm vi cân bằng cũng xác nhận độ tin cậy của xu hướng này.

Phân tích lợi thế

Chiến lược cân bằng phạm vi nến Marubozu có những lợi thế sau:

  1. Xác định xu hướng mạnh có khả năng cao. Các ngọn nến Marubozu cung cấp các tín hiệu giá một bên cực kỳ bùng nổ.

  2. Phạm vi cân bằng lọc hiệu quả các đột phá sai và tránh bẫy. Khi phạm vi không cân bằng, nó chỉ ra các rủi ro tiềm ẩn của đột phá sai và sẽ bỏ qua tín hiệu giao dịch.

  3. Sử dụng hai ngọn nến trước để xác định sự đảo ngược xu hướng có thể nắm bắt lợi nhuận từ xu hướng một cách kịp thời.

  4. Chiến lược đơn giản và rõ ràng, dễ hiểu và thực hiện, phù hợp cho người mới bắt đầu.

  5. Có thể được sử dụng trên bất kỳ sản phẩm và khung thời gian nào, với khả năng áp dụng mạnh mẽ.

Phân tích rủi ro

Chiến lược này cũng có những rủi ro sau:

  1. Không có khả năng lọc hiệu quả thị trường whipsaw, với rủi ro cao hơn về tín hiệu sai và bẫy trong xu hướng giới hạn trong phạm vi. Có thể giảm thiểu bằng cách điều chỉnh các tham số để rút ngắn thời gian giữ hoặc tăng dừng lỗ.

  2. Tùy thuộc vào cài đặt tham số. Các tham số khác nhau có thể dẫn đến kết quả khác nhau đáng kể. Các tham số có thể được tối ưu hóa thông qua backtesting.

  3. Không thể xác định xu hướng mạnh thứ cấp, chỉ dựa vào nến Marubozu cực đoan để phán đoán, do đó bỏ lỡ cơ hội thứ cấp.

Tối ưu hóa chiến lược

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa tỷ lệ phần trăm ngưỡng xác định Marubozu để điều chỉnh độ nhạy xác định.

  2. Tối ưu hóa các thông số ngưỡng cân bằng để xác định các mô hình cân bằng cân bằng hơn hoặc không cân bằng.

  3. Thêm giá đóng so với so sánh trung bình động như một chỉ số đánh giá phụ trợ.

  4. Thêm các chỉ số để xác định sự gia tăng khối lượng giao dịch.

  5. Nới lỏng các yêu cầu tầm cân bằng để xác định các cơ hội Marubozu mạnh hơn.

Kết luận

Chiến lược cân bằng phạm vi nến Marubozu xác định các cơ hội xu hướng một chiều có khả năng cao bằng cách nhận ra các mẫu nến cụ thể cùng với các phán đoán cân bằng. Chiến lược đơn giản và rõ ràng với tỷ lệ thắng cao. Nó phù hợp cho cả người mới bắt đầu học và các nhà giao dịch tiên tiến để tìm kiếm các cơ hội tiềm năng. Có thể cải thiện thêm thông qua tối ưu hóa tín hiệu và tham số. Nhìn chung, đây là một chiến lược định lượng trong ngày rất thực tế.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title="Marubozu", shorttitle="Marubozu", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0 )

C_Len = 14 // ema depth for bodyAvg
C_ShadowPercent = 5.0 // size of shadows
C_ShadowEqualsPercent = 100.0
C_DojiBodyPercent = 5.0
C_Factor = 2.0 // shows the number of times the shadow dominates the candlestick body

C_BodyHi = max(close, open)
C_BodyLo = min(close, open)
C_Body = C_BodyHi - C_BodyLo
C_BodyAvg = ema(C_Body, C_Len)
C_SmallBody = C_Body < C_BodyAvg
C_LongBody = C_Body > C_BodyAvg
C_UpShadow = high - C_BodyHi
C_DnShadow = C_BodyLo - low
C_HasUpShadow = C_UpShadow > C_ShadowPercent / 100 * C_Body
C_HasDnShadow = C_DnShadow > C_ShadowPercent / 100 * C_Body
C_WhiteBody = open < close
C_BlackBody = open > close
C_Range = high-low
C_IsInsideBar = C_BodyHi[1] > C_BodyHi and C_BodyLo[1] < C_BodyLo
C_BodyMiddle = C_Body / 2 + C_BodyLo
C_ShadowEquals = C_UpShadow == C_DnShadow or (abs(C_UpShadow - C_DnShadow) / C_DnShadow * 100) < C_ShadowEqualsPercent and (abs(C_DnShadow - C_UpShadow) / C_UpShadow * 100) < C_ShadowEqualsPercent
C_IsDojiBody = C_Range > 0 and C_Body <= C_Range * C_DojiBodyPercent / 100
C_Doji = C_IsDojiBody and C_ShadowEquals

patternLabelPosLow = low - (atr(30) * 0.6)
patternLabelPosHigh = high + (atr(30) * 0.6)

C_MarubozuWhiteBullishNumberOfCandles = 1
C_MarubozuShadowPercentWhite = 5.0
C_MarubozuWhiteBullish = C_WhiteBody and C_LongBody and C_UpShadow <= C_MarubozuShadowPercentWhite/100*C_Body and C_DnShadow <= C_MarubozuShadowPercentWhite/100*C_Body and C_WhiteBody
alertcondition(C_MarubozuWhiteBullish, title = "Marubozu White", message = "New Marubozu White - Bullish pattern detected.")
if C_MarubozuWhiteBullish
    var ttBullishMarubozuWhite = "Marubozu White\nA Marubozu White Candle is a candlestick that does not have a shadow that extends from its candle body at either the open or the close. Marubozu is Japanese for “close-cropped” or “close-cut.” Other sources may call it a Bald or Shaven Head Candle."
    label.new(bar_index, patternLabelPosLow, text="MW", style=label.style_label_up, color = color.blue, textcolor=color.white, tooltip = ttBullishMarubozuWhite)
bgcolor(highest(C_MarubozuWhiteBullish?1:0, C_MarubozuWhiteBullishNumberOfCandles)!=0 ? color.blue : na, offset=-(C_MarubozuWhiteBullishNumberOfCandles-1))

C_MarubozuBlackBearishNumberOfCandles = 1
C_MarubozuShadowPercentBearish = 5.0
C_MarubozuBlackBearish = C_BlackBody and C_LongBody and C_UpShadow <= C_MarubozuShadowPercentBearish/100*C_Body and C_DnShadow <= C_MarubozuShadowPercentBearish/100*C_Body and C_BlackBody
alertcondition(C_MarubozuBlackBearish, title = "Marubozu Black", message = "New Marubozu Black - Bearish pattern detected.")
if C_MarubozuBlackBearish
    var ttBearishMarubozuBlack = "Marubozu Black\nThis is a candlestick that has no shadow, which extends from the red-bodied candle at the open, the close, or even at both. In Japanese, the name means “close-cropped” or “close-cut.” The candlestick can also be referred to as Bald or Shaven Head."
    label.new(bar_index, patternLabelPosHigh, text="MB", style=label.style_label_down, color = color.red, textcolor=color.white, tooltip = ttBearishMarubozuBlack)
bgcolor(highest(C_MarubozuBlackBearish?1:0, C_MarubozuBlackBearishNumberOfCandles)!=0 ? color.red : na, offset=-(C_MarubozuBlackBearishNumberOfCandles-1))

strategy.entry("short",1,when= C_MarubozuBlackBearish)

strategy.entry("long",0,when=C_MarubozuWhiteBullish)

strategy.close("long",when= close[1] < open[1]and close[2] < open[2] and close > open)
strategy.close("short",when= close[1] > open[1]and close[2] > open[2] and close < open)

Thêm nữa