
Ini ialah strategi dagangan berdasarkan analisis corak candlestick berbilang tempoh, yang terutamanya menjana isyarat dagangan dengan mengenal pasti corak candlestick tipikal seperti engulfing kenaikkan, engulfing menurun dan doji. Strategi ini beroperasi pada kitaran harian dan menentukan titik perubahan arah aliran pasaran dengan menggabungkan berbilang penunjuk teknikal dan ciri corak, dengan itu mencari masa kemasukan dagangan yang ideal.
Logik teras strategi adalah untuk mengenal pasti tiga corak candlestick klasik secara pemrograman:
Apabila corak engulfing kenaikkan dikenal pasti, isyarat beli dipaparkan di bawah garis-K apabila corak engulfing menurun dikenal pasti, isyarat jual dipaparkan di atas garis-K apabila corak doji dikenal pasti, ia ditandakan pada bahagian atas K-line. Strategi ini melaksanakan pelabelan isyarat melalui fungsi label.new() dan meningkatkan visualisasi isyarat melalui fungsi plotshape().
Strategi ini melaksanakan analisis corak garis K klasik dalam cara terprogram dan mempunyai kebolehkendalian dan kebolehskalaan yang baik. Melalui penetapan parameter yang munasabah dan kawalan risiko, ia boleh memberikan rujukan berharga untuk keputusan perdagangan. Pada masa hadapan, kestabilan dan kebolehpercayaan strategi boleh dipertingkatkan dengan menambahkan lebih banyak petunjuk teknikal dan mengoptimumkan mekanisme pengesahan isyarat.
/*backtest
start: 2024-01-06 00:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Sensex Option Buy/Sell Signals", overlay=true)
// Input parameters
bullishColor = color.new(color.green, 0)
bearishColor = color.new(color.red, 0)
dojiColor = color.new(color.yellow, 0)
// Candlestick pattern identification
isBullishEngulfing = close[1] < open[1] and close > open and close > high[1] and open < low[1]
isBearishEngulfing = close[1] > open[1] and close < open and close < low[1] and open > high[1]
isDoji = math.abs(close - open) <= (high - low) * 0.1
// Plot buy/sell signals
buySignal = isBullishEngulfing
sellSignal = isBearishEngulfing
timeframeCondition = input.timeframe("D", title="Timeframe for signals")
// Buy Signal
if buySignal
label.new(bar_index, high, "Buy", style=label.style_label_up, color=bullishColor, textcolor=color.white)
strategy.entry("Buy", strategy.long)
// Sell Signal
if sellSignal
label.new(bar_index, low, "Sell", style=label.style_label_down, color=bearishColor, textcolor=color.white)
strategy.entry("Sell", strategy.short)
// Highlight Doji candles
if isDoji
label.new(bar_index, high, "Doji", style=label.style_circle, color=dojiColor, textcolor=color.black)
// Alerts
alertcondition(buySignal, title="Buy Alert", message="Bullish Engulfing Pattern Detected")
alertcondition(sellSignal, title="Sell Alert", message="Bearish Engulfing Pattern Detected")
// Add plot shapes for visibility
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=bullishColor, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=bearishColor, style=shape.labeldown, text="SELL")