Стратегия баланса диапазона свечей Marubozu

Автор:Чао Чжан, Дата: 2024-02-23 14:23:41
Тэги:

img

Обзор

Стратегия баланса диапазона свечей Marubozu - это внутридневная количественная стратегия торговли.

Принцип стратегии

Основная логика этой стратегии основана на следующих моментах:

  1. Марубозу - это специальные шаблоны свечей без теней между открытыми и закрытыми ценами, разделенные на белые бычьи и черные медвежие типы.

  2. Вычислить средний диапазон тела свечи и сравнить его с текущим диапазоном тела свечи, чтобы определить, длинный или короткий диапазон.

  3. Определить, являются ли диапазоны свечей сбалансированными, т. е. равны ли длины верхней и нижней теней.

  4. Если вы видите белую быструю свечу Marubozu, вы должны пойти на длинный курс; если вы видите чёрную медвежью свечу Marubozu, вы должны пойти на короткий курс.

  5. Используйте цены закрытия двух предыдущих свечей для определения обратного тренда в качестве сигнала выхода.

Стратегия опирается в основном на сильные односторонние сигналы тренда, предоставляемые самими свечами Марубозу, и условия сбалансированного диапазона для определения длинных и коротких возможностей. Когда свеча Марубозу определяется, это указывает на то, что на рынке есть сильная односторонняя тенденция. Ситуация сбалансированного диапазона также подтверждает надежность этой тенденции. Выходите из позиций своевременно, когда сильный тренд переворачивается, чтобы получить прибыль от тренда.

Анализ преимуществ

Стратегия баланса диапазона свечей Marubozu имеет следующие преимущества:

  1. Идентифицировать высоковероятные сильные тенденции.

  2. Когда диапазон неравновешен, он указывает на потенциальные риски ложного прорыва и будет пропускать торговый сигнал.

  3. Использование двух предыдущих свечей для определения обратного тренда может своевременно получить прибыль от тренда.

  4. Стратегия проста и понятна, легко понять и реализовать, подходит для новичков.

  5. Может использоваться на любых продуктах и сроках, с сильной применимостью.

Анализ рисков

Стратегия также имеет следующие риски:

  1. Неспособность эффективно отфильтровывать рынки с випсой, с более высоким риском ложных сигналов и ловушек в трендах, связанных с диапазоном.

  2. Зависимость от настроек параметров. Различные параметры могут привести к значительно различным результатам. Параметры могут быть оптимизированы с помощью обратного тестирования.

  3. Неспособность выявлять вторичные сильные тенденции, опираясь исключительно на экстремальные свечи Марубозу для суждений, тем самым упуская вторичные возможности.

Оптимизация стратегии

Стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизировать пороговый процент определения марубозу для корректировки чувствительности идентификации.

  2. Оптимизировать параметры сбалансированного порога для выявления более сбалансированных или несбалансированных сбалансированных моделей.

  3. Добавьте сравнение ценового закрытия и скользящей средней в качестве вспомогательного показателя оценки.

  4. Добавьте показатели для определения роста объема торговли.

  5. Успокойте требования сбалансированного диапазона, чтобы определить более вторичные сильные возможности Марубозу.

Заключение

Стратегия баланса диапазона свечей Марубозу определяет высоковероятные односторонние трендовые возможности путем распознавания конкретных моделей свечей в сочетании с сбалансированными суждениями. Стратегия проста и ясна с высоким уровнем выигрыша. Она подходит как для начинающих, чтобы научиться, так и для продвинутых трейдеров, чтобы найти потенциальные возможности. Дальнейшие улучшения могут быть сделаны с помощью оптимизации сигналов и параметров. В целом это очень практичная внутридневная количественная стратегия.


/*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)

Больше