Live execution pilot · broker demo

T4T Macro IFVG — Execution Log

Every signal the strategy sent, and exactly what the broker did with it.

Running
executor connected, signals flowing
16 September 2026, 12:22 UTC
Last signal
8 h ago
22 received in total — 16 buy, 6 flatten
Executed
4
4 closed (3 of them test fixtures), 0 refused by a guard
Trades closed
1
0 in profit
Planned → filled
1.96
mean distance from the planned price, in points
Open now
flat
1 of 2 executors connected
Net result
-203
account currency, closed trades only
Results

Every trade the strategy produced

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.

TimeInstrumentWindowDir PlannedFilledSlip ExitRisk askedRisk taken HeldWhyR P&LRunning
16 Sep 03:36 UTC NAS100 22:50 long 29071.1 29069.14 -1.96 29028.57 42.53 40.57 12 min stopped out -0.95R -202.85 -202.85

1 trade, -202.85 in total. Best -202.85, 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 ledger

Every message, in order

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.

TimeFromInstanceMessageOutcomeWhy
16 Sep 07:11:02 UTC manual test nas3m flatten Accepted
16 Sep 07:10:07 UTC manual test nas3m buy Accepted
16 Sep 03:24:01 UTC TradingView nas3m buy Accepted
16 Sep 00:39:24 UTC manual test nas3m flatten Accepted
16 Sep 00:33:07 UTC nas3m flatten Accepted
16 Sep 00:31:45 UTC nas3m buy Accepted
16 Sep 00:31:26 UTC nas3m Rejected bad_json bad_json
16 Sep 00:16:13 UTC nas3m buy Accepted
15 Sep 19:46:29 UTC ustec3m buy Accepted
15 Sep 17:36:50 UTC ustec3m Rejected the day's trade budget was already spent daily_ceiling
15 Sep 17:36:38 UTC eurusd3m flatten Accepted
15 Sep 17:36:03 UTC ustec3m Rejected the day's trade budget was already spent daily_ceiling
15 Sep 13:58:19 UTC eurusd3m buy Accepted
15 Sep 12:57:32 UTC eurusd3m buy Accepted
15 Sep 12:55:33 UTC eurusd3m Rejected the day's trade budget was already spent daily_ceiling
15 Sep 12:53:16 UTC eurusd3m Rejected the day's trade budget was already spent daily_ceiling
15 Sep 12:53:12 UTC eurusd3m flatten Accepted
15 Sep 12:47:22 UTC eurusd3m buy Accepted
15 Sep 12:33:26 UTC eurusd3m buy Accepted
15 Sep 12:15:41 UTC eurusd3m buy Accepted
15 Sep 12:13:28 UTC eurusd3m flatten Accepted
15 Sep 12:11:30 UTC eurusd3m buy Accepted
15 Sep 12:11:29 UTC eurusd3m buy Ignored as a duplicate
15 Sep 12:11:28 UTC eurusd3m buy Ignored as a duplicate
15 Sep 12:11:28 UTC eurusd3m buy Accepted
15 Sep 12:05:39 UTC eurusd3m buy Accepted
15 Sep 12:01:18 UTC eurusd3m buy Accepted
14 Sep 23:22:10 UTC eurusd3m buy Ignored as a duplicate
14 Sep 23:22:10 UTC eurusd3m buy Accepted
14 Sep 23:22:08 UTC nq3m Rejected the message arrived with no content empty_body
14 Sep 23:22:08 UTC nq3m Rejected the shared secret did not match bad_secret
14 Sep 11:39:54 UTC nq3m buy Ignored as a duplicate
14 Sep 11:39:53 UTC nq3m buy Accepted
14 Sep 11:39:52 UTC nq3m Rejected the message arrived with no content empty_body
14 Sep 11:39:51 UTC nq3m Rejected the shared secret did not match bad_secret
Configuration

The settings behind every number here

⚠⚠ 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.

Nasdaq 3-minute nas3m
CURRENT 2026-09-16 → now

First TradingView-originated signal 2026-09-16 03:24 UTC.

1 trade came from this configuration.

SettingYour defaultRunning asHow we know
Chart and instrument
ChartVANTAGE:NAS100declared
Timeframe3mdeclared
Broker symbolNAS100evidenced
AccountVantage demo, 1:100, USD 100kdeclared
Macro windows
09:20 NYoffonno signal yet
14:50 NYoffonno signal yet
18:50 NYoffonno signal yet
22:50 NYoffonfired
Trade geometry, as the messages describe it
Reward multiples, scale-out1:1 · 2:1 · 3:1, thirdsdeclaredawaiting 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 Day74declared
Enable Webhook Alerts?falsetruedeclared
Ticker SymbolNQM2026NAS100declared
Execution limits (ours, not yours)
Risk per trade0.5 % of balancedeclared
Position cap5.0 lotsdeclared
Daily loss limit3.0 %declared
Concurrent positions1 declared
Nasdaq 3-minute (retired) ustec3m
RETIRED 2026-09-15 → 2026-09-16

Retired: that broker refused every index order with retcode 10017. No trade ever executed on this epoch.

0 trades came from this configuration.

SettingYour defaultRunning asHow we know
Chart and instrument
ChartCAPITALCOM:US100declared
Timeframe3mdeclared
Broker symbolUSTECdeclared
AccountMetaQuotes demo, USD 100kdeclared
Macro windows
09:20 NYoffonno signal yet
14:50 NYoffonno signal yet
18:50 NYoffonno signal yet
22:50 NYoffonno signal yet
Trade geometry, as the messages describe it
Reward multiples, scale-out1:1 · 2:1 · 3:1, thirdsdeclaredawaiting 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 Day74declared
Enable Webhook Alerts?falsetruedeclared
Ticker SymbolNQM2026US100declared
Execution limits (ours, not yours)
Risk per trade0.5 % of balancedeclared
Position cap5.0 lotsdeclared
Daily loss limit3.0 %declared
Concurrent positions1 declared

Every input in your strategy

⭐ Read straight out of your Pine source rather than retyped, so the defaults column cannot drift from the strategy. All 66 of them, with the 14 the pilot changed marked. Not one line of your Pine was modified — the bridge reads the plan your strategy already emits.

SettingYour defaultRunning as
Strategy Settings
Position SizingFixedFixed
Contracts (Fixed)33
Risk % (of Equity)1.01.0
Scale Out (Partial TPs)?truetrue
Single TP Target2:12:1
Move SL to BreakevenAfter 1:1After 1:1
Max Trades Per Day74 changed
Max Trades Per Macro Window11
Close at End of Day?truetrue
Allow Longs?truetrue
Allow Shorts?truetrue
Use Date Filter?truetrue
Start Datetimestamp("2026-01-01 00:00 +0000")timestamp("2026-01-01 00:00 +0000")
End Datetimestamp("2026-12-31 23:59 +0000")timestamp("2026-12-31 23:59 +0000")
Webhook Alerts
Enable Webhook Alerts?falsetrue changed
Ticker SymbolNQM2026US100 changed
Signal Settings
Bars After Macro For Signal66
FVG Size Filter (ATR)?truetrue
Min Gap (×ATR14)0.230.23
FVG Validity (Bars)400400
Mitigation Level50%50%
Displacement Filter
Enable Displacement Filter?truetrue
Min Body % of Range0.600.60
Min Body vs Avg Body (×)1.601.60
Avg Body Lookback2020
Signal Cooldown
Enable Cooldown?truetrue
Cooldown (Bars)1010
Liquidity Sweep
Enable Sweep Filter?truetrue
Sweep Threshold (×ATR14)0.00.0
Sweep ModeAlignedAligned
Require Sweep Rejection?falsefalse
Asia H/Ltruetrue
London H/Ltruetrue
NY Opentruetrue
Midnighttruetrue
CISD Filter
Enable CISD Filter?truetrue
Trade Setup
Entry ModeIFVG EdgeIFVG Edge
SL Buffer (×ATR14)1.951.95
Performance Tables
Show Results Table?truetrue
Show Per-Macro Breakdown?truetrue
Macros
00:50-01:10falsefalse
01:50-02:10falsefalse
02:50-03:10falsefalse
03:50-04:10truefalse changed
04:50-05:10falsefalse
05:50-06:10falsefalse
06:50-07:10falsefalse
07:50-08:10truefalse changed
08:50-09:10falsefalse
09:20-09:40falsetrue changed
09:50-10:10truefalse changed
10:50-11:10truefalse changed
11:50-12:10falsefalse
12:50-13:10truefalse changed
13:50-14:10falsefalse
14:50-15:10falsetrue changed
15:15-15:45falsefalse
15:50-16:10falsefalse
16:50-17:10falsefalse
17:50-18:10falsefalse
18:50-19:10falsetrue changed
19:50-20:10falsefalse
20:50-21:10truefalse changed
21:50-22:10falsefalse
22:50-23:10falsetrue changed
23:50-00:10truefalse changed
Assessment

What this data does and does not support

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 plan that arrived was executed

4 plans executed, 0 plans refused by the executor, 1 rejected at the relay before the executor saw them. ⭐ This part has enough evidence to stand on after a handful of orders, because it is a question of fidelity: every plan either arrived intact or did not.

Realised risk matches the plan

Across 1 trade closed at the stop, 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.

·

Next deadline: Vantage demo account, 30 days away

Vantage demo account 2026-10-16 (30d) · TradingView alert 2026-11-14 (59d). ⚠ 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.

!

There is no backtest on this page, and that is a gap

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.

Architecture

How a signal becomes an order

Four hops. Your script owns the first and nothing after it.

1
Your strategy fires
An alert on order fills sends the JSON your Pine already builds — direction, size, stop and all three targets. TradingView posts it from its own servers.
2
A relay catches it
A small program on a free Cloudflare account. It exists because TradingView needs a public address to post to and a home PC does not have one. It stamps the message, refuses duplicates, and holds it.
3
The executor collects it
An expert advisor inside MetaTrader asks the relay for anything new. ⭐ It reaches out, so nothing needs to reach in — no port forwarding, no fixed address, nothing exposed.
4
The broker fills it
The stop goes to the broker with the order, so a dead executor still leaves a protected position. Thirds close at each target and the stop moves to breakeven on its own.

Running it without us

⭐ 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.

Status

What this run has and hasn't shown

Proven, on real orders
  • The whole plan travels in the entry message — every later message is ignored, so none can be lost, duplicated or misread.
  • The stop is attached to the order, and the final target parked at the broker.
  • A position stopped out by the market was reported as a loss — which your strategy's own message stream would have reported as a take-profit.
  • A third closes at each target; breakeven applies locally.
  • A stale plan is refused rather than traded late.
  • The executor was killed mid-trade and recovered its position, cursor and settings.
  • A signal from TradingView reached the broker. First one 16 September, 03:24 UTC — accepted by the relay and filled 26 seconds later. This was the last untested link in the chain.
Not yet observed
  • Breakeven succeeding on a retry — it needs price to move off the entry.
  • The second target filling, and a third closing at a target.
  • Anything at all about whether the strategy makes money. See the assessment.