Every signal the strategy sent, and exactly what the broker did with it.
Taken from the broker's own deal history — not from TradingView's messages, which carry one alert for both legs of an exit and so cannot tell a stop-out from a take-profit. Planned is the price your strategy sent; filled is what the broker gave.
| Time | Window | Planned | Filled | Slippage | Exit | Realised |
|---|---|---|---|---|---|---|
| No strategy signals executed yet. The pilot is armed and waiting for its first macro window. | ||||||
Nothing here yet. 4 hand-fired test trades are excluded on purpose: they proved the machinery, and counting them as your strategy's results would flatter or damage the record without meaning either.
What the relay did with each message before the executor ever saw it. Times are the relay's, which is the only clock in this chain that is both trusted and shared. ⚠ A rejected message is a missed trade, and a missed trade looks exactly like a quiet market — so each one is listed rather than counted.
| Time | Instance | Message | Outcome | Why |
|---|---|---|---|---|
| 15 Sep 19:46:29UTC | ustec3m | buy | Accepted | |
| 15 Sep 17:36:50UTC | ustec3m | — | Rejected | the day's trade budget was already spent daily_ceiling |
| 15 Sep 17:36:38UTC | eurusd3m | flatten | Accepted | |
| 15 Sep 17:36:03UTC | ustec3m | — | Rejected | the day's trade budget was already spent daily_ceiling |
| 15 Sep 13:58:19UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:57:32UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:55:33UTC | eurusd3m | — | Rejected | the day's trade budget was already spent daily_ceiling |
| 15 Sep 12:53:16UTC | eurusd3m | — | Rejected | the day's trade budget was already spent daily_ceiling |
| 15 Sep 12:53:12UTC | eurusd3m | flatten | Accepted | |
| 15 Sep 12:47:22UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:33:26UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:15:41UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:13:28UTC | eurusd3m | flatten | Accepted | |
| 15 Sep 12:11:30UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:11:29UTC | eurusd3m | buy | Ignored as a duplicate | |
| 15 Sep 12:11:28UTC | eurusd3m | buy | Ignored as a duplicate | |
| 15 Sep 12:11:28UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:05:39UTC | eurusd3m | buy | Accepted | |
| 15 Sep 12:01:18UTC | eurusd3m | buy | Accepted | |
| 14 Sep 23:22:10UTC | eurusd3m | buy | Ignored as a duplicate | |
| 14 Sep 23:22:10UTC | eurusd3m | buy | Accepted | |
| 14 Sep 23:22:08UTC | nq3m | — | Rejected | the message arrived with no content empty_body |
| 14 Sep 23:22:08UTC | nq3m | — | Rejected | the shared secret did not match bad_secret |
| 14 Sep 11:39:54UTC | nq3m | buy | Ignored as a duplicate | |
| 14 Sep 11:39:53UTC | nq3m | buy | Accepted | |
| 14 Sep 11:39:52UTC | nq3m | — | Rejected | the message arrived with no content empty_body |
| 14 Sep 11:39:51UTC | nq3m | — | Rejected | the shared secret did not match bad_secret |
⭐ Read straight out of your Pine source, not retyped — so the defaults column cannot drift from the strategy. TradingView offers no way to read an alert's settings back, so the 14 marked rows are the only hand-entered part of this table and the part worth checking. Not one line of your Pine was modified; the bridge reads the plan your strategy already emits.
| Setting | Your default | Running as |
|---|---|---|
| Strategy Settings | ||
| Position Sizing | Fixed | Fixed |
| Contracts (Fixed) | 3 | 3 |
| Risk % (of Equity) | 1.0 | 1.0 |
| Scale Out (Partial TPs)? | true | true |
| Single TP Target | 2:1 | 2:1 |
| Move SL to Breakeven | After 1:1 | After 1:1 |
| Max Trades Per Day | 7 | 4 changed |
| Max Trades Per Macro Window | 1 | 1 |
| Close at End of Day? | true | true |
| Allow Longs? | true | true |
| Allow Shorts? | true | true |
| Use Date Filter? | true | true |
| Start Date | timestamp("2026-01-01 00:00 +0000") | timestamp("2026-01-01 00:00 +0000") |
| End Date | timestamp("2026-12-31 23:59 +0000") | timestamp("2026-12-31 23:59 +0000") |
| Webhook Alerts | ||
| Enable Webhook Alerts? | false | true changed |
| Ticker Symbol | NQM2026 | US100 changed |
| Signal Settings | ||
| Bars After Macro For Signal | 6 | 6 |
| FVG Size Filter (ATR)? | true | true |
| Min Gap (×ATR14) | 0.23 | 0.23 |
| FVG Validity (Bars) | 400 | 400 |
| Mitigation Level | 50% | 50% |
| Displacement Filter | ||
| Enable Displacement Filter? | true | true |
| Min Body % of Range | 0.60 | 0.60 |
| Min Body vs Avg Body (×) | 1.60 | 1.60 |
| Avg Body Lookback | 20 | 20 |
| Signal Cooldown | ||
| Enable Cooldown? | true | true |
| Cooldown (Bars) | 10 | 10 |
| Liquidity Sweep | ||
| Enable Sweep Filter? | true | true |
| Sweep Threshold (×ATR14) | 0.0 | 0.0 |
| Sweep Mode | Aligned | Aligned |
| Require Sweep Rejection? | false | false |
| Asia H/L | true | true |
| London H/L | true | true |
| NY Open | true | true |
| Midnight | true | true |
| CISD Filter | ||
| Enable CISD Filter? | true | true |
| Trade Setup | ||
| Entry Mode | IFVG Edge | IFVG Edge |
| SL Buffer (×ATR14) | 1.95 | 1.95 |
| Performance Tables | ||
| Show Results Table? | true | true |
| Show Per-Macro Breakdown? | true | true |
| Macros | ||
| 00:50-01:10 | false | false |
| 01:50-02:10 | false | false |
| 02:50-03:10 | false | false |
| 03:50-04:10 | true | false changed |
| 04:50-05:10 | false | false |
| 05:50-06:10 | false | false |
| 06:50-07:10 | false | false |
| 07:50-08:10 | true | false changed |
| 08:50-09:10 | false | false |
| 09:20-09:40 | false | true changed |
| 09:50-10:10 | true | false changed |
| 10:50-11:10 | true | false changed |
| 11:50-12:10 | false | false |
| 12:50-13:10 | true | false changed |
| 13:50-14:10 | false | false |
| 14:50-15:10 | false | true changed |
| 15:15-15:45 | false | false |
| 15:50-16:10 | false | false |
| 16:50-17:10 | false | false |
| 17:50-18:10 | false | false |
| 18:50-19:10 | false | true changed |
| 19:50-20:10 | false | false |
| 20:50-21:10 | true | false changed |
| 21:50-22:10 | false | false |
| 22:50-23:10 | false | true changed |
| 23:50-00:10 | true | false changed |
Each finding recomputes from the records on every rebuild, heading included. ⚠ The reasoning behind them does not — it updates its numbers but cannot notice something nobody has looked for.
Every closed trade on record - 4 of them - was hand-fired to prove the plumbing, and all are excluded below. The link from TradingView to this system is the one part that has never been observed carrying a real signal. Until it does, this page reports on machinery, not on a strategy.
8 fills and closes recorded, 6 plans refused by the executor, 8 rejected at the relay before the executor saw them. ⭐ Each refusal was a designed stop exercised on purpose during testing — a stale plan, a stop the broker's minimum distance would not accept, a budget already spent, a bad secret. The alternative in each case was trading something other than what the strategy chose. That every one of them fired, and refused rather than adjusted, is the evidence this section can offer today.
A live run is only meaningful against a prior, and none has been established here: this strategy has not been backtested on our side, so there is no expectation for these figures to confirm or contradict. ⭐ You have the strategy tester and the history we do not - a run on the same instrument, timeframe and four windows would give this page the baseline it is currently missing. Until then, treat every number here as a measurement of execution and none of it as evidence about edge.
Four hops. Your script owns the first and nothing after it.
⭐ The relay is yours to own, not ours to rent you. Everything on this page runs on infrastructure you would control.
The relay is a free Cloudflare account and four commands. Your account, your URL, your secrets. Nothing runs on our side, and nothing breaks if we disappear.
The executor is a single file. It drops into MetaTrader's Experts folder and attaches to a chart. Its risk settings are a text file it re-reads every thirty seconds, so they change without a dialog and without a restart.
The alert message is a wrapper around your own. ⭐ That is why your Pine needs no changes at all — TradingView substitutes your strategy's JSON inside it.