Стратегия баланса диапазона свечей Marubozu - это внутридневная количественная стратегия торговли.
Основная логика этой стратегии основана на следующих моментах:
Марубозу - это специальные шаблоны свечей без теней между открытыми и закрытыми ценами, разделенные на белые бычьи и черные медвежие типы.
Вычислить средний диапазон тела свечи и сравнить его с текущим диапазоном тела свечи, чтобы определить, длинный или короткий диапазон.
Определить, являются ли диапазоны свечей сбалансированными, т. е. равны ли длины верхней и нижней теней.
Если вы видите белую быструю свечу Marubozu, вы должны пойти на длинный курс; если вы видите чёрную медвежью свечу Marubozu, вы должны пойти на короткий курс.
Используйте цены закрытия двух предыдущих свечей для определения обратного тренда в качестве сигнала выхода.
Стратегия опирается в основном на сильные односторонние сигналы тренда, предоставляемые самими свечами Марубозу, и условия сбалансированного диапазона для определения длинных и коротких возможностей. Когда свеча Марубозу определяется, это указывает на то, что на рынке есть сильная односторонняя тенденция. Ситуация сбалансированного диапазона также подтверждает надежность этой тенденции. Выходите из позиций своевременно, когда сильный тренд переворачивается, чтобы получить прибыль от тренда.
Стратегия баланса диапазона свечей Marubozu имеет следующие преимущества:
Идентифицировать высоковероятные сильные тенденции.
Когда диапазон неравновешен, он указывает на потенциальные риски ложного прорыва и будет пропускать торговый сигнал.
Использование двух предыдущих свечей для определения обратного тренда может своевременно получить прибыль от тренда.
Стратегия проста и понятна, легко понять и реализовать, подходит для новичков.
Может использоваться на любых продуктах и сроках, с сильной применимостью.
Стратегия также имеет следующие риски:
Неспособность эффективно отфильтровывать рынки с випсой, с более высоким риском ложных сигналов и ловушек в трендах, связанных с диапазоном.
Зависимость от настроек параметров. Различные параметры могут привести к значительно различным результатам. Параметры могут быть оптимизированы с помощью обратного тестирования.
Неспособность выявлять вторичные сильные тенденции, опираясь исключительно на экстремальные свечи Марубозу для суждений, тем самым упуская вторичные возможности.
Стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать пороговый процент определения марубозу для корректировки чувствительности идентификации.
Оптимизировать параметры сбалансированного порога для выявления более сбалансированных или несбалансированных сбалансированных моделей.
Добавьте сравнение ценового закрытия и скользящей средней в качестве вспомогательного показателя оценки.
Добавьте показатели для определения роста объема торговли.
Успокойте требования сбалансированного диапазона, чтобы определить более вторичные сильные возможности Марубозу.
Стратегия баланса диапазона свечей Марубозу определяет высоковероятные односторонние трендовые возможности путем распознавания конкретных моделей свечей в сочетании с сбалансированными суждениями. Стратегия проста и ясна с высоким уровнем выигрыша. Она подходит как для начинающих, чтобы научиться, так и для продвинутых трейдеров, чтобы найти потенциальные возможности. Дальнейшие улучшения могут быть сделаны с помощью оптимизации сигналов и параметров. В целом это очень практичная внутридневная количественная стратегия.
/*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)