// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © LiquidityEdgeFutures (https://liquidityedgefutures.com) // ========================================================================================================= // LIQUIDITY EDGE | 10:00 AM NY SILVER BULLET & MACRO LEVELS RADAR [FREE COMMUNITY EDITION] // Precision Session Timing & Institutional Key Reference Levels for CME NQ1!, MNQ1!, ES1! // // Features: // - Automatic 10:00 AM - 11:00 AM NY EST Silver Bullet algorithmic macro window shading // - Previous Day High (PDH) & Previous Day Low (PDL) institutional liquidity targets // - Midnight NY Open (00:00 EST True Day Open) // - 08:30 AM NY Open (Pre-market news benchmark) // - 09:30 AM Equity Opening Bell reference // - 09:30 - 10:00 AM Opening Range liquidity sweep detection // - Clean HUD dashboard showing active macro status and distance to institutional pools // ========================================================================================================= //@version=5 indicator("Liquidity Edge - 10:00 AM Silver Bullet & Macro Radar", shorttitle="LE - Silver Bullet Radar", overlay=true, max_lines_count=500, max_labels_count=500) // --------------------------------------------------------------------------------------------------------- // INPUTS & CONFIGURATION // --------------------------------------------------------------------------------------------------------- var string G_TIMING = "1. Silver Bullet & Macro Windows" var string G_LEVELS = "2. Key Institutional Levels" var string G_HUD = "3. On-Chart Desk HUD" // Timing bool i_showSbWindow = input.bool(true, "Highlight 10:00 - 11:00 AM NY Macro", group=G_TIMING) color i_sbColor = input.color(color.new(#38BDF8, 92), "Silver Bullet Background Tint", group=G_TIMING) bool i_showLunchMacro = input.bool(false, "Highlight 13:30 - 14:00 PM PM Macro", group=G_TIMING) color i_pmMacroColor = input.color(color.new(#F59E0B, 92), "PM Macro Tint", group=G_TIMING) // Key Levels bool i_showPdhPdl = input.bool(true, "Show Previous Day High / Low (PDH/PDL)", group=G_LEVELS) color i_pdhColor = input.color(color.new(#EF4444, 20), "PDH (Buy-Side Liquidity) Color", group=G_LEVELS) color i_pdlColor = input.color(color.new(#10B981, 20), "PDL (Sell-Side Liquidity) Color", group=G_LEVELS) bool i_showMidnight = input.bool(true, "Show Midnight Open (00:00 NY)", group=G_LEVELS) color i_midColor = input.color(color.new(#A855F7, 30), "Midnight Open Color", group=G_LEVELS) bool i_show830 = input.bool(true, "Show 08:30 AM NY Open", group=G_LEVELS) color i_830Color = input.color(color.new(#38BDF8, 30), "08:30 AM Open Color", group=G_LEVELS) bool i_show930 = input.bool(true, "Show 09:30 AM Equity Open", group=G_LEVELS) color i_930Color = input.color(color.new(#F59E0B, 30), "09:30 AM Open Color", group=G_LEVELS) bool i_showOpeningRange = input.bool(true, "Show 09:30 - 10:00 AM Initial Balance", group=G_LEVELS) // HUD bool i_showHud = input.bool(true, "Display Desk Telemetry HUD", group=G_HUD) string i_hudPosition = input.string("Top Right", "HUD Position", options=["Top Right", "Bottom Right", "Top Left", "Bottom Left"], group=G_HUD) // --------------------------------------------------------------------------------------------------------- // SESSION TIMING CHECKS (New York Time Zone) // --------------------------------------------------------------------------------------------------------- inSilverBullet = not na(time(timeframe.period, "1000-1100:23456", "America/New_York")) inPMMacro = not na(time(timeframe.period, "1330-1400:23456", "America/New_York")) inOpeningRange = not na(time(timeframe.period, "0930-1000:23456", "America/New_York")) // Background tinting bgcolor(i_showSbWindow and inSilverBullet ? i_sbColor : na, title="10:00 AM Silver Bullet Window") bgcolor(i_showLunchMacro and inPMMacro ? i_pmMacroColor : na, title="13:30 PM PM Macro Window") // --------------------------------------------------------------------------------------------------------- // PREVIOUS DAY HIGH & LOW (PDH / PDL) // --------------------------------------------------------------------------------------------------------- [prevDayHigh, prevDayLow] = request.security(syminfo.tickerid, "D", [high[1], low[1]], lookahead=barmerge.lookahead_on) var line ln_pdh = na var line ln_pdl = na var label lbl_pdh = na var label lbl_pdl = na if i_showPdhPdl and barstate.islast line.delete(ln_pdh) line.delete(ln_pdl) label.delete(lbl_pdh) label.delete(lbl_pdl) ln_pdh := line.new(x1=bar_index - 60, y1=prevDayHigh, x2=bar_index + 15, y2=prevDayHigh, color=i_pdhColor, width=2, style=line.style_dashed) lbl_pdh := label.new(x=bar_index + 16, y=prevDayHigh, text="PDH (BSL) " + str.tostring(prevDayHigh, "#.##"), textcolor=i_pdhColor, style=label.style_label_left, color=color.new(color.black, 100), size=size.tiny) ln_pdl := line.new(x1=bar_index - 60, y1=prevDayLow, x2=bar_index + 15, y2=prevDayLow, color=i_pdlColor, width=2, style=line.style_dashed) lbl_pdl := label.new(x=bar_index + 16, y=prevDayLow, text="PDL (SSL) " + str.tostring(prevDayLow, "#.##"), textcolor=i_pdlColor, style=label.style_label_left, color=color.new(color.black, 100), size=size.tiny) // --------------------------------------------------------------------------------------------------------- // INTRADAY TIME BENCHMARKS (Midnight, 08:30, 09:30) // --------------------------------------------------------------------------------------------------------- var float price_midnight = na var float price_830 = na var float price_930 = na var float or_high = na var float or_low = na t_midnight = not na(time(timeframe.period, "0000-0005:23456", "America/New_York")) t_830 = not na(time(timeframe.period, "0830-0835:23456", "America/New_York")) t_930 = not na(time(timeframe.period, "0930-0935:23456", "America/New_York")) is_new_day = ta.change(time("D")) != 0 if is_new_day price_midnight := na price_830 := na price_930 := na or_high := na or_low := na if t_midnight and na(price_midnight) price_midnight := open if t_830 and na(price_830) price_830 := open if t_930 and na(price_930) price_930 := open // Track Opening Range 09:30 - 10:00 if inOpeningRange or_high := na(or_high) ? high : math.max(or_high, high) or_low := na(or_low) ? low : math.min(or_low, low) // Plot key benchmark lines across the day plot(i_showMidnight and not na(price_midnight) ? price_midnight : na, "Midnight NY Open", color=i_midColor, linewidth=1, style=plot.style_circles) plot(i_show830 and not na(price_830) ? price_830 : na, "08:30 AM Open", color=i_830Color, linewidth=1, style=plot.style_circles) plot(i_show930 and not na(price_930) ? price_930 : na, "09:30 AM Equity Open", color=i_930Color, linewidth=1, style=plot.style_circles) plot(i_showOpeningRange and not na(or_high) ? or_high : na, "09:30-10:00 OR High", color=color.new(#EF4444, 40), linewidth=1, style=plot.style_linebr) plot(i_showOpeningRange and not na(or_low) ? or_low : na, "09:30-10:00 OR Low", color=color.new(#10B981, 40), linewidth=1, style=plot.style_linebr) // --------------------------------------------------------------------------------------------------------- // LIQUIDITY SWEEP RADAR IN SILVER BULLET // --------------------------------------------------------------------------------------------------------- // If in 10:00 AM Silver Bullet and price pierces the 09:30-10:00 Opening Range High or Low bool swept_OR_High = inSilverBullet and not na(or_high) and (high > or_high) and (close < or_high) bool swept_OR_Low = inSilverBullet and not na(or_low) and (low < or_low) and (close > or_low) plotshape(swept_OR_High, "OR High Liquidity Swept", shape.triangledown, location.abovebar, color=#EF4444, size=size.small, text="BUY-SIDE SWEPT") plotshape(swept_OR_Low, "OR Low Liquidity Swept", shape.triangleup, location.belowbar, color=#10B981, size=size.small, text="SELL-SIDE SWEPT") // --------------------------------------------------------------------------------------------------------- // ON-CHART DESK TELEMETRY HUD // --------------------------------------------------------------------------------------------------------- table_pos = i_hudPosition == "Top Right" ? position.top_right : i_hudPosition == "Bottom Right" ? position.bottom_right : i_hudPosition == "Top Left" ? position.top_left : position.bottom_left var table hud = table.new(table_pos, 2, 6, bgcolor=color.new(#030712, 15), border_color=color.new(#1E2D48, 40), border_width=1) if i_showHud and barstate.islast // Header table.cell(hud, 0, 0, "LIQUIDITY EDGE", text_color=#38BDF8, text_size=size.small, text_font_family=font.family_monospace) table.cell(hud, 1, 0, "MACRO RADAR", text_color=#F8FAFC, text_size=size.small, text_font_family=font.family_monospace) // Current Macro Status string macroStatus = inSilverBullet ? "ACTIVE: SILVER BULLET" : (inOpeningRange ? "OPENING RANGE (09:30)" : (inPMMacro ? "ACTIVE: PM MACRO" : "OFF-MACRO WINDOW")) color macroColor = inSilverBullet ? #38BDF8 : (inOpeningRange ? #F59E0B : (inPMMacro ? #A855F7 : #64748B)) table.cell(hud, 0, 1, "Macro Window", text_color=#94A3B8, text_size=size.tiny, text_font_family=font.family_monospace) table.cell(hud, 1, 1, macroStatus, text_color=macroColor, text_size=size.tiny, text_font_family=font.family_monospace) // Distance to PDH float distPdh = prevDayHigh - close table.cell(hud, 0, 2, "Dist to PDH", text_color=#94A3B8, text_size=size.tiny, text_font_family=font.family_monospace) table.cell(hud, 1, 2, (distPdh > 0 ? "+" : "") + str.tostring(distPdh, "#.#") + " pts", text_color=(distPdh > 0 ? #EF4444 : #10B981), text_size=size.tiny, text_font_family=font.family_monospace) // Distance to PDL float distPdl = close - prevDayLow table.cell(hud, 0, 3, "Dist to PDL", text_color=#94A3B8, text_size=size.tiny, text_font_family=font.family_monospace) table.cell(hud, 1, 3, (distPdl > 0 ? "+" : "") + str.tostring(distPdl, "#.#") + " pts", text_color=(distPdl > 0 ? #10B981 : #EF4444), text_size=size.tiny, text_font_family=font.family_monospace) // Midnight Open Bias string midBias = not na(price_midnight) ? (close > price_midnight ? "BULLISH (+)" : "BEARISH (-)") : "N/A" color midColor = not na(price_midnight) ? (close > price_midnight ? #10B981 : #EF4444) : #64748B table.cell(hud, 0, 4, "Midnight Bias", text_color=#94A3B8, text_size=size.tiny, text_font_family=font.family_monospace) table.cell(hud, 1, 4, midBias, text_color=midColor, text_size=size.tiny, text_font_family=font.family_monospace) // Target Rule table.cell(hud, 0, 5, "Silver Bullet Target", text_color=#94A3B8, text_size=size.tiny, text_font_family=font.family_monospace) table.cell(hud, 1, 5, "20.00 pts (80 ticks)", text_color=#38BDF8, text_size=size.tiny, text_font_family=font.family_monospace) // --------------------------------------------------------------------------------------------------------- // ALERTS // --------------------------------------------------------------------------------------------------------- alertcondition(inSilverBullet and not inSilverBullet[1], title="Silver Bullet Macro Started", message="[Liquidity Edge] 10:00 AM NY Silver Bullet Window Activated on {{ticker}}") alertcondition(swept_OR_High, title="Opening Range High Swept", message="[Liquidity Edge] 10:00 AM Buy-Side Liquidity Swept on {{ticker}}. Watch for Bearish IFVG!") alertcondition(swept_OR_Low, title="Opening Range Low Swept", message="[Liquidity Edge] 10:00 AM Sell-Side Liquidity Swept on {{ticker}}. Watch for Bullish IFVG!")