This strategy combines the concept of Vector Candles with traditional Channel Breakout and Chocolate Sauce (ChoCH) pattern recognition to capture breakout movements in the market. The strategy confirms signals by comparing the closing price with the high and low of the previous candle and using volume-amplified Vector Candles, while also employing a certain number of confirmation candles to filter out noise.
This strategy innovatively combines Vector Candles with classic Channel Breakout and ChoCH patterns, enhancing signal reliability and recognizability through color differentiation and a confirmation candle mechanism. The strategy’s advantages lie in its clear rules, intuitive signals, and a certain degree of flexibility and optimization potential. However, the strategy also has some limitations and risks, such as subpar performance in choppy markets, insufficient grasp of market trends, and a lack of stop-loss and take-profit management. In the future, the strategy can be refined in terms of trend confirmation, range trading, parameter optimization, risk control, and other aspects to achieve more robust trading performance.
/*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")