Strategi ini menggabungkan konsep Lilin Vektor dengan pengenalan corak Penembusan Saluran dan Sos Coklat (ChoCH) tradisional untuk menangkap pergerakan penembusan di pasaran. Strategi ini mengesahkan isyarat dengan membandingkan harga penutupan dengan tinggi dan rendah lilin sebelumnya dan menggunakan Lilin Vektor yang diperkuat oleh jumlah, sementara juga menggunakan sebilangan tertentu lilin pengesahan untuk menapis bunyi bising.
Strategi ini secara inovatif menggabungkan lilin vektor dengan corak penembusan saluran klasik dan corak ChoCH, meningkatkan kebolehpercayaan isyarat dan pengenalan melalui pembezaan warna dan mekanisme lilin pengesahan. Kelebihan strategi terletak pada peraturan yang jelas, isyarat intuitif, dan tahap fleksibiliti dan potensi pengoptimuman tertentu. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan dan risiko, seperti prestasi yang kurang baik di pasaran yang berbelit-belit, pemahaman yang tidak mencukupi mengenai trend pasaran, dan kekurangan pengurusan stop-loss dan mengambil keuntungan. Pada masa akan datang, strategi ini boleh disempurnakan dari segi pengesahan trend, julat perdagangan, pengoptimuman parameter, kawalan risiko, dan aspek lain untuk mencapai prestasi perdagangan yang lebih mantap.
/*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")