MultiCharts Order Machine Setup: VPS, API, Risk Controls
A safe MultiCharts order machine has four layers: a stable computer or VPS, a correctly configured broker API connection, a position-sync routine that reconciles with the broker before restarting after a disconnect, and a three-layer risk control built on a contract limit plus a one-click kill switch. Do not fill in contract limits or daily loss thresholds by feel. Work them back from the number of trades, average trade and maximum drawdown in your backtest report.
By Soren Huang · Published · updated · Editorial policy
Contents
- How do you set up a MultiCharts order machine safely?
- Does a MultiCharts order machine need a VPS?
- How do you connect MultiCharts auto-trading to a broker API?
- What do you do when the order machine disconnects? Position sync steps
- What risk controls should an order machine have? Kill switch and contract limits
- What should you monitor every day once the order machine is live?
- Use the backtest to confirm trade frequency, contract limits and the shutdown threshold before going live
- Frequently asked questions
- References
How do you set up a MultiCharts order machine safely?
A safe MultiCharts order machine rests on four layers: a computer or VPS with stable power and network, a correctly configured broker API auto-trading connection, a position-sync routine that reconciles with the broker before restarting after a disconnect, and risk controls built on a contract limit plus a one-click kill switch. Remove any layer and you have a computer that places orders, not an order machine.
An order machine is a computer that stays on for long periods while MultiCharts sends orders to the broker automatically based on strategy signals. Think of a gas stove at home: a flame, piping, a switch and a leak detector. You need all four before the kitchen counts as safe. Most people building an order machine put their effort into layer one (buying a computer, renting a VPS). In my view, though, trouble almost always starts in layers three and four: what you do, and in what order, after a disconnect, and whether something other than the strategy itself can stop a bad order. Every section below comes back to this point.
- Hardware, power and network: guards against power cuts, network outages and automatic operating-system restarts.
- Broker API connection: guards against expired certificates and orders sent without a fill report coming back.
- Position-sync routine: guards against the strategy's idea of its position differing from the broker's position after a disconnect.
- Risk controls and kill switch: guards against errors in the strategy logic itself, and against duplicate orders caused by connection faults.
If you are still comparing which platform to use for automated trading, how platforms that automate trading without code differ sets out how each type of tool splits the work between orders and backtesting. This article assumes you have already chosen MultiCharts.
Does a MultiCharts order machine need a VPS?
Whether you need a VPS depends on how long the strategy holds positions and whether you are at the machine during trading hours. A VPS (virtual private server) is a remote Windows computer you rent from a data center and operate through Remote Desktop. It does not shut down when your home loses power or your fiber line goes down. If you trade only the TAIEX futures day session and sit next to the computer, a home PC plus a UPS (uninterruptible power supply) is enough. If the strategy holds overnight, or trades overseas products such as NQ and ES that are still trading late at night in Taiwan time, put the order machine on a VPS.
The difference between the two setups is not which one is better, but where the risk sits:
| Risk point | Home PC + UPS | VPS / data center |
|---|---|---|
| Power outage | Medium (a UPS lasts only a few tens of minutes) | Low (the data center has backup power) |
| Home internet outage | High (a fault in either the fiber line or the router cuts you off) | Low |
| Windows auto-update restart | Medium (you can set active hours and pause updates) | Medium (you must set the same options, and nobody is there to watch) |
| Remote-access lag | None (you are at the machine) | Medium (Remote Desktop takes a few seconds to connect) |
| Monthly cost | Electricity | Fixed monthly rent |
| Best for | Mainly day-session strategies with someone watching | Overnight positions, overseas night sessions |
Whichever you choose, there are three break points to handle: power, network and automatic updates. For a home setup, use a UPS plus a backup 4G or 5G connection. For a VPS, set Windows active hours to cover the whole trading session and finish updates by hand on non-trading days. A VPS can also fail, so with either setup keep your broker's app on your phone. That way, if Remote Desktop will not connect, you can still see your account position and close it.
How do you connect MultiCharts auto-trading to a broker API?
Connect in a fixed order, and confirm the fill report at each step before you move to the next. A Broker Profile is the MultiCharts setting that stores the broker API account, certificate and order parameters. Connect it to a paper account first and confirm that orders go out and reports come back, then connect the live account. Taiwan brokers' APIs mostly require you to apply for activation on the broker's side and install a certificate first. Until you finish that, every later setting stops at “connection failed.”
- Have the broker enable the API and install the certificate. Pass condition: the broker's API test tool can log in and look up the account balance.
- Create a Broker Profile in MultiCharts. Pass condition: the connection status shows connected and the account information is correct.
- Send one order by hand on the paper account and watch the report. Pass condition: the Order and Position Tracker window shows the fill report and the position quantity is correct.
- Turn on auto-trading on the chart and set the SA/AA mode and order size. Pass condition: when a strategy signal appears, the order goes out automatically and the report comes back.
- Run live at the minimum size for one to two weeks. Pass condition: every fill matches a strategy signal, with no extra or missing orders.
Understand the mode choice in step four first. In SA (synchronous automated trading) mode, the strategy position follows the broker's report: after an order is sent, MultiCharts waits for the fill report before it records the position in the strategy. In AA (asynchronous automated trading) mode, the strategy records positions from its own calculation and does not wait for the broker's report. SA mode is less likely to leave the strategy and the account with different positions, but the strategy pauses and waits when an order is rejected or partly filled. AA mode keeps signals flowing, but a single rejected order makes the two sides' positions start to diverge. For strategies that do not need to race the clock, such as daily and hourly bars, SA mode is usually less trouble.
If the strategy source code was found and validated in AlphaPrime (Valynox) and then exported to PowerLanguage through platform export and imported into MultiCharts, it still has to go through all five steps above, because the connection settings and the strategy code are two separate things. How to import a strategy into MultiCharts and compare the backtest walks through how to compare backtest results after the import.
What do you do when the order machine disconnects? Position sync steps
After a disconnect, the first thing is to turn off auto-trading and reconcile, and only the last thing is to let the strategy take over. Position sync is the routine that brings the broker's actual position and the position the MultiCharts strategy believes it holds into line. If you reverse the order, restarting the strategy first and checking the account afterward, two mistakes are common. The strategy thinks it is flat while the account already holds one contract, so it buys another and you hold double the position. Or the strategy thinks it is long while the account is actually flat, so when a reversal signal arrives it sends a sell order and the account ends up with an unintended short position.
- When you spot a disconnect, first turn off auto-trading on the chart. This stops the strategy from sending a pile of queued orders the moment the connection comes back.
- Check the actual position and open orders in the broker's app or order software. Go by the broker, not by MultiCharts.
- Compare with the strategy position. The MultiCharts Order and Position Tracker shows the strategy position and the broker position separately. The two numbers must match.
- If they differ, place orders by hand or close out until they match. The rule is to bring the account position to the position the strategy should have. If you cannot tell what position the strategy should have, close everything so both sides are flat.
- Reconnect, confirm the status, then resume auto-trading. Check both sides' positions once more before you resume.
Print these five steps, tape them next to the screen and write the broker's service phone number on them. When a phone alert wakes you at three in the morning, you will not think; you will follow the order on the paper. That is exactly why the routine exists.
What risk controls should an order machine have? Kill switch and contract limits
Set risk controls in three layers at the same time, and make each layer able to stop a bad order by itself if the other two fail. A daily loss stop means that when the day's realized plus unrealized loss reaches an amount you wrote down in advance, positions are closed automatically and auto-trading is disabled. The three layers work like the three filter cartridges in a water purifier: each removes a different impurity, and water comes out only after passing all three.
- Broker side: a maximum contracts per order and a daily cumulative contract limit, enforced by the broker's system. This layer stays in place even if the MultiCharts machine crashes completely. If the strategy reverses directly (long one contract flips to short one contract), a single order can be two contracts. The per-order limit must allow for a reversal, but set the maximum net position to only the number of contracts the strategy needs.
- MultiCharts side: a maximum strategy position, and closing positions and disabling auto-trading when the daily loss hits the threshold. This layer guards against errors in the strategy logic itself.
- Manual switch: a channel you can reach at any time to “close everything and disable auto-trading,” usually your broker's phone app plus Remote Desktop. This layer guards against cases the first two layers did not anticipate.
A common mistake with the daily loss threshold is to set it smaller than a normal day's range for the product. The strategy is not broken, yet it gets shut down every day. The threshold has to be above a normal day's swing and below the one-day loss your account can bear. The range in between is what you can fill in.
Hypothetical example
Say NQ is near 20,000 points, one point is worth $20, and a one-contract position moves 1% with the index in a day. That is 200 points, a $4,000 change in unrealized profit and loss, which is the scale of a normal day. If you set the daily loss threshold at $3,000, an ordinary down day will stop an overnight-holding daily strategy. Set the threshold at $8,000, equal to two normal days moving against you, and the strategy is shut down only on truly abnormal days. Set the daily contract limit as the strategy's maximum position times the most entries and exits that can happen in a day, plus one contract of reversal buffer.
Another reference for the threshold is the backtest drawdown. Paste the backtest or live daily equity into the free drawdown calculator to see the largest one-day drop in the history. The daily threshold must be at least bigger than that number. Otherwise the days the backtest would have ridden out, you will stop yourself out of in live trading.
What should you monitor every day once the order machine is live?
Monitoring does not mean watching the screen all day. It means a short checklist at each of three fixed times. Watching every bar only makes you want to intervene by hand. What an order machine needs is a checklist covering the connection, position consistency, report delay and how far you are from the shutdown threshold.
- Before the open (before the TAIEX futures day session, or your first check time for overseas products): the API connection shows connected; the certificate has not expired (broker certificates are usually valid for one year, so put the expiry date in your calendar); the strategy is loaded on the chart and the auto-trading switch is on; data is updating.
- On a timer during the session (for example every two hours, less often for a daily strategy): the strategy position equals the broker position; the gap between the last order's send time and its fill-report time (investigate if it is longer than usual); how much room is left between the day's profit and loss and the daily shutdown threshold.
- After the close: reconcile the broker's fill details for the day against the MultiCharts trade list, one trade at a time; save the logs; check whether the next day has a settlement day, a holiday or a Windows update to handle.
Match the intraday check frequency to the strategy's trading frequency. For a daily strategy that averages two trades a month, checking twice a day is enough. For a minute-bar strategy that enters and exits ten times a day, you need a check every half hour, or add alerts pushed to your phone when the connection drops or the positions disagree. The next section shows how to read this frequency from a backtest report.
Use the backtest to confirm trade frequency, contract limits and the shutdown threshold before going live
Do not fill in the contract limit and the daily loss threshold by feel. Work them back from the maximum drawdown, number of trades and average trade in the backtest report. Below is an AlphaPrime backtest of NQ on daily bars, tested from 2019-01-02 to 2025-06-30, long and short, one contract. Note that this backtest runs a stand-in rule built from standard indicators, not the order machine itself. It is only to show how to read a report. It is the one kept, based on return relative to drawdown, out of the 1,024 candidates the search tried.
Source: AlphaPrime product engine (CPU), run 2026-10-31. NQ daily, 2019-01-02 to 2025-06-30, long and short, 1 contract, commission $20 and slippage $10 per trade.
| Number | Result |
|---|---|
| Net profit (closed trades) | $238,210 |
| Max drawdown | $69,945 |
| Trades | 179 |
| Win rate | 48.04% |
| Profit factor | 1.502 |
| Average trade | $1,330.78 |
| Time in market | 66.73% |

How do you turn this report into order machine settings? First, 179 trades spread over six and a half years is a little over two a month, so two intraday checks a day are enough, and the focus goes on the reconciliation before the open and after the close. Second, time in market of 66.73% means two-thirds of the time the account holds a position, and it is held overnight. NQ is still trading late at night in Taiwan time, which is the case for a VPS described earlier. Third, the backtest ran at one contract, so set the maximum position on the MultiCharts side to one contract, and the broker-side per-order limit has to allow the two-contract order of a reversal. Fourth, the average trade of $1,330.78 is after a $30 cost on each trade. Costs are a small share of the average trade, and doubling slippage would not change the conclusion. NQ moves 0.25 point per tick, worth $5, and one point is $20. The exchange may change specifications, so go by CME's contract page, and you can convert with the free futures contract and profit calculator.

The maximum drawdown of $69,945 is used in two places. Your account size has to be larger than it, with room to spare, because future drawdowns are usually deeper than the backtest's (Pardo 2008 treats the backtest maximum drawdown as a minimum requirement, not an expectation). Do not use it to set the daily loss threshold. It is a cumulative drawdown across many trades, while the daily threshold looks at a single day. Find the steepest few days on the equity curve and put the threshold above those days. Otherwise the drawdown the backtest rode out will be cut off by your own shutdown switch in live trading.
What to do next is specific. After you import the strategy you plan to run live into MultiCharts, use the PowerLanguage strategy comparison checklist to confirm that the imported trade list roughly matches the original backtest. Then copy three numbers from the report into the three risk layers: the number of trades sets the intraday check frequency, the maximum position sets the contract limits on the broker side and the MultiCharts side, and the worst days on the equity curve set the daily loss threshold. After that, go through the six checks before going live, then start live trading at the minimum size.
Frequently asked questions
What kind of computer does an order machine need?
To run a few daily or hourly charts, MultiCharts needs only an ordinary office-class computer. What matters is stability, not speed: a solid-state drive, enough memory so charts do not close from running out of it, sleep and hibernation turned off, and Windows update active hours set. Once you run many minute-bar charts or several strategies calculating at once, consider more memory and more cores.
What is the difference between SA and AA mode in MultiCharts?
In SA (synchronous automated trading) mode, the strategy position follows the broker's report: after an order is sent, the strategy records the position only once the fill report arrives. In AA (asynchronous automated trading) mode, the strategy records positions from its own calculation and does not wait for the broker's report. SA mode is less likely to leave the strategy and the account with different positions. AA mode keeps signals flowing, but a single rejected order makes the two sides' positions start to diverge, so it needs more frequent reconciliation.
Where should the VPS data center be?
The closer the data center is to the broker's servers, the smaller the order round-trip delay, but the difference is measured in milliseconds and has no practical effect on daily or hourly strategies. Choose a Taiwan data center with a stable network and an easy Remote Desktop connection. Only strategies on minute bars or shorter, which are sensitive to fill price differences, need to treat data center location as one of the options.
How many strategies can one order machine run at once?
You can run several at once, but each strategy needs its own contract limit, and the broker-side daily contract limit should be set to the sum of all strategies' maximum positions. When several strategies hold positions at once, position sync after a disconnect has to reconcile strategy by strategy. The more strategies you run, the longer the reconciliation list, so reprint the reconciliation sheet each time you add a strategy.
References
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
- CME Group. E-mini Nasdaq-100 Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html

