Forward test · broker demo

Volta V1.3 Execution Log

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

RUNNING
last signal 11 min ago
15 Sep 2026, 17:43 UTC
Signals sent
11
5 modify, 3 sell, 3 buy
Executed
11
16 orders, 0 refused or lost
Trades closed
5
4 of 5 profitable
Chart → broker
-0.8
index points — mean of 6 entries, ranging -0.1 to -4.6
Open now
buy 0.1 US30
stop 51,984.1
Net result
+47.41
USD, +474.1 index points on closed trades
Results

Every round trip

Reconstructed from the fills, not from the broker's statement. The strategy reverses rather than flattening, so one message usually closes a trade and opens the next; points are index points and P&L is what 0.1 lots made on them, before any commission.

DirectionOpenedClosedHeldEntryExit PointsP&LRunning
sell 0.1 10:29:03 12:21:02 1h 51m 52,357.4 51,971.4 +386.0 +38.60 +38.60
buy 0.1 12:21:02 12:55:04 34m 51,972.6 51,982.3 +9.7 +0.97 +39.57
sell 0.1 12:55:04 13:23:01 27m 51,982.6 51,988.3 -5.7 -0.57 +39.00
buy 0.1 13:23:01 14:06:02 43m 51,988.4 52,052.5 +64.1 +6.41 +45.41
sell 0.1 14:06:02 14:32:01 25m 52,052.4 52,032.4 +20.0 +2.00 +47.41
buy 0.1 14:32:01 open 52,033.0

Best +386.0 points, worst -5.7. 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

Times are the bridge's. “Sent” is what the script put on the wire; “placed” is what reached the broker. A reversal is one message that closes and re-opens, so it shows two fills and two outcomes. Stops are re-anchored to the broker's price at the moment of the order, which is why one lands within about a point of the distance asked for rather than exactly on it. The small grey number under each outcome is MetaTrader's own code, kept so a failure can be looked up.

TimeMessageChart priceBroker fillFeed gapStop at brokerOutcome
10:29:03 sell 0.1 52,357.6 52,357.4 -0.8 52,416.7
asked 59.9 away, landed 59.3
Executed
10009
10:32:02 modify 52,316.7
asked 52,317.5
Executed
10009
10:35:05 modify 52,216.7
asked 52,217.5
Executed
10009
11:10:03 modify 52,116.7
asked 52,117.5
Executed
10009
11:23:00 modify 52,016.7
asked 52,017.5
Executed
10009
12:21:02 buy 0.1 51,976.0 closed 51,971.4
opened 51,972.6
-4.6 51,913.8
asked 57.6 away, landed 58.8
Executed ×2
10009
12:55:04 sell 0.1 51,982.4 closed 51,982.3
opened 51,982.6
-0.1 52,043.4
asked 61.1 away, landed 60.8
Executed ×2
10009
13:23:01 buy 0.1 51,988.5 closed 51,988.3
opened 51,988.4
-0.2 51,949.8
asked 38.5 away, landed 38.6
Executed ×2
10009
13:55:05 modify 52,049.8
asked 52,050.0
Executed
10009
14:06:02 sell 0.1 52,054.1 closed 52,052.5
opened 52,052.4
-1.6 52,107.9
asked 55.4 away, landed 55.5
Executed ×2
10009
14:32:01 buy 0.1 52,029.7 closed 52,032.4
opened 52,033.0
+2.7 51,984.1
asked 48.3 away, landed 48.9
Executed ×2
10009
Configuration

The settings behind every number here

TradingView offers no way to read an alert's settings back, so this is the script's own shipped defaults with the changed values marked. What makes it checkable rather than merely claimed: every message carries a fingerprint of the settings that produced it, and the bridge flags any message arriving with a different one. Nothing on this page has been flagged.

Signal

Basis EMA Length
8
ATR Length
14
Base ATR Multiplier
2

Volatility and trend

Volatility Lookback
20
Vol Stretch Sensitivity
1.0
Trend Memory Length
25
Trend Impact (0..1)
0.4

Flip logic

Min Effective Mult
1.0
Max Effective Mult
4.0
Bars Needed To Flip
1

Risk and exits

Use % Risk
off set
Fixed Lots
0.1 set
Units Per 1.0 Lot (0 = auto)
1 set
Lot Step
0.1 set
Min Lots
0.1 set
Max Lots (safety cap)
1.0 set
Use Trailing Stop
on
Trailing Step (Ticks)
1000 set
Use Fixed Take Profit
off
Take Profit (Ticks)
5000

Execution

Middleman
Volta JSON set
Risk % Sized By
Middleman set
Stop Sent As
Distance set
Session Filter
off set

Broker and instrument

Chart
PEPPERSTONE:US30
Account
demo, $50k, 1:200
Margin mode
hedging
Chart tick
0.1
Symbol digits
1
Contract size
1.0
Volume min / step
0.1 / 0.1
Slippage allowed
3.0 pts

Trailing Step is in chart ticks, not points: 1000 ticks on this 0.1-tick feed is 100 index points. The same input on a 0.01-tick feed would be ten points, which is the kind of thing that looks fine and trails ten times too tightly.

Architecture

How a signal becomes an order

Five hops. The script owns the first one and nothing else; everything after it is replaceable, which is the whole point of the Middleman setting.

1
The strategy
Builds the whole message itself, on bar close. TradingView does not substitute placeholders inside alert(), so the script assembles the JSON.
2
The alert
A frozen copy of the script, its inputs and its Properties. Change any setting and it keeps trading the old ones until it is deleted and recreated.
3
The webhook
One HTTPS POST per event. Retried up to three times on a 5xx, never on a timeout or a 404, with a three-second deadline.
4
The middleman
Turns the message into a broker order. Here that is the Volta bridge; it could be PineConnector or TradersPost instead.
5
MetaTrader
A terminal logged into the account, with algorithmic trading enabled. The order goes out from there.

Three ways to run it yourself

You do not need the bridge. It is a test rig built to prove the script, not a product, and the script was written so it could be swapped out.

PineConnector

Set Middleman to PineConnector, paste your licence ID, point the alert at their URL. Nothing to host and nothing to keep running. They size and route the order.

Built from their docs · never run

TradersPost

Same idea, different message format. One limitation shapes the script: TradersPost cannot move a stop once a trade is open, so the entry stop stays at the broker as a safety net and the strategy sends an exit when its own trail is hit.

Built from their docs · never run

The Volta bridge

Self-hosted, what produced every number on this page. More work than it looks, and the requirements below are not optional — each one comes from something that went wrong.

Running · all figures here

What the bridge does that a hosted service does not

Sizes from the broker
real contract specs
Re-anchors the stop
to the actual fill
Ignores duplicate retries
20 second window
Refuses live accounts
demo-only by default
Maps ticker to symbol
US30 → broker name
Rounds lots
to the broker's step
Truncates the comment
MT5 rejects long ones
Flags stale alerts
settings fingerprint

If you self-host, these are the parts that bite. The MetaTrader5 Python package is Windows only, so it needs a Windows machine that never sleeps — a laptop entering standby lost two hours of signals here, silently. The public endpoint has to be stable: a free tunnel dropping for sixteen seconds already swallowed one exit, and TradingView does not retry a timeout. Only one bridge may run per account, because two place every order twice. And the symbol names, contract sizes, digits and lot step all differ by broker — the same index is US30 at one firm and US30.cash at another, quoted to a different number of decimals, which silently changes what a “point” of slippage tolerance means.

Status

What this run has and hasn't shown

Proven live

  • Entry with the stop sent as a distance, re-anchored to the real fill
  • Trailing stop updates reaching the broker, each one exact
  • A reversal: close and re-open from a single message
  • Lot size, symbol name and stop distance all survive the trip intact

Still unseen

  • A plain exit — the strategy's own trailing stop being hit
  • An order rejected by the broker, and how it recovers
  • An overnight run, with the session filter off through the thin hours
  • Anything at all about profitability — this is far too few trades

Read the price gap carefully. Charting the same firm the orders execute at was the point, and the gap is small. But a handful of readings is not a measured constant, and sending the stop as a distance is what makes the gap harmless. That should stay as it is until there are enough entries to say what the gap actually does.

This is a demo account, and it is about plumbing. Everything here tests whether execution is faithful to the script. It says nothing about whether the strategy makes money.