Common Issues
This page covers the most frequently encountered issues in TestMax and how to resolve them. If your problem is not listed here, check the Error Codes reference or contact support.
Backtest stuck or not progressing
Symptoms: The backtest appears to be running (no error shown) but the chart is not updating, the progress bar is frozen, or no new candles are appearing.
Common causes and solutions:
-
Slow internet connection — Backtests stream data over a WebSocket connection. A slow or unstable connection can cause delays. Check your internet speed and try again on a more stable connection.
-
Very large date range — Running a backtest on many days of 1-second data generates millions of bars. Try reducing the date range to a single day or switching to a larger timeframe (e.g., 1m instead of 1s).
-
Stale process from a previous run — If a previous backtest did not shut down cleanly, it may be blocking a new run. TestMax automatically detects and cleans up stale processes, but if you see no progress after 30 seconds, try refreshing the page and starting again.
-
Browser tab throttled — Some browsers reduce resource allocation to background tabs. Make sure the TestMax tab is in the foreground while the backtest runs.
”No bars available” error
Symptoms: You receive a message stating “No bars available” or the chart shows no data for the selected date.
Common causes and solutions:
-
The selected date has no data — Not all calendar dates have market data. Weekends, holidays, and some early-closure days may have no data or very limited data. Try selecting a different date — standard weekdays (Tuesday through Thursday) are the most reliable.
-
Instrument not available for that date — Some instruments have limited historical coverage. If you are trying a less common instrument on an older date, the data may not exist. Switch to a major instrument (NQ, ES) or try a more recent date.
-
Date is in the future — TestMax replays historical data. If you select a future date, there will be no data available.
-
Free tier date restriction — Free tier users have access to a limited set of dates. If you are on the free plan and selecting a date outside the available range, upgrade to Pro for full archive access.
”Script too large” error
Symptoms: When submitting a custom strategy in the Algo Playground, you see “Script too large” or a similar size error.
Solution: Custom strategy scripts have a maximum size of 200 KB. If your script exceeds this:
- Remove unnecessary comments and whitespace
- Consolidate redundant logic
- Move large data arrays (lookup tables, pre-calculated values) to be computed at runtime instead of hardcoded
- Split complex strategies into simpler components
”Execution timeout” error
Symptoms: Your backtest or strategy execution terminates with a timeout error.
Solution: TestMax enforces a 10-minute maximum runtime per execution. If your backtest hits this limit:
- Reduce the date range — Multi-week backtests on 1-second data can exceed the timeout. Use fewer days or a larger timeframe.
- Optimize your strategy — If your Python strategy has expensive calculations (e.g., recalculating indicators from scratch on every bar), optimize it to use incremental calculations.
- Increase the timeframe — Switching from 1-second to 1-minute bars reduces the number of bars by 60x, dramatically cutting execution time.
- Limit the number of bars — Use the
max_barsparameter in your strategy configuration to cap how many bars are processed.
”Already running” error
Symptoms: You try to start a new backtest or replay session and receive “Already running” or a similar concurrency error.
Solution: TestMax allows only one concurrent execution per user. This means:
- If you have a backtest running in another tab, stop it first
- If a previous execution did not terminate cleanly, wait 30 seconds for the automatic stale process cleanup to run
- Refresh the page to clear any lingering session state
- If the issue persists after 60 seconds, log out and log back in
WebSocket disconnect during replay
Symptoms: The chart stops updating mid-session, you see a “Disconnected” indicator, or the replay freezes.
Common causes and solutions:
-
Internet connection dropped temporarily — TestMax will attempt to reconnect automatically. Wait 10-15 seconds. If the connection is restored, the replay will resume from where it left off.
-
Browser went to sleep — Closing your laptop lid or leaving the tab idle for an extended period can cause the WebSocket to disconnect. Reopen the tab and the connection should re-establish.
-
VPN or firewall interference — Some VPNs and corporate firewalls interfere with WebSocket connections. Try disabling your VPN or switching to a different network.
-
Server maintenance — Rare, but possible. Check the TestMax status page or social channels for announcements about planned maintenance.
Chart not updating or rendering incorrectly
Symptoms: The chart area is blank, candles are missing, or the display looks corrupted.
Solutions:
- Refresh the page — This resolves most rendering issues caused by temporary state problems
- Clear browser cache — Outdated cached assets can cause display issues. Clear your cache and reload
- Try a different browser — If the issue persists, try Chrome, Firefox, or Edge. Safari has occasional WebGL rendering differences
- Disable browser extensions — Ad blockers and privacy extensions can sometimes interfere with the chart rendering library
- Check your zoom level — Browser zoom levels other than 100% can occasionally cause layout issues. Reset to 100% with
Ctrl+0(Windows) orCmd+0(Mac)
Orders not filling
Symptoms: You place a limit or stop order but it never executes, even though the price appears to have reached your level.
Common causes:
-
Price did not actually reach your order price — Zoom into the chart and check the exact high/low of the candles. On a 5-minute chart, the price may appear to have touched your level but the actual tick data shows it did not.
-
Limit order on the wrong side — A buy limit order must be placed below the current price. A sell limit must be placed above the current price. If you place them on the wrong side, they will not fill.
-
The replay is paused — Orders only fill when the market is advancing. If the replay is paused, your order sits unfilled until you resume playback.
-
Order was rejected — Check the output log or order history for rejection messages. Common reasons include invalid price, invalid size, or attempting to place an order outside trading hours.
Position not showing in the panel
Symptoms: You placed a trade and it filled, but the positions panel shows no open position.
Common causes:
-
The trade was already closed — If you had a bracket order with a stop loss or take profit, the position may have been closed automatically. Check the trade history for the exit.
-
Display refresh lag — In rare cases, the positions panel may lag behind the actual state. Click on the positions panel or refresh the page.
-
You are looking at the wrong account — If you have multiple simulation accounts or are switching between prop firm practice and free practice, make sure you are viewing the correct account.
Pro required errors
Symptoms: You attempt to use a feature and see “Pro subscription required” or a similar message.
Solution: The following features require an active Pro subscription:
- Algo Playground (Python strategy builder)
- Prop firm practice mode
- Challenges and Battles (participation)
- Extended historical data archive
- Calendar heatmap, time analysis, and trade journal
- Multi-chart layouts
- Playback speeds above 10x
Navigate to Plans & Pricing to upgrade, or manage your subscription from account settings.
Strategy script errors
Symptoms: Your custom Python strategy crashes or produces errors in the output log.
Common debugging steps:
- Read the error message carefully — The output log shows the Python traceback with the exact line number and error type
- Check for syntax errors — Missing colons, incorrect indentation, or unclosed parentheses
- Verify API usage — Make sure you are calling the TestMax strategy API correctly. See the API Reference
- Test with fewer bars — Set
max_barsto a small number (e.g., 100) to quickly iterate on fixes - Check the debugging guide — See Debugging Strategies for detailed troubleshooting
Still stuck?
If none of the above solutions resolve your issue:
- Check the Error Codes reference for specific error numbers
- Review the Billing & Account page for subscription-related issues
- Contact support via the in-app help button or email — Pro subscribers receive priority support