summary: when your algo doesn't trade, the first thing to confirm is which broker platform you're connected to — ProjectX vs. Tradovate / NinjaTrader — because the right contract symbol (and therefore the right fix) depends on it. then work through the 3 diagnostic questions below.
already have an exact error string? jump straight to the algo error message decoder — every common error is indexed there with a direct fix.
first — which broker platform are you on?
before any other troubleshooting, confirm the broker your TradingView alert is routing to. the contract symbol your alert needs to use is different on each platform, and the wrong symbol is the #1 cause of silent algo failures.
ProjectX (includes Topstep, TopstepX, and any other ProjectX-based prop firm) → your alert must be on the continuous contract (e.g.,
NQ1!,ES1!,MGC1!). if your alert is on a specific front-month likeNQM2026, that's your problem — swap it to the continuous symbol.Tradovate (including Apex via Tradovate) → your alert must be on the current front-month contract (e.g.,
NQM2026,ESU2026). if your alert is onNQ1!, that's your problem — swap it to the specific front-month.NinjaTrader → same as Tradovate. current front-month contract, not continuous.
rule of thumb: Tradovate / NinjaTrader = front-month. ProjectX = continuous.
if your alert symbol matches the rule for your platform, move on to the 3 diagnostic questions below. if it doesn't — fix the symbol first, then send a test alert and confirm it routes through. for the full breakdown, see which broker accounts work with edgeful algo automation? and futures contract rollovers.
3 questions to diagnose the issue
when a trade doesn't execute, the problem is always in one of 3 places. work through these in order:
1. did the trade get visualized on TradingView?
open your TradingView chart with the algo indicator applied. can you see entry, take profit, and stop loss levels plotted for the session in question? if not, verify that the algo's settings and filters are configured correctly. ensure the current market data meets the criteria you've set, such as timeframes, symbols, and entry/exit filters. the algo will only visualize trades that fit your configured criteria.
2. did you receive an alert from TradingView?
open TradingView's alerts panel (clock icon on the right sidebar) and check the log tab. does the alert for that trade appear? the log tells you whether TradingView itself triggered the alert — which is different from whether edgeful received it. see reading the TradingView alert log for a walkthrough of what each column means.
3. is the trade listed in edgeful's automation notifications?
go to the trade notifications page in edgeful. do you see an entry for that trade?
what your answers mean
no visualization on chart → algo settings or wrong contract
if the trade isn't even showing on your chart, the algo couldn't determine a valid trade using your current settings. this is the most common scenario — and the easiest to fix. the 4 biggest causes: (a) your filter min/max excludes the actual range, (b) you're on the wrong session or the session's size distribution is different from what your filter expects, (c) your chart is on the wrong contract for your broker platform (see the platform rule above), or (d) you're on a stale front-month after a rollover (Tradovate / NinjaTrader only).
→ follow: no trade visualized on your chart
visualization exists but no alert → alert configuration issue
the algo found a valid setup and plotted it on your chart, but TradingView didn't trigger an alert. this means there's a mismatch between your algo settings and your alert configuration — the alert is locked to the indicator settings from when it was created, and editing the indicator doesn't update old alerts. on Tradovate / NinjaTrader, contract rollovers also invalidate alerts because the alert is tied to the specific front-month symbol at creation time.
→ follow: TradingView alert didn't fire
→ also: reading the TradingView alert log — how to prove whether an alert triggered at all
alert triggered but no edgeful notification → webhook issue
the alert triggered in TradingView (you can see it in the alerts log), but nothing showed up in edgeful's trade notifications. this means the webhook URL isn't connecting TradingView to edgeful properly.
what if there IS a notification but the trade still didn't execute?
if the trade shows up in edgeful's notifications but wasn't executed by your broker, the issue is downstream — broker connection, margin, account limits, or a contract-symbol mismatch with the broker. check for a "REJECTED" status in the notification log. the reason will be listed there.
common causes: broker disconnected, insufficient margin, contract mismatch (e.g., continuous symbol routed to Tradovate, or specific front-month routed to ProjectX), or account position limits (especially on prop firm accounts).
for the exact error string you're seeing in the notification log — "rejected," "failed," "pending," "contract not found," "cannot sell when position is 0," etc. — use the algo error message decoder. each error has its own section with a direct fix.
if the rejection message says "Tradovate rejected your trade. Please go into your Tradovate dashboard and check the order rejection reason" — that means the rejection reason lives inside Tradovate, not edgeful. see "Tradovate rejected your trade" — how to find the rejection reason and fix it for the full walkthrough on pulling up the reason in your Tradovate dashboard and the most common fix.
the 4 stealth pitfalls that burn time
once you know which of the 3 paths applies, there are a few specific failure modes that cause the most confusion. worth knowing they exist up front:
wrong contract symbol for your broker. ProjectX needs continuous (
NQ1!); Tradovate / NinjaTrader need a specific front-month (NQM2026). the wrong one routes silently or gets rejected with no obvious warning.filter min is inclusive, max is exclusive. a range of 0.00–0.50 covers 0.00 through 0.49 — a range of exactly 0.50 does NOT match. see how size thresholds work.
session-specific filter tuning. filters calibrated for NY will silently exclude most London or Asian setups — range distributions are structurally different per session. see re-tune filters when you change sessions.
contract rollover invalidates TradingView alerts (Tradovate / NinjaTrader only). TV alerts lock to the contract symbol at creation. when NQ/ES/MES/MNQ rolls to the next quarter, old alerts point at an expired symbol and silently stop triggering. delete and recreate each quarter. ProjectX users on continuous symbols don't have this problem. see futures contract rollovers.
still stuck?
if you've worked through the steps above and the issue isn't resolved, reach out via the in-app chat in edgeful. include: which broker platform you're on (ProjectX vs. Tradovate / NinjaTrader), the contract symbol your alert is on, which of the 3 diagnostic questions you got stuck on, and any screenshots from TradingView or the edgeful notification log — it'll help the team diagnose faster.
