You are on page 1of 2

//@version=5

indicator("Engulfing Pattern with Time Filter", shorttitle="Engulfing Time Filter", overlay=true)

// Trading Time Filter

tradingStartHour = input(8, title="Trading Start Hour (Local Time)", minval=0, maxval=23)

tradingStartMin = input(0, title="Trading Start Minute", minval=0, maxval=59)

tradingEndHour = input(18, title="Trading End Hour (Local Time)", minval=0, maxval=23)

tradingEndMin = input(0, title="Trading End Minute", minval=0, maxval=59)

// Function to check for bullish engulfing pattern

isBullishEngulfing() =>

open_prev = request.security(syminfo.tickerid, "D", open[1])

close_prev = request.security(syminfo.tickerid, "D", close[1])

open_curr = open

close_curr = close

bullish_engulfing = (close_curr > open_curr) and

(open_curr <= open_prev) and

(close_curr >= close_prev)

// Function to check for bearish engulfing pattern

isBearishEngulfing() =>

open_prev = request.security(syminfo.tickerid, "D", open[1])

close_prev = request.security(syminfo.tickerid, "D", close[1])

open_curr = open
close_curr = close

bearish_engulfing = (close_curr < open_curr) and

(open_curr >= open_prev) and

(close_curr <= close_prev)

// Trading Time Filter Condition

trading_time_filter = (time >= timestamp(syminfo.timezone, tradingStartHour, tradingStartMin)) and

(time <= timestamp(syminfo.timezone, tradingEndHour, tradingEndMin))

// Plotting the patterns

plotshape(isBullishEngulfing() and trading_time_filter, style=shape.labelup, location=location.belowbar,


color=color.green, size=size.small, title="Bullish Engulfing")

plotshape(isBearishEngulfing() and trading_time_filter, style=shape.labeldown,


location=location.abovebar, color=color.red, size=size.small, title="Bearish Engulfing")

You might also like