30% off first MonthAll Promos
Platforms

Your Server Is Online. Is Your Strategy Still Running?

The VPS responds and the platform is open, but your strategy has gone quiet. A trader’s guide to checking data, permissions, alerts, and recovery before reaching for Restart.

By Marko|OCT 5, 2026·12 MIN READ

Your Server Is Online. Is Your Strategy Still Running?

Suppose you come back to the desk after leaving a strategy to run through the morning. The VPS responds immediately. Windows is fine. Your platform is still open, exactly where you left it.

There have been no trades.

That might be correct. Your entry conditions may never have arrived. But it might also mean the strategy stopped after a connection problem, its trading permission changed, or the data it depends on stopped updating.

From the server’s point of view, it has been an uneventful morning.

This is the gap worth understanding before you leave a trading setup unattended. Infrastructure uptime tells you something important about the machine. It cannot, on its own, tell you whether your trading workflow is doing what you intended.

The answer is not to watch another dashboard all day. It is to decide what needs to remain true, arrange checks for those conditions, and know what to do when one fails.

What the Green Light Checked

A useful status indicator answers a specific question. Trouble starts when we treat the answer as broader than the check behind it.

An external reachability check might establish that the server responds. A process check establishes that a named program is present. Neither establishes that the program is processing current market data or that a strategy is permitted to submit orders.

Even a responsive window has a limited meaning. Microsoft’s process documentation distinguishes whether a user interface responds to Windows messages from simply having a running process. That is a useful additional check, but it still says nothing about the correctness of a trading calculation.1

Separate the questions:

Check What It Can Establish What It Does Not Establish
Server reachability A response arrived from the monitored endpoint Every connection used by the platform is working
Platform process The selected program is running Its charts, scripts, and strategies are making progress
Data freshness The required stream has delivered a recent update The strategy consumed that update successfully
Strategy state The strategy reports the expected operating state An order was accepted or filled
Broker account and orders The connected account reports positions and order states Those states match what the strategy intended

You do not need an institutional operations desk to make these distinctions. Start with your own setup: which platform, which account, which instruments, which automation, and which connections? That gives each check a job.

Three comic panels separate a responding server, an open platform, and a paused trading strategy.
Illustrative checks, not product screenshots. A green server status does not answer every question further along the trading workflow.

A running process tells you the application is there. It does not tell you what the application is getting done.

An Open Platform Can Still Be Waiting

MetaTrader 5 provides a particularly clear example. Disabling Allow Auto Trading can leave an Expert Advisor running while preventing it from sending trade requests. Platform-wide permission and the individual EA’s permission both matter.2

MetaQuotes also documents that the EA’s OnTick() handler can continue to receive events when automated trading is disabled. In plain terms: an EA can still react to incoming prices without being allowed to trade.3 Watching activity on the chart would not tell you the whole story.

NinjaTrader makes another distinction after a lost connection. Its strategy settings offer Keep Running, Recalculate, and Stop Strategy behaviours. With Stop Strategy, restoration of the connection does not itself restart the strategy. Other behaviour depends on the selected settings and circumstances of the interruption.4

These are deliberate controls, not evidence of defective infrastructure. A stopped strategy may be doing exactly what its owner configured it to do. Automatically turning everything back on would not necessarily be an improvement.

For the trader returning to the desk, the next question is therefore more useful than “Is NinjaTrader open?”: Is the intended strategy enabled, on the intended account, in the state expected for this session?

Check the platform’s strategy status and relevant logs. An intentional session filter, an internal risk limit, a waiting state, and an unexpected disablement should not all be described as “the bot stopped.” If a third-party strategy does not explain its state clearly, ask its developer what evidence distinguishes normal waiting from a fault.

The recurring trader examines an active chart beside a disabled trading-permission control, then checks the strategy's reported state.
An application can continue working while a permission or strategy setting prevents new trading activity.

No trades can be the right result. What you need to know is whether the strategy was in a position to make that decision.

Look for the Last Useful Update

A connection indicator is a starting point. For a data-dependent strategy, freshness is more revealing: when did the input this strategy needs last update?

Consider a futures setup that uses both trades and market depth. Recent trades on one chart do not establish that the depth subscription is current. A multi-instrument strategy needs its required instruments checked, not just whichever chart happens to be visible.

A practical monitoring design records separate times for the latest required data and the latest completed strategy evaluation. The first helps identify a missing input. The second helps identify work that is no longer finishing. This generally needs support from the strategy or an integration; a hosting process monitor cannot infer it from the program’s name.

Developers sometimes add a heartbeat, a periodic message showing that some part of the software is alive. That is helpful, provided the message describes the right part. A timer can keep reporting while another component is waiting on data. Prefer a record that includes the last completed evaluation and data age, rather than just a fresh “alive” timestamp.

Even the timer’s delivery depends on implementation. MQL5 processes events through a queue and does not add another Timer event when one is already queued or being handled.5 A heartbeat interval is an intended cadence, not proof that every callback happened on schedule.

Freshness also needs market context. A scheduled session break or a thinly traded instrument can be quiet without anything failing. Define expectations around the feed, instrument, and session. Do not use “no new price for a few seconds” as a universal restart rule.

A comic sequence follows the trader from a connection light to data timestamps and a separate record of completed strategy evaluations.
The latest received data and the latest completed calculation describe different parts of the system's progress.

“Connected” is a connection state. “Updated” needs a timestamp.

A Quiet CPU Graph Can Hide a Busy Thread

Resource monitoring earns its place when you connect it to an observed interruption. Start with the time the chart fell behind or the strategy stopped reporting progress, then examine what the machine was doing around that moment.

The headline CPU percentage can be misleading. Microsoft’s Task Manager guidance uses an eight-logical-processor example: one processor’s full capacity represents 12.5% of the total. A demanding sequential task can therefore run out of processing headroom while the overall figure looks modest. View the logical-processor graphs and the relevant process, rather than relying on the average.6

That is an illustrative capacity calculation, not a diagnosis from a single number. Windows can move a thread between logical processors, and real workloads contain other activity. The useful observation is sustained pressure associated with the work that is falling behind.

Memory and storage deserve the same context. Compare a problem during a large history load with available memory, disk activity, and remaining space. A nearly full drive and a drive busy serving reads are different conditions, even if both appear under a storage heading. Ask which measurement the alert refers to.

Avoid declaring a hardware fault because a graph became busy. An optimization deliberately uses compute capacity. A live strategy unexpectedly competing with that optimization is a scheduling or capacity question. Put the workload beside the metric before changing either.

An illustrative CPU view shows eight logical processors, one fully occupied, beside a total utilization reading of 12.5 percent.
A simplified eight-processor example. Overall utilization can conceal a limit in the sequential work your strategy depends on.

Spare capacity elsewhere in the machine does not guarantee spare capacity in the part your strategy is waiting for.

Make Alerts Worth Interrupting You For

An alert should leave you with a useful next action. “Something changed” rarely does.

Google’s site-reliability guidance makes a practical distinction between symptoms and causes, and warns about the attention cost of noisy alerts.7 Applied to a trading setup, that means a stopped platform, stale required data, and high CPU usage deserve different messages. They describe different evidence and call for different checks.

For example, a process alert might say:

Execution VPS: the monitored platform process is no longer present. Detected at 09:34:12 America/New_York. Last seen at 09:34:07. Server remains reachable. Check the platform event history and broker account before resuming automation.

Those names and times are illustrative, not a measured incident or a delivery promise. The value is the context: which machine, what failed, when it was observed, and what remained available.

For your own rules, separate urgent interruptions from conditions worth reviewing later. Repeatedly warning about expected backtesting load teaches you to dismiss the messages. Do not apply that same tolerance to a process disappearing unexpectedly during its scheduled operating window.

There is another dependency to check: how will you learn that the monitoring stopped? An agent running inside an unavailable VPS may be unable to send anything. Ask whether the monitoring service detects missing reports from outside that machine. Test the notification route too; an event in a dashboard and a message delivered to your phone are different outcomes.

Choose a recipient and a backup contact where appropriate. If nobody knows who is responding, the alert has only documented the problem.

The trader receives one contextual platform alert away from the desk and opens the incident details, while a separate monitor checks for missing server reports.
A proposed alerting pattern: identify the affected system and preserve the time and context needed to investigate. This is not a ServerIQ interface or feature claim.

The useful alert is the one that tells you what needs attention and gives you somewhere sensible to start.

Restarting Is an Action, Not a Diagnosis

When a platform looks stuck, restarting it is tempting. Sometimes that is part of the right response. With automation, though, restoring a window and restoring the intended trading state are separate tasks.

NinjaTrader explicitly distinguishes a strategy position, maintained by the strategy, from the account position held in the trading account. Historical processing, manual activity, and multiple strategies can make that relationship more complicated than the last chart marker suggests.8

Its startup documentation also warns that synchronizing an account can place or close live trades. Startup synchronization does not guarantee that the states remain aligned afterward.9 Do not treat a synchronization option as a harmless refresh button.

Before restarting or resuming an affected setup, follow the recovery procedure agreed for that platform and strategy:

  1. Establish the current broker-side positions and working orders through a functioning, authenticated route. If visibility is uncertain, use the broker’s support procedure rather than guessing.
  2. Confirm which protective orders are broker- or exchange-held and which depend on the local platform continuing to run. Verify this with the broker and software provider for the order types you use.
  3. Preserve relevant logs and timestamps when doing so does not delay urgent risk handling. Confirm who is controlling the account and prevent an unintended second automation instance.
  4. Resume only after checking data, permissions, strategy state, and the documented startup behaviour. Observe the return instead of assuming it succeeded.

This is preparation for an operational interruption, not a recommendation to cancel orders, flatten positions, or select a particular trading setting. Those decisions belong to your established risk procedures.

The trader pauses before a restart, compares account and strategy records, and rehearses recovery on a clearly marked simulation workspace.
Practice the recovery sequence away from a live account. Restarting software can have consequences beyond reopening its windows.

A successful restart is not the same as a verified return to trading.

Leave the Desk With a Routine, Not a Guess

Put the checks into a short routine you can repeat before unattended operation. It should identify the account and strategy, confirm required data is current, verify the intended permissions, and establish that notifications reach the person responsible. Record the platform and strategy versions so changes have a traceable starting point.

Then rehearse the failures in a simulation or other isolated test environment. What happens after a connection interruption? Does a process-stop alert arrive? After a planned restart, which parts return automatically and which wait for you? Do not create an outage in a live account just to find out.

There is a useful role for the hosting provider here. At ChartVPS, ServerIQ is included with every plan and monitors server resources, restarts, shutdowns, and selected Windows processes. Its threshold and process alerts give clients and support a record to investigate when the operating environment changes. Existing clients can ask support to activate it and set the relevant thresholds.10

That is infrastructure and process visibility. It should be paired with the platform’s own status and logs, and with strategy-specific checks where available. A running-process check does not validate your entry conditions, prove market data is current, or reconcile a broker position. Those need evidence from the systems that know them.

Agree on that division before there is a problem: what hosting support watches, what the platform reports, what the strategy developer exposes, and who makes the decision to resume.

Return to the quiet morning. No trades may have been exactly right. With the right checks, you can establish that the inputs arrived, the strategy evaluated them, and its controls behaved as intended. Without those checks, you are trying to infer all of that from an open window.

Being able to leave the desk starts with knowing what will bring you back to it.

Sources

  1. Microsoft Learn, Process.Responding Property. ↩
  2. MetaTrader 5 Help, Platform Settings: Expert Advisors. ↩
  3. MetaQuotes, OnTick: Event Handling. ↩
  4. NinjaTrader Help Guide, Strategy Settings: Connection Loss Handling. ↩
  5. MetaQuotes, OnTimer: Event Handling. ↩
  6. Microsoft Learn, Troubleshoot Processes by Using Task Manager. ↩
  7. Google, Site Reliability Engineering: Monitoring Distributed Systems. ↩
  8. NinjaTrader Help Guide, Strategy Position vs. Account Position. ↩
  9. NinjaTrader Help Guide, Syncing Account Positions. ↩
  10. ChartVPS, ServerIQ: Trading Server Monitoring and Alerts. Product scope checked October 1, 2026. ↩

The I/O Model

Input

Market data and broker feeds

Process

CPU, memory, platform logic

Output

Orders, charts, and alerts

Continuity

Routing, monitoring, recovery