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:
Code
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:
Code
!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:
Code
!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).