Векторный канал Breakout на основе свечей и индивидуальная стратегия ChoCH

Автор:Чао Чжан, Дата: 2024-03-29 14:45:57
Тэги:

img

Обзор

Эта стратегия сочетает в себе концепцию векторных свечей с традиционным распознаванием паттернов Channel Breakout и Chocolate Sauce (ChoCH), чтобы улавливать движения на рынке.

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

  1. Вычислить средний объем определенного количества прошлых свечей и определить четыре различных цветовых векторных свечей (красный, зеленый, синий, фиолетовый) на основе множителя усиления объема.
  2. Когда цена закрытия ниже уровня предыдущей свечи и это красная векторная свеча, идентифицируйте ее как красный сигнал ChoCH; когда цена закрытия выше уровня предыдущей свечи и это зеленая векторная свеча, идентифицируйте ее как зеленый сигнал BOS.
  3. В пределах определенного количества подтверждающих свечей, если количество случаев красных векторных свечей достигает установленного порога, подтверждается красный сигнал ChoCH; если количество случаев зеленых векторных свечей достигает установленного порога, подтверждается зеленый сигнал BOS.
  4. Открыть длинную позицию при подтверждении красного сигнала ChoCH и закрыть позицию при подтверждении зеленого сигнала BOS.

Преимущества стратегии

  1. Комбинирует векторные свечи с традиционными шаблонами Breakout и ChoCH, улучшая надежность сигнала.
  2. Вводит механизм подтверждения свечи для эффективной фильтрации шума и ложных сигналов.
  3. Различает сигналы по цветам вектора свечи, что делает их более интуитивными и легкими в идентификации.
  4. Регулируемые параметры обеспечивают гибкость и могут быть оптимизированы на основе различных рыночных условий и стилей торговли.

Стратегические риски

  1. На нестабильном рынке частые выбытия и отступления могут привести к многочисленным ложным сигналам и проигрышу сделок.
  2. Неправильное установление количества подтверждающих свечей может привести к задержке сигнала или преждевременному вводу.
  3. Опираясь исключительно на технические показатели, игнорируя фундаментальные факторы, стратегия может подвергаться неожиданным рискам.
  4. Стратегия не включает механизм стоп-лосса, который может привести к значительным потерям при резких перепадах на рынке.

Направления оптимизации стратегии

  1. Ввести индикаторы подтверждения тренда, такие как скользящие средние, для подтверждения направления тренда после появления сигнала прорыва, улучшая качество сигнала.
  2. Для нестабильных рынков следует рассмотреть возможность использования стратегий торговли в диапазоне, таких как установка длинных и коротких условий запуска в канале.
  3. Оптимизируйте количество подтверждающих свечей, чтобы найти подходящий баланс между эффективной фильтрацией шума и избежанием чрезмерной задержки.
  4. Устанавливать разумные правила стоп-лосса и прибыли для контроля индивидуального риска торговли и общего использования.
  5. Комбинировать с другими техническими показателями или показателями настроения на рынке, чтобы обеспечить большее основание для торговых решений.

Заключение

Эта стратегия инновационно сочетает в себе векторные свечи с классическими шаблонами Breakout Channel и ChoCH, повышая надежность и узнаваемость сигнала с помощью цветовой дифференциации и механизма подтверждения свечи. Преимущества стратегии заключаются в ее четких правилах, интуитивных сигналах и определенной степени гибкости и потенциала оптимизации.


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

//@version=4
strategy("Custom ChoCH and BOS Strategy with Vector Candles", overlay=true)

// Input Parameters
length = input(10, title="Lookback Length for Volume")
volMultiplier = input(2.0, title="Volume Multiplier for Vector Candles")
confirmationCandles = input(3, title="Confirmation Candles")

// Calculate the average volume of the last 'length' candles
avgVol = sma(volume, length)

// Vector Candle Definitions
vectorCandleRed = (close < open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleGreen = (close > open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleBlue = (close < open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for blue
vectorCandlePurple = (close > open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for purple

// Detecting BOS and ChoCH
isRedChoCH = vectorCandleRed > 0 and (close < low[1]) // Red ChoCH
isGreenBOS = vectorCandleGreen > 0 and (close > high[1]) // Green BOS

// Confirmation Logic
redChoCHConfirmed = (sum(vectorCandleRed, confirmationCandles) >= 2) ? 1.0 : 0.0
greenBOSConfirmed = (sum(vectorCandleGreen, confirmationCandles) >= 2) ? 1.0 : 0.0

// Entry Conditions
buyCondition = redChoCHConfirmed > 0
sellCondition = greenBOSConfirmed > 0

// Strategy Execution
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")

// Plotting Vector Candles and Signals
plotshape(series=isRedChoCH, title="Red ChoCH Signal", location=location.belowbar, color=color.red, style=shape.circle, text="Red ChoCH")
plotshape(series=isGreenBOS, title="Green BOS Signal", location=location.abovebar, color=color.green, style=shape.circle, text="Green BOS")

// Plotting Vector Candles for Visualization
plotchar(vectorCandleRed > 0, title="Vector Candle Red", location=location.belowbar, color=color.red, char='R', text="Red")
plotchar(vectorCandleGreen > 0, title="Vector Candle Green", location=location.abovebar, color=color.green, char='G', text="Green")
plotchar(vectorCandleBlue > 0, title="Vector Candle Blue", location=location.belowbar, color=color.blue, char='B', text="Blue")
plotchar(vectorCandlePurple > 0, title="Vector Candle Purple", location=location.abovebar, color=color.purple, char='P', text="Purple")


Больше