1. Can one session trade the same strategy on multiple stocks?
Yes. One Zorro strategy session can trade multiple stocks through the same broker connection, as long as the script loops through multiple assets.
Zorro’s portfolio examples explicitly use asset(loop(...)) for multiple symbols and algo(loop(...)) for multiple strategy components inside the same run() function.
Example structure:
function run()
{
BarPeriod = 5;
while(asset(loop("AAPL","MSFT","NVDA","SPY")))
{
tradeMyStrategy();
}
}
Or for all assets in your selected asset list:
function run()
{
BarPeriod = 5;
while(asset(loop(Assets)))
{
tradeMyStrategy();
}
}
Zorro’s manual also states that assets must be selected with asset(), and that while(asset(loop(Assets))) can be used to select all available assets in the asset list.
So for TradeStation, this is the preferred solution:
One Zorro instance
One TradeStation API connection
One portfolio strategy
Many stocks
2. Is one session limited to one strategy?
Technically, one Zorro session normally runs one script at a time, but that one script can contain many strategies.
So the limitation is not really “one strategy.” It is more like:
One Zorro session = one running script
But one script can contain many strategy modules
For example:
function run()
{
BarPeriod = 5;
while(asset(loop("AAPL","MSFT","NVDA")))
while(algo(loop("ARIMA","TREND","MEANREV")))
{
if(Algo == "ARIMA")
tradeArimaStrategy();
if(Algo == "TREND")
tradeTrendStrategy();
if(Algo == "MEANREV")
tradeMeanReversionStrategy();
}
}
Zorro’s loop documentation shows exactly this kind of structure: multiple assets and multiple algos can be looped inside the same run() function.
So if TradeStation allows only one connection, you should not run many independent Zorro instances connected to TradeStation. Instead, merge the strategies into a single Zorro portfolio controller.
3. Does the TradeStation plug-in support the data feed?
Yes, but with conditions.
Zorro’s broker plugin architecture uses the broker API for both placing orders and getting market data. The Zorro TradeStation plugin is specifically designed for the TradeStation v3 Web API, and Zorro says you need Zorro S for that plugin.
TradeStation’s API documentation says the API provides brokerage and market-data services and supports stocks, options, and futures through the same interface.
So the answer is:
Live quote / price feed: yes, through the TradeStation API/plugin.
Historical bars: TradeStation API supports market-data bars, but you should test your exact plugin version.
Real-time data: requires the proper TradeStation market-data subscriptions.
Limits: API rate limits and connection/session limits can affect large portfolios.
TradeStation also applies API rate limits; if quota is exceeded, the API can return a quota-exceeded response.
Practical recommendation
For your setup, I would structure it like this:
Zorro-S
?
Single TradeStation connection
?
One portfolio script
?
Asset loop: AAPL, MSFT, NVDA, SPY, etc.
?
Algo loop: ARIMA / Trend / Filter / Risk controller
?
TradeStation orders + TradeStation data feed
This avoids fighting the “one TradeStation connection” rule while still letting you trade many stocks and multiple strategy components.
In addition you can share with us lots of code, and we can learn from you alot, please consider that, we can share with you free code too.