Signal Analyzer Guide

"Plans fail for lack of counsel, but with many advisers they succeed." — Proverbs 15:22

The PBF Signal Analyzer (V5 Beta) is a real-time NQ futures setup detector running inside NinjaTrader 8. It scores every potential setup across 8+ confluences, flags hard-block conditions, and surfaces highest-conviction signals during the kill zone — the 9:45–11:00 ET window where most of the day's edge lives.

Contents

  1. What It Does
  2. Installation & Activation
  3. Signal State Progression
  4. Tier System
  5. Score Breakdown (Full Weight Table)
  6. Setup IDs
  7. Time Filters
  8. Conflict Flags & Hard Blocks
  9. ATM Strategy Templates
  10. Kill Zone Strategy (9:45–11:00)
  11. V5 Quality Strip
  12. 1M Sniper Note
  13. Key Settings Reference
  14. HIT / STOPPED Trade Summary Card
  15. EMA200-BOUNCE + FAILED-ENGULF Setups
  16. ES Correlation Scoring
  17. Live VIX in the Quality Strip
  18. Golden Rules

What It Does

Installation & Activation

Full walkthrough in Getting Started. Quick path:

  1. Download PBFIndicators.zip from your account
  2. NT8 → Tools → Import → NinjaScript Add-On → select the ZIP
  3. Add PBFSignalAnalyzerV5Beta to your NQ 5-minute chart
  4. First load opens browser to profitbyfaith.com/activate → click Approve → indicator unlocks within 15 seconds
Chart requirement: The Signal Analyzer is designed for a 5-minute NQ continuous contract (@NQ). It pulls daily and weekly data internally — you do not need separate timeframe panels.
Tick Replay not required: PBF Signal Analyzer ships its own delta computation (bar-direction proxy when real tick data isn't available, real bid/ask delta the moment live ticks arrive). Do not enable Tick Replay on your chart — it dramatically increases load time and memory use without improving signal quality. When the DELTA tile shows a small proxy badge, the proxy is active; when live ticks are flowing, the badge disappears and you're on real tick delta.

Signal State Progression

Every signal moves through a defined state machine. You cannot be in two states at once.

WAITING WATCHING APPROACHING ACTIVE HIT ✓ or STOPPED ✗
StateMeaningYour action
WAITINGPre-market or ORB building (9:30–9:45)Do nothing — indicator is arming
WATCHINGORB is set, scouting for setupsEyes on screen, ATM template selected
APPROACHINGPrice within 3 pts of a key levelHand on ATM — prepare to execute
ACTIVESignal fired — trade is liveExecute or pass within 3 seconds
HIT ✓Target reached — overlay shows trade summary card (entered → exited, P&L pts)Congratulations — resets to WATCHING in ~30 seconds (live) or 1 bar (backtest)
STOPPED ✗Stop hit — overlay shows trade summary card with loss detailStep away 2 min — tilt kills accounts. Resets in ~30 sec
3-Second Rule: When ACTIVE fires, you have ~3 seconds to decide. Tier A or B = take it. C = only if the quality strip has 3+ green cells. If you're not sure in 3 seconds, skip it — the next one is coming.

Tier System

TierScoreLabelEst. Win RateAction
A ★75+STRONG~62%Take — use runner template (FUND-2C / EVAL-2C)
B65–74MODERATE~55%Take — standard template (CORE / EVAL-1C)
C55–64MOD/WEAK~48%Selective only — skip if any conflict active
<55FilteredIndicator does not fire — no action

Est. win rate = score × 0.72 + 8 (backtested estimate, not a guarantee)

Score Breakdown — Full Weight Table

Every potential setup is scored 0–100+. The final score is capped and mapped to tier. Hard blocks can override any score.

ConfluencePointsNotes
EMA 200 align (price side = direction)+15Macro trend confirmed
Counter-EMA−15Against macro trend — hard filter if enabled
MTF EMA 15m align+1015-min timeframe agrees
Counter-MTF 15m−10Hard filter condition if combined with counter-EMA
VWAP align+10Price on correct side of intraday fair value
Counter-VWAP−8Soft conflict — still fires if score high enough
POC proximity+10Setup at or near volume-weighted anchor
Value Area (VAH/VAL)+8Setup at VA edge — high conviction breakouts
Opposing Value Area−10Value area is working against the setup
Initial Balance (IB H/L)+6IB confluence — first 60 min range
Prior Day High / Low+8PDH/PDL — major daily magnets
Pre-Market High / Low+8PMH/PML — overnight battlefield
ATR quality (range supports R:R)+6Room to target within the session range
ATR too tight−10Not enough range to reach target without stop
FVG nearby (Fair Value Gap)+6Structural magnet in direction of trade
Cumulative Delta align+8Order flow confirms direction
Counter-Delta−8Order flow opposing — reduces conviction
RVOL ≥ 1.5×+12Strong volume — breaks are sustained
RVOL ≥ 1.2×+6Active volume
RVOL < 0.8×−12Thin volume — flag as Low RVOL conflict
Kill Zone (9:45–11:00)+5Prime window bonus
Power Hour (15:00–16:00)+3Secondary window bonus
Lunch (12:00–14:00)−15Chop penalty — <65 signals blocked
Session momentum+5Trending day confirmation (RVOL + directional bias)
EMA 200 touch + hold (NEW)+12Any setup where bar wick touched EMA 200 zone and close held above/below — adds to any setup type
ES EMA 200 bias agrees (NEW)+8ES 5-min EMA 20 is on same side of EMA 200 as NQ direction — macro alignment confirmed
ES EMA 200 diverges (NEW)−8ES trend opposes NQ direction — adds "ES Divergence" conflict chip
ES session momentum agrees (NEW)+5ES EMA 20 position relative to EMA 200 confirms NQ trade direction
Hard blocks override score entirely. Counter-EMA + Counter-MTF together, or RTH + Rolling Delta both ≥300 contracts opposing, or an opposing volume profile within stop distance — any of these kill the signal regardless of how high the score is.

Setup IDs

Each signal carries a setup ID that tells you exactly what the indicator detected:

Setup IDDescription
ORB-BREAK-LONGBreak above ORB high with volume confirmation
ORB-BREAK-SHORTBreak below ORB low with volume confirmation
VAH-RETESTValue Area High acting as support on pullback
VAL-RETESTValue Area Low bounce (prior resistance → support)
PDH-RETESTPrior Day High — major daily level test
PDL-RETESTPrior Day Low — major daily level test
VWAP-BOUNCEIntraday fair-value reversion
EMA-PULLBACKEMA 200 continuation — trend pullback entry
PMH-RETESTPre-Market High test after RTH open
PML-RETESTPre-Market Low test after RTH open
IB-REJECTPrice wicked outside IB but closed back inside — rejection from the boundary
EMA200-BOUNCE (NEW)Price in trend, bar wick touched the EMA 200 zone (±8 ticks) and close held above/below — high-conviction continuation entry
FAILED-ENGULF (NEW)Outside Bar Trap (Al Brooks): bar[2] makes a strong directional move, bar[1] fully body-engulfs it in the opposite direction — trap and reversal

Time Filters

WindowET HoursScore Effect
PRE_MARKET4:00 – 9:30No signals — indicator in WAITING state
ORB9:30 – 9:45WAITING — ORB building, no signals fire
KILL_ZONE9:45 – 11:00+5 bonus ★ — primary session
MORNING11:00 – 12:00Normal — no adjustment
LUNCH12:00 – 14:00−15 penalty · signals <65 blocked
AFTERNOON14:00 – 15:00Normal — no adjustment
POWER_HOUR15:00 – 16:00+3 bonus — secondary session

Conflict Flags & Hard Blocks

Conflict chips appear in the web app's conflict banner. Multiple chips = reduced conviction.

FlagMeaningSeverity
Counter-EMADirection opposes EMA 200 macro trendHard filter — skip
Counter-MTFAgainst 15-minute EMA trendHard filter when combined with Counter-EMA
Counter-VWAPBelow/above intraday fair valueSoft — reduce size
Counter-deltaRTH + rolling delta both oppose directionStrong warning — hard block if ≥300 contracts
Low RVOL [x]Volume below 0.8× averageSoft on retests, hard on breaks
VIX [x] high riskVIX ≥ 30Reduce size — volatility unpredictable
VIX [x] elevatedVIX 25–29Caution — consider LV templates
Lunch12–2 PM chop window activeSkip unless score > 75
Multiple conflicts stack: two soft conflicts = treat as hard. Three or more = skip the signal regardless of score.

ATM Strategy Templates

11 NinjaTrader ATM templates ship with the package. All respect the $200/contract hard stop guardrail.

Quick Selection Matrix

ConditionFunded AccountEval Account
market_chop: trueCHOPCHOP
ATR > 25 pts (High Vol)HV-2CHV-1C
ATR < 12 + RVOL < 0.7 (Low Vol)LV-2CLV-1C
STRONG signal · Tier A/BFUND-2CEVAL-2C
MODERATE · Tier A/BCOREEVAL-2C
MODERATE · Tier CFUND-1CEVAL-1C
Weak or uncertainLOCKEVAL-1C

Full ATM Reference

TemplateAccountConditionStopT1T2R:R
EVAL-1CEvalNormal40t / $200120t / $6001:3
EVAL-2CEvalNormal40t / $20080t / $400180t / $9001:2 / 1:4.5
FUND-1CFundedNormal40t / $200180t / $9001:4.5
FUND-2CFundedNormal40t / $20080t / $400240t / $1,2001:2 / 1:6
COREFundedStandard40t / $20080t / $400200t / $1,0001:2 / 1:5
LOCKAnyTrending36t / $18072t / $360160t / $8001:2 / 1:4.4
HV-1CAnyATR >2540t / $200240t / $1,2001:6
HV-2CFundedATR >2540t / $200100t / $500300t / $1,5001:2.5 / 1:7.5
LV-1CAnyATR <1228t / $14080t / $4001:2.9
LV-2CAnyATR <1228t / $14056t / $280120t / $6001:2 / 1:4.3
CHOPAnyRanging24t / $12048t / $2401:2

Hard rule: $200 max per contract = 40 ticks. HV templates keep the same stop — the wider targets capture the volatility premium without increasing risk.

Kill Zone Strategy (9:45–11:00)

This is your primary session. The indicator is tuned specifically for this window. Do not trade outside 9:45–10:45 unless you have a specific reason and a high-conviction setup.

Expected Signal Cadence

TimeExpected
9:45Signal 1 — ORB just set, first setup fires
~10:00Signal 2 — HIT/STOP on Signal 1, 5-min reset, re-arm
~10:15Signal 3
~10:30Signal 4
10:45Done — stop trading

4–5 quality signals per session is the target. The indicator fires as many as the market produces. You manage your per-account daily limits independently.

Entry Ladder

EntryDescriptionBest?
Entry 1Sniper — at the level, before the breakBest R:R ✓
Entry 2Chase — beyond the break, momentum confirmationOK — costs R:R
Entry 3ORB retest — pullback to ORB level after initial breakBest R:R ✓ — hardest to catch
Re-EntrySecond look after a stop — only if setup still validUse sparingly
Entry 1 or Entry 3 is always your best trade. Never chase Entry 2 on a Tier C signal — two compromises stacked equals a bad trade.

V5 Quality Strip

The strip shows 6 cells above the entry ladder. 3+ green = full conviction. 2 = normal. ≤1 = pass or reduce size.

CellGreen meansDim/Red means
RVOLVolume confirms the moveThin — caution on breaks
MTF EMA15-min trend agrees with directionCounter-trend — reduce size
DELTAOrder flow confirms direction (shows proxy badge when Tick Replay is off)Fading — watch for early exit opportunity
FVGUnfilled gap nearby in directionNo structural magnet — target may not fill
TIMEKill zone activeLunch chop — penalty applied to score
VIX (NEW)Green (VIX 12–18): calm trending conditionsOrange (18–25): elevated — consider reducing size. Red (25+): high vol, tight stops only. Shows MAN badge when using manual override. Blank during backtest unless ManualVIX is set.

1M Sniper Note

Every ACTIVE signal includes a trigger_note field. This converts the 5-min setup into a precise 1-minute chart entry.

Example: "1m: wait for 1-min close above 28782.50, then retest hold for sniper entry."

Use this every time. It gives you a better fill and tighter risk than entering on the 5-min close alone.

Key Settings Reference

SettingDefaultWhat it controls
StopTicks40Fallback fixed stop (only used when EnableAtrStop=false). 40 ticks = 10 pts = $200/contract
EnableAtrStoptrueAdaptive stop sizing per volatility — recommended over fixed StopTicks
AtrStopMult / MinStopTicks / MaxStopTicks1.05 / 10 / 28ATR multiplier with 2.5pt floor and 7pt cap (~$140 risk @ 1c NQ)
TargetRR2.0Baseline R:R (scalp tune). ATM templates override this live
MinFireScore53Minimum score to fire (below = filtered). Lowered from 60 → 53 in 2026-05-11 scalp tune so C-tier+ is visible
ApproachTicks7 (~1.75 pts)Distance from level that triggers APPROACHING state. Lowered from 12 → 7 (scalp tune)
CooldownBars1 (5 min)Minimum wait between any two signals
HitResetBars1Backtest only: bars to show the HIT/STOPPED card before re-arming. In live mode, the indicator resets after 30 seconds regardless of bar close.
ManualVIX0 (auto)Set to 0 for live auto-poll of /api/vix every 5 min. Paste a value (e.g. 18.5) to override — useful in backtest where auto-poll is disabled.
EnableESCorrelationtrueLoads a secondary ES 5-min data series. ES EMA 20 vs EMA 200 cross scores ±8 pts (bias) + ±5 pts (session momentum) to the active setup.
ESSymbol@ESES continuous contract symbol. If @ES isn't in your Instrument Manager, use the front-month (e.g. ES 06-26). Rolls quarterly.
SetupRearmBars4 (20 min)Same specific setup (e.g. ORB-BREAK-LONG) refire delay
MinRVOLForBreak0.70Minimum RVOL for break setups (trending days have lagging RVOL)
CounterDeltaHardBlockMin300Both delta readings ≥ this magnitude opposing = hard block. Set 0 to disable
EnableHardFiltertrueMaster switch for all hard-block conditions
HttpPort8081Must match your cloudflared tunnel config
OutputPathG:\…\Telemetry\Relocated 2026-05-13 from C:\PBF\ to Google Drive for auto-backup. Falls back to C:\PBF\Telemetry-fallback\ on IOException after 3 retries.
DollarPerPoint20NQ is $20/pt. Change for MNQ ($2/pt) or other instruments
SheetsLogUrl(blank)Paste your Apps Script URL here to enable Google Sheets logging

Session-Adaptive Scoring (NEW · 2026-05-13)

The indicator now flexes its fire threshold and approach distance by session phase. KILLZONE (9:30–11:00 ET) and POWER_HOUR (15:00–16:00 ET) loosen; LUNCH (12:00–14:00 ET) tightens. Shadow variables reset to your user-set baseline every bar — no ratcheting across phases.

SettingDefaultEffect
EnableSessionAdaptivetrueMaster switch. Off = use raw MinFireScore/ApproachTicks always.
KillzoneMinScore48Lower threshold during momentum phases. Uses min(MinFireScore, KillzoneMinScore) — never raises.
LunchMinScore62Higher threshold during chop. Uses max(MinFireScore, LunchMinScore) — never lowers.
KillzoneApproachTicks / LunchApproachTicks6 / 12Faster trigger in momentum (6) / slower in chop (12).

JSON snapshot now includes eff_min_fire_score, eff_approach_ticks, and session_adaptive.

Daily Discipline Caps (NEW · 2026-05-13)

Three optional rails that freeze NEW fires for the rest of the day when a daily limit is hit. OFF by default. Built for prop accounts (Apex, TPT, MFFU, Tradeify) where one bad day busts the eval. ACTIVE/HIT/STOPPED transitions on already-fired signals are unaffected.

SettingDefaultRecommended (prop)Behavior
EnableDailyCapsfalsetrueMaster switch.
DailyMaxFires0 (unlimited)5Hard cap on signals per session.
DailyTargetR0+4RFreeze after day's realized R reaches +X. Lock the win.
DailyMaxLossR0−2RFreeze after day's realized R drops to −X. Stop revenge trading.

NT8 Output window prints which cap fired and why. JSON exposes daily_r, daily_caps_tripped, daily_cap_reason ("MAX_FIRES" / "TARGET_R" / "MAX_LOSS_R").

Why this matters for prop accounts: Prop accounts blow from giving back winners or revenge-trading losers — not from individual bad setups. Code-level rails enforce what discretionary discipline can fail under stress.

HIT / STOPPED Trade Summary Card (NEW · 2026-05-14)

When a trade closes — whether the target was reached or the stop was hit — the entry ladder is replaced by a compact trade summary card. This prevents confusion: those levels are from a completed trade, not a new signal to act on.

ElementWhat it shows
Tier rowShows ✓ Trade Closed · Profit (green) or ✗ Trade Closed · Stopped (red). No tier grade, no GET READY label.
Summary cardEntered → Target Hit / Stop Hit · P&L (pts) — e.g. "Entered 19574.50 → Target Hit 19588.50 | +14.00"
Reset timingLive: card auto-clears in ~30 seconds, then WATCHING resumes hunting for the next setup. Backtest: clears after 1 bar (bar-based so Market Replay doesn't flash past it).
Distance chipHidden during HIT/STOPPED — only appears when a new setup is approaching.
Why this matters: Before this change, the overlay kept the old Entry 1/2, Target, Stop values lit up in green and red during HIT state — indistinguishable from an active signal. Traders were either ignoring real GET READY signals or taking ghost entries on completed trades.

EMA200-BOUNCE + FAILED-ENGULF Setups (NEW · 2026-05-14)

Two new setup types added to the detection engine. Both can generate A-tier signals when confluence is high.

EMA200-BOUNCE

Detects when price is in a trend, pulls back to touch the EMA 200 zone (±2 pts), and the bar closes holding above/below it. This is the highest-conviction continuation pattern — price respected the macro level and rejected it cleanly.

Why this was missing before: The indicator had EMA alignment scoring (+15 when price is on the right side) but never detected the specific touch-and-hold pattern. A bar that dipped to EMA then ripped scored 0 and showed no signal. This fixes that.

FAILED-ENGULF (Outside Bar Trap)

Detects Al Brooks' "Outside Bar Trap" — where a strong directional bar is immediately followed by a larger bar that fully body-engulfs it in the opposite direction. The first bar's traders are trapped.

ES Correlation Scoring (NEW · 2026-05-14)

The indicator loads a secondary ES (S&P 500 futures) 5-minute data series and uses the relationship between ES EMA 20 and EMA 200 as a macro bias filter on every NQ setup.

ConditionScore effectLogic
ES EMA 20 above EMA 200 (bull) + NQ BUY setup+8 +5 = +13ES trending up, NQ setup is with the tide — max bonus
ES EMA 20 below EMA 200 (bear) + NQ SELL setup+8 +5 = +13ES trending down, NQ sell setup confirmed
ES EMA 20 above EMA 200 (bull) + NQ SELL setup−8NQ is selling against a bullish ES — adds "ES Divergence" conflict chip
ES EMA 20 below EMA 200 (bear) + NQ BUY setup−8Buying NQ against bearish ES — adds "ES Divergence" chip
ES data unavailable / indicator not loaded0Neutral — scoring proceeds without ES factor. es_corr_ok: false in JSON.
Setup: In indicator properties under Group 6 - Market Context, set EnableESCorrelation = true and ESSymbol to the front-month contract in your Instrument Manager (e.g. ES 06-26). If the symbol isn't found, ES scoring silently disables — the indicator still loads and all other scoring works normally. The VIX strip cell shows es_corr_ok status; the score breakdown panel shows an ES pill with the ± points when active.

Live VIX in the Quality Strip (NEW · 2026-05-14)

The VIX tile polls profitbyfaith.com/api/vix every 5 minutes in the background and displays live volatility in the quality strip. No manual paste needed in live trading.

Golden Rules

  1. Wait for APPROACHING before you prep. Don't anticipate the signal — let the app tell you when to get ready.
  2. Tier A + STRONG + 3 green strip cells = your best trade of the week. This is the one to size up on (within guardrails).
  3. Never chase Entry 2 on a Tier C signal. Two compromises stacked = bad trade.
  4. Use the 1M Sniper note every time. It converts the 5-min setup into a precise 1-min entry with better fill.
  5. Delta confirms — it doesn't signal. The app signals. Delta validates your conviction.
  6. The app manages the signal. You manage the money. ATM handles exits. Your only decision is yes or no at entry.
  7. Multiple accounts = same signal, different ATM templates. Route each account to the right template independently.
  8. After a stop, wait the 5 minutes. Revenge trading is the fastest way to blow a funded account.
Educational tool only. The Signal Analyzer is a trading education and analysis platform — not financial advice. Past performance does not guarantee future results. Trading futures involves substantial risk and is not suitable for every investor.