-
Notifications
You must be signed in to change notification settings - Fork 95
Description
//@Version=5
indicator("DLZ OB V7 FINAL", overlay=true)
emaFastLen = input.int(50, "EMA Fast")
emaSlowLen = input.int(200, "EMA Slow")
cmfLen = input.int(20, "CMF Len")
qqeLen = input.int(14, "QQE RSI")
src = input.source(close, "Source")
lookback = input.int(75, "Fresh Lookback")
emaFast = ta.ema(src, emaFastLen)
emaSlow = ta.ema(src, emaSlowLen)
cmf = ta.sma(((close - low) - (high - close)) / (high - low) * volume, cmfLen) / ta.sma(volume, cmfLen)
rsi = ta.rsi(src, qqeLen)
qqeTrend = ta.ema(rsi, 5)
qqeBull = qqeTrend > 50
qqeBear = qqeTrend < 50
bullCond = close > emaFast and emaFast > emaSlow and cmf > 0 and qqeBull
bearCond = close < emaFast and emaFast < emaSlow and cmf < 0 and qqeBear
is_demand_ob_bar = close[1] < open[1] and close > high[1] and bullCond
is_supply_ob_bar = close[1] > open[1] and close < low[1] and bearCond
bars_since_demand = ta.barssince(is_demand_ob_bar)
bars_since_supply = ta.barssince(is_supply_ob_bar)
if is_demand_ob_bar and bars_since_demand == 0
demand_high = high[1]
demand_low = low[1]
if ta.lowest(low, lookback)[1] > demand_high
box.new(bar_index[1], demand_high, bar_index, demand_low,
bgcolor=color.new(color.green, 85),
border_color=color.green, extend=extend.right)
if is_supply_ob_bar and bars_since_supply == 0
supply_high = high[1]
supply_low = low[1]
if ta.highest(high, lookback)[1] < supply_low
box.new(bar_index[1], supply_high, bar_index, supply_low,
bgcolor=color.new(color.red, 85),
border_color=color.red, extend=extend.right)
plot(emaFast, color=color.new(color.blue, 0), title="EMA Fast", linewidth=1)
plot(emaSlow, color=color.new(color.orange, 0), title="EMA Slow", linewidth=1)
bgcolor(bullCond ? color.new(color.green, 85) : bearCond ? color.new(color.red, 85) : na)
labelText = bullCond ? "BUY TREND ⚡" : bearCond ? "SELL TREND
if labelText != ""
label.new(bar_index, high, labelText, style=label.style_label_down, textcolor=color.white, color=bullCond ? color.new(color.green, 0) : color.new(color.red, 0))