Every signal the strategy sent, and exactly what the broker did with it.
⭐ What this measures is execution fidelity — whether the trade your broker actually took matches the trade your strategy intended. Where the fill landed against the price you sent, whether the stop ended up the distance you asked for, whether a third really came off at each target.
⛔ It is not measuring whether the strategy makes money, and at 5 closed trades it could not. Every figure below is a measurement of the plumbing; the assessment section says plainly where that stops and what a real sample would need.
Everything else on this page is current state. This is the sequence — ⭐ built from the trade record and the configuration history, so it cannot drift from what actually happened.
| When | What |
|---|---|
| 18 Sep 07:11 | best trade so far — +2.13R, +367.70 |
| 18 Sep 06:20 | first stop moved to breakeven |
| 18 Sep 03:31 | first signal from the 03:50 window |
| 17 Sep 18:15 | first signal from the 18:50 window |
| 16 Sep 08:50 | first target filled — a third closed at tp1 |
| 16 Sep 08:48 | first signal from the 09:20 window |
| 15 Sep 22:24 | first signal from the 22:50 window |
| 15 Sep 19:00 | Nasdaq 3-minute started — VANTAGE:NAS100 on NAS100, 7 windows |
| 15 Sep 19:00 | Nasdaq 3-minute (retired) retired |
| 14 Sep 19:00 | Nasdaq 3-minute (retired) started — CAPITALCOM:US100 on USTEC, 4 windows |
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 | Instrument | Window | Dir | Planned | Filled | Slip | Exit | Risk asked | Risk taken | Held | Why | R | P&L | Running |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 18 Sep 13:23 Cayman | NAS100 | 09:20 | short | 29470.56 | 29466.56 | 4 | 29523.33 | 52.77 | 56.77 | 4h 19m | stop hit, after taking a target | -0.42R | -111.90 | +61.04 |
| 18 Sep 07:11 Cayman | NAS100 | 03:50 | short | 29631.31 | 29634.31 | -3 | 29527.72 | 34.53 | 31.53 | 3h 40m | final target hit | +2.13R | +367.70 | +172.94 |
| 17 Sep 22:07 Cayman | NAS100 | 18:50 | short | 29430.56 | 29430.31 | 0.25 | 29454.33 | 23.77 | 24.02 | 3h 51m | stop hit, after taking a target | -0.37R | -44.55 | -194.76 |
| 16 Sep 09:02 Cayman | NAS100 | 09:20 | long | 29143.34 | 29162.64 | 19.3 | 29162.64 | 51.23 | 70.53 | 14 min | scratched at breakeven | +0.00R | +52.64 | -150.21 |
| 15 Sep 22:36 Cayman | NAS100 | 22:50 | long | 29071.1 | 29069.14 | -1.96 | 29028.57 | 42.53 | 40.57 | 12 min | stop hit | -0.95R | -202.85 | -202.85 |
5 trades, +61.04 in total. Best +367.70, worst -202.85. Far too few trades to mean anything about the strategy — they are here because execution accuracy is only worth reading next to what it cost.
⭐ The table above is the outcome; this is the working. For a strategy that scales out in thirds, the outcome alone hides most of what happened — when a third came off, when the stop moved and to where, what the remainder closed at. Straight from the executor's own records; nothing here is derived.
| Time | Leg | Lots | Price | Detail |
|---|---|---|---|---|
| 09:03:57 | opened short | 5 | 29466.56 | planned 29470.56, filled 29466.56 (+4.00 points) · stop 29523.33462248 |
| 11:23:47 | target tp1 filled | 1.6 | 29416.36 | a third closed, the rest runs on |
| 13:23:04 | stop hit, after taking a target | 29523.33 | P&L -111.90 · -0.42R |
| Time | Leg | Lots | Price | Detail |
|---|---|---|---|---|
| 03:31:00 | opened short | 5 | 29634.31 | planned 29631.31, filled 29634.31 (-3.00 points) · stop 29665.83888338 |
| 04:37:20 | target tp1 filled | 1.6 | 29596.61 | a third closed, the rest runs on |
| 06:20:54 | target tp2 filled | 1.6 | 29561.86 | a third closed, the rest runs on |
| 06:20:58 | stop moved to breakeven | 29634.31 | from 29665.83888338 · 7195 points clear of the market · after 2 target(s) | |
| 07:11:59 | final target hit | 29527.72 | P&L +367.70 · +2.13R |
| Time | Leg | Lots | Price | Detail |
|---|---|---|---|---|
| 18:15:48 | opened short | 5 | 29430.31 | planned 29430.56, filled 29430.31 (+0.25 points) · stop 29454.32942681 |
| 19:40:02 | target tp1 filled | 1.6 | 29406.61 | a third closed, the rest runs on |
| 22:07:34 | stop hit, after taking a target | 29454.33 | P&L -44.55 · -0.37R |
| Time | Leg | Lots | Price | Detail |
|---|---|---|---|---|
| 08:48:43 | opened long | 5 | 29162.64 | planned 29143.34, filled 29162.64 (+19.30 points) · stop 29092.10837958 |
| 08:50:28 | target tp1 filled | 1.6 | 29195.29 | a third closed, the rest runs on |
| 09:02:58 | scratched at breakeven | 29162.64 | P&L +52.64 · +0.00R |
Candles from your broker's own feed — the same one that filled the order, so a candle and a fill can never disagree. ⭐ Each chart is drawn hours after the trade closed and deliberately runs on past the exit, because the useful question is not where we got in. It is what price did next.
⭐ Stop hit, after taking a target after taking 1 target, and over the following 135 minutes price did not reach tp2 — it got as far as 29,508.18. The stop did its job here.
⚠ Final target hit after taking 2 targets, and price then reached tp3 within 144 minutes without us. One trade proves nothing either way — but this is the shape to watch for across a sample, because it would be the stop, not the signal, costing the edge.
⭐ Stop hit, after taking a target after taking 1 target, and over the following 144 minutes price did not reach tp2 — it got as far as 29,454.81. The stop did its job here.
⚠ Scratched at breakeven after taking 1 target, and price then reached tp2 within 138 minutes without us. One trade proves nothing either way — but this is the shape to watch for across a sample, because it would be the stop, not the signal, costing the edge.
Over the 180 minutes after the exit price reached 29,096.84. ⚠ This trade's targets were not recorded — the executor only began reporting them on 16 September — so nothing here can be said about whether they would have been hit.
Your strategy already thinks in macro windows and your own Pine has a per-macro table, so this is the same cut taken from real fills. ⚠ At 5 closed trades none of these figures can carry weight — it is here because it starts accumulating now, and because a window that never fires is worth seeing long before its numbers mean anything.
| Window | Signals | Last | Closed | Won | Total R | Mean R | P&L | State |
|---|---|---|---|---|---|---|---|---|
| 00:50 | — | — | — | — | — | — | — | no signal yet |
| 03:50 | 1 | 18 Sep 03:31 | 1 | 1/1 | +2.13R | +2.13R | +367.70 | trading |
| 09:20 | 2 | 18 Sep 09:03 | 2 | 1/2 | -0.42R | -0.21R | -59.26 | trading |
| 18:50 | 1 | 17 Sep 18:15 | 1 | 0/1 | -0.37R | -0.37R | -44.55 | trading |
| 19:50 | — | — | — | — | — | — | — | no signal yet |
| 22:50 | 1 | 15 Sep 22:24 | 1 | 0/1 | -0.95R | -0.95R | -202.85 | trading |
| 23:50 | — | — | — | — | — | — | — | no signal yet |
⚠ 3 of 7 windows have never produced a signal: 00:50, 19:50, 23:50. That is not yet a fault — a window is an opportunity, not a schedule — but a window still silent after a few weeks is worth questioning. ⛔ No conclusion should be drawn from the columns above until each window has a sample of its own; one trade gives a window a 100% or 0% win rate, which is arithmetic, not information.
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. ⭐ Messages from before the broker changed on 16 September are not shown — 27 of them, on a different account, which the rest of this page also excludes.
| Time | From | Instance | Message | Outcome | Why |
|---|---|---|---|---|---|
| 18 Sep 09:03:04 Cayman | TradingView | nas3m | sell | Accepted | |
| 18 Sep 03:30:08 Cayman | TradingView | nas3m | sell | Accepted | |
| 17 Sep 18:15:10 Cayman | TradingView | nas3m | sell | Accepted | |
| 16 Sep 08:48:06 Cayman | TradingView | nas3m | buy | Accepted | |
| 16 Sep 02:11:02 Cayman | manual test | nas3m | flatten | Accepted | |
| 16 Sep 02:10:07 Cayman | manual test | nas3m | buy | Accepted | |
| 15 Sep 22:24:01 Cayman | TradingView | nas3m | buy | Accepted | |
| 15 Sep 19:39:24 Cayman | manual test | nas3m | flatten | Accepted | |
| 15 Sep 19:33:07 Cayman | — | nas3m | flatten | Accepted | |
| 15 Sep 19:31:45 Cayman | — | nas3m | buy | Accepted | |
| 15 Sep 19:31:26 Cayman | — | nas3m | — | Rejected | the message body was not valid JSON bad_json |
| 15 Sep 19:16:13 Cayman | — | nas3m | buy | Accepted |
Times on this page are Cayman time. ⚠ New York is 1 hour ahead of Cayman at the moment, because New York observes daylight saving and Cayman does not. So a window labelled 09:20 NY is 08:20 your time today — and the same clock in January, when the two align.
⚠⚠ A TradingView alert freezes your inputs, the chart symbol and the timeframe at the moment you create it, and keeps firing that frozen copy until it is deleted and remade. So a trade does not belong to “the settings” — it belongs to whatever was frozen into the alert that produced it. Each block below is one such configuration, with the trades that came from it.
⚠ TradingView offers no way to read an alert's settings back, so these are declared, not read. Where the messages themselves prove something, it is marked evidenced; everything else is our word for it.
⭐ 2026-09-17: the author revised the window set to SEVEN and the daily cap to 7, one trade per macro. These are now HIS DEFAULTS unchanged - the only deviations left are the webhook switch, the ticker, and breakeven at 2:1 which he gave by phone. First TradingView signal 2026-09-16. ⭐ 2026-09-18: gold considered and deferred - XAUUSD verified FULL on this account, but MaxConcurrent=1 would make the two instruments starve each other and the dashboard assumes a single current epoch.
5 trades came from this configuration.
| Setting | Your default | Running as | How we know |
|---|---|---|---|
| Chart and instrument | |||
| Chart | — | VANTAGE:NAS100 | declared |
| Timeframe | — | 3m | declared |
| Broker symbol | — | NAS100 | evidenced |
| Account | — | Vantage demo, 1:100, USD 100k | declared |
| Macro windows | |||
| 00:50 NY | off | on | no signal yet |
| 03:50 NY | off | on | fired |
| 09:20 NY | off | on | fired |
| 18:50 NY | off | on | fired |
| 19:50 NY | off | on | no signal yet |
| 22:50 NY | off | on | fired |
| 23:50 NY | off | on | no signal yet |
| Trade geometry, as the messages describe it | |||
| Reward multiples | 1:1 · 2:1 · 3:1 | 1.0:1 · 2.0:1 · 3.0:1 | evidenced (4 signals) |
| Scale Out (Partial TPs)? | true | thirds | evidenced (4) |
| What your own messages prove about the rest | |||
| Stop distance in effect | — | 52.77 points | evidenced your SL Buffer × ATR14, as it came out on the last signal |
| Contracts you sent | — | 3 | evidenced your Position Sizing and Contracts settings, straight from the message |
| Lots we sent the broker | — | 5 | evidenced our sizing from your risk, capped by our lot ceiling |
| tp1 distance | — | 1.00R | evidenced 1:1 — from the prices your strategy sent |
| tp2 distance | — | 2.00R | evidenced 2:1 — from the prices your strategy sent |
| tp3 distance | — | 3.00R | evidenced 3:1 — from the prices your strategy sent |
| Strategy inputs changed from your defaults | |||
| Enable Webhook Alerts? | false | true | declared |
| Ticker Symbol | NQM2026 | NAS100 | declared |
| Move SL to Breakeven | After 1:1 | After 2:1 | declared |
| Execution limits (ours, not yours) | |||
| Risk per trade | — | 0.5 % of balance | declared |
| Position cap | — | 5.0 lots | declared |
| Daily loss limit | — | 3.0 % | declared |
| Concurrent positions | — | 1 | declared |
Retired: that broker refused every index order with retcode 10017. No trade ever executed on this epoch.
0 trades came from this configuration.
| Setting | Your default | Running as | How we know |
|---|---|---|---|
| Chart and instrument | |||
| Chart | — | CAPITALCOM:US100 | declared |
| Timeframe | — | 3m | declared |
| Broker symbol | — | USTEC | declared |
| Account | — | MetaQuotes demo, USD 100k | declared |
| Macro windows | |||
| 09:20 NY | off | on | no signal yet |
| 14:50 NY | off | on | no signal yet |
| 18:50 NY | off | on | no signal yet |
| 22:50 NY | off | on | no signal yet |
| Trade geometry, as the messages describe it | |||
| Reward multiples, scale-out | 1:1 · 2:1 · 3:1, thirds | declared | awaiting a real signal ⚠ hand-fired tests are deliberately not counted — their geometry is ours, not the strategy's |
| Strategy inputs changed from your defaults | |||
| Max Trades Per Day | 7 | 4 | declared |
| Enable Webhook Alerts? | false | true | declared |
| Ticker Symbol | NQM2026 | US100 | declared |
| Execution limits (ours, not yours) | |||
| Risk per trade | — | 0.5 % of balance | declared |
| Position cap | — | 5.0 lots | declared |
| Daily loss limit | — | 3.0 % | declared |
| Concurrent positions | — | 1 | declared |
⭐ Every one of the 66 inputs in your strategy, with the 13 the pilot changed marked, is on its own page: the full settings table → It is read straight out of your Pine source, so the defaults column cannot drift — and it is the proof that nothing else was touched.
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.
8 plans executed, 0 plans refused by the executor, 1 rejected at the relay before the executor saw them. ⚠ A refused plan is a missed trade, and a missed trade looks exactly like a quiet market — so here is each one: a message that was not valid JSON (not from your strategy) (15 Sep 19:31). ⭐ Each was a deliberate stop, but a guard that fires often is telling you something about the configuration rather than about the market.
Across 1 trade stopped out with no target filled, the mean realised result is -0.95R where the plan called for exactly -1.00R — 5% less risk than intended. ⭐ The strategy computes its stop from a reference price; the fill lands where the market puts it, so the true distance to the stop — and therefore the money actually at risk — is not the distance it planned. On this sample the two agree, which is the result you want.
The largest winner is 87% of all gross profit. That shape is normal for a strategy that runs winners, so it is not by itself a fault - but above about 60% the headline figure describes one trade rather than a process.
Removing the single largest trade changes the result from +61 to -307. Any win rate, profit factor or expectancy computed from 5 trades would be an artefact of which trades happened to occur. Nothing here should be read as evidence the strategy makes or loses money until there are at least 30, across more than one session.
⭐ This broker charges no commission, so the spread IS the cost. It averaged 80 points at entry, which on the sizes traded is about +4.00 crossed per trade. The median trade is +111.90, so roughly 4% of a typical result is paid to the broker before anything else happens. ⚠ That ratio does not improve with more data; it improves with a longer timeframe or a wider stop.
TradingView alerts stop firing after about 60 days on Essential, with no error, no email and no trace — and this page cannot read the date, so it has to be told. ⚠ Until it is, the countdown below covers the broker account only, and the alert could lapse at any time without anything here changing. ⭐ Open TradingView's alert manager, read the expiry on the current alert, and record it in config/epochs.json.
Vantage demo account 2026-10-16 (26d). ⚠ Each of these stops the pilot with no error, no email and no trace, and a strategy that trades at most four times a day cannot be watched for silence — a lapsed account and a quiet market look identical. ⭐ That is why they are counted down from recorded dates rather than noticed after the fact. The nearest one is the one that matters.
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.
⭐ None of this is hypothetical — the pack is built and waiting: the compiled executor (112 KB), a settings template, a preset template and a setup guide written from what actually went wrong. ⚠ It contains no credentials of any kind; the URL, token and account number are yours to fill in. Ask and it is yours.