If you use the default TradeTest.c script as-is with Interactive Brokers, it will not work. Here's why.
This line of code is the culprit:
if(is(INITRUN)) brokerCommand(SET_ORDERTEXT,"TradeTest");
This of course looks like it would add a mere comment to a placed order. But that's not what happens with IB in particular.
Instead, it sets the IB order's OrderType string value, which is a critical field. So if the order type is set to "TradeTest", the test order won't work.
I expect that most newcomers to Zorro would not be able to figure this out without running the script in verbose mode and then debugging the script.
Before I remove the line:
!Open IB Socket 4.03 at UTC 09-30 17:39
ESZ6
ESZ6
Trade: TradeTest ESZ6 2026-09-30
Assets AssetsFutures
ESZ6
Buy Long ESZ6
!Order 4137 ES-FUT-ESZ6-ES-CME BUY TradeTest DAY 2 ES-FUT--0.00--CME/-ES-USD
!Error validating request.-'v' : cause - Invalid order type was entered ES-FUT--0.00--CME/-ES-USD
!Order rejected: error validating request.-'v' : cause - invalid order type was entered
Warning 075 (ESZ6::L) - can't open 2@7762 at 17:39:24
After I remove the line:
!Open IB Socket 4.03 at UTC 09-30 17:39
ESZ6
ESZ6
Trade: TradeTest ESZ6 2026-09-30
Assets AssetsFutures
ESZ6
Buy Long ESZ6
!Order 4147 ES-FUT-ESZ6-ES-CME BUY MKT DAY 2 ES-FUT--0.00--CME/-ES-USD
[ESZ6::L04147] Long 2@7763.50 at 17:42:45
4147: Lots 2 Target 2 Open 7763.50000 Close 7763.50000
4147: Lots 2 Target 2 Open 7763.50000 Close 7763.75000
Note that "TradeTest" gets replaced with "MKT" (market order).