Back to blog
Mandatory Stop Loss Rules: What Happens When One Order Slips Through
RulesJul 27, 2026 · 8 min read

Mandatory Stop Loss Rules: What Happens When One Order Slips Through

Key takeaways

  • Mandatory stop loss clauses vary in wording, and the wording is what a compliance reviewer reads when your account is on their screen.
  • A missing stop can mean a warning, a nullified trade, a voided challenge or a closed account, and it often surfaces later at payout review.
  • A stop that lives only inside your robot or on your chart leaves the ticket's stop field empty, and the empty field is what an automated check reads.
  • Most missing stops are plumbing failures, not discipline failures: rejected modifications, partial closes, disconnections and second robots on the same account.
  • The engineering goal is that no position ever exists on the server without a stop attached, which needs the stop inside the order request plus a watchdog that repairs or closes anything naked.
  • Break your own setup on purpose on demo, including a forced disconnection right after an entry, before an evaluation fee is on the line.

What a mandatory stop loss rule actually says

On paper the rule is one line: every open position must carry a stop loss. In practice the wording changes from firm to firm, and that wording is what a compliance reviewer reads. Some rulebooks want the stop to exist from the moment the position does, so an entry sent without one is already a violation even if you add it a second later. Others allow a short grace window after the fill.

Second order clauses catch careful people. A stop placed and then pulled during a release can be logged as a window of unprotected exposure, and a stop set beyond a firm's maximum risk per position may be treated as no stop at all. So "I always trade with a stop" and "I comply with the stop loss rule" are different statements. Read the rulebook you signed, then read it again after each update, because firms revise these clauses more often than traders check, as [when prop firms change the rules](/blog/when-prop-firms-change-the-rules) covers.

  • Does the stop have to exist at submission, or is there a stated window after the fill?
  • Does the rule cover pending orders, or only filled positions?
  • Is there a maximum risk per position that the stop itself has to respect?
  • Does leftover volume after a partial close keep the original stop on your platform?

What actually happens when one order slips through

It depends on the firm and on how the breach is classified, and that uncertainty is itself the reason to automate the rule. The mildest outcome is a warning and a note on your file. One step up is nullification: the trade is removed from your results, and if it was a winner the profit leaves with it.

The harder outcomes are the ones nobody plans for. Some firms void the evaluation. Some close a funded account. Some leave the violation in the record and raise it at payout review, which is the worst version, because payout review is the first moment the firm has a financial reason to audit every ticket you sent, as [why prop firms deny payouts](/blog/why-prop-firms-deny-payouts) covers.

If it has already happened, do not delete anything. Protect or close the position, then save the ticket number, the timestamps and whatever the platform journal recorded. If your firm asks you to self report, self report: a factual message sent the same day beats a support thread six weeks later.

Detection is not a person scrolling your history. Firms typically run automated checks over trade records, looking for positions where the stop field was empty at any point, and those checks do not care whether the trade made money.

Why prop firms require a stop on every position

A prop firm is not judging your taste in setups. It is managing risk it inherits from you. A position without a stop has no defined worst case, so there is no number the risk desk can write next to it, and the rest of a typical rulebook, the daily loss limit, the maximum drawdown, the consistency clause, assumes each trade has a floor.

The floor matters because account level limits do not stop anything by themselves. A daily loss limit is a measurement, not a brake. A weekend gap or a thin session can carry an unprotected position straight through the limit before any check runs. Only an order resting on the server actually stops something, which is the distinction behind [daily loss versus max drawdown](/blog/daily-loss-vs-max-drawdown).

There is a second reason firms like the clause. A stop on every position quietly bans the behavior that destroys funded accounts: averaging into a loser, grids that keep adding, holding through news and hoping. Only 1 to 3% of funded traders keep the account over the long run, and a bounded loss per trade is one of the few controls a firm can enforce on every account at once.

A stop on the server is not the same as a stop in your robot

This is the distinction that costs people accounts they believed were compliant. Plenty of robots, and plenty of manual traders, run virtual stops: the exit lives in the software, and a close order is only sent once price gets there. On screen the two look identical. In the trade record they are not, because the stop field is empty. When a rulebook says every position must carry a stop, it usually means a resting order the broker holds.

Virtual stops fail in exactly the places a resting order does not. The terminal closes, the VPS reboots, the robot is removed from the chart or throws an error and stops looping. A stop on the server keeps working when your machine does not, which is most of the reason firms want it there.

There are honest reasons to use virtual exits, from keeping the level off the broker's book to logic that recalculates as the trade develops. On a personal account that is your call. On an evaluation account it is a rules question first, so if the wording is ambiguous, ask support in writing.

  • A server side stop is an order the broker holds. It survives your terminal closing and your VPS rebooting.
  • A virtual or hidden stop exists only while your software is running, connected and error free. The firm reads the stop field on the ticket, not the line drawn on your chart.
  • If your EA has a "virtual stop loss" or "hidden SL" toggle, check how it is set before attaching it to an evaluation account.
  • A common middle ground is a wide protective stop on the server with tighter logic managing inside it, provided that wide stop respects any maximum risk per position in the rulebook.

Where the stop goes missing, even for traders who always use one

Most traders who lose an account to this rule were not being reckless. They had a stop on every trade in the plan. It went missing in the plumbing between intention and the broker's server, and almost every item below is a message that did not arrive or a state nobody re-checked.

  • The broker rejects the stop because price sits inside the minimum stop distance. The entry fills, the stop request returns an error, and nothing else happens.
  • The robot sends the entry first and the stop as a second request, so a silent failure, or a dropped connection between the two, leaves a live position with an empty field.
  • A partial close leaves residual volume that the platform treats as a new position, without inheriting the original stop.
  • A human intervenes on top of the robot: closes half by hand, drags the stop off to give the trade room, then walks away.
  • A second robot, a copier or a signal service opens positions on the same account with the stop field never set.

How to attach the stop so it cannot be skipped

Placing the stop by hand after the fill is a race you win most of the time, and every win teaches the wrong lesson: between the fill and the manual stop sits a window of undefined risk, harmless on a calm Tuesday and enormous in the first seconds after a release. So the goal is that no position ever exists on the server without a stop attached, and that takes three layers. Layer one catches your own mistakes. Layer two catches everything else, including positions your robot never opened. Layer three catches the case where every stop was correct and the account still moved faster than any of them mattered. Most setups have only layer one.

That second layer is the category of work PraxAI GUARD exists for: it polices the firm's rules in real time instead of assuming the entry logic did the right thing, with a built-in drawdown lock that shuts the system down before the account reaches the daily limit. Since firms revise these clauses without warning, the rules being enforced are updated within 48 hours of a change.

  • Layer one: send the stop inside the order request that opens the position, then read the return code and read the position back to confirm the field is populated.
  • Handle rejection with a defined fallback, not a silent retry. If the stop is refused for being too close, widen it to the broker's minimum distance and resend. If it is still refused, close the position.
  • Layer two: run a watchdog that scans every open position on a short interval and repairs or closes anything with an empty stop field. It is the only layer that catches positions your robot did not open.
  • Layer three: keep an account level brake independent of the stops. Stops bound one trade. A separate equity check that stands the system down before the firm's threshold bounds the whole account.
  • Log every send, rejection and repair with a timestamp. If a firm questions a position, the difference between a warning and a closed account is often your ability to show what existed and when.

Test the failure modes before they cost you a challenge

You do not find out whether the plumbing holds by reading your own settings. You find out by breaking it on purpose, on demo, before an evaluation fee is on the line. If any drill below leaves a position unprotected for even a few seconds, you have found the gap an automated check would find later, while it is still free to fix.

  • Open a position during a fast market or a scheduled release and confirm the stop still lands. Minimum distance rejections happen here.
  • Kill the connection or the VPS session in the seconds after an entry, reconnect, and check whether anything is sitting unprotected.
  • Close half a position by hand and read the remainder back from the server to confirm the stop survived, then place a pending order and check its stop field is filled before it triggers.
  • Run a copier or a second robot alongside for an hour and see whether your watchdog notices positions it did not open.
  • Read the platform journal, not only the trade list. Rejections and error codes appear there and nowhere else.

Automate the rule instead of policing it

This clause does not end accounts because traders disagree with it. Almost everyone agrees a stop is a good idea. It ends accounts because compliance is continuous and human attention is not. The rule has to hold on every order, in every session, including the ones nobody was watching, the same argument [automation beats willpower](/blog/why-automation-beats-willpower) makes about the boring work.

It is the thinking behind the two engine design: one engine built for the evaluation, PraxAI FUNDED taking over as guardian once there is a funded account and a payout to protect, and PraxAI GUARD checking orders against the firm's rulebook underneath both. Results are published on a live public Myfxbook rather than on screenshots, which is the standard worth demanding from anyone selling automation.

The cost angle is worth sitting with. The average trader spends $2,400 or more a year on repeated challenges, and not every one of those repeats is a strategy failure. Some are one order that reached the server without a stop. Closing that gap is among the cheapest fixes in this business.

Frequently asked questions

Do all prop firms require a stop loss on every trade?

No. Some firms require it on every position, some require it only on certain instruments or account types, and some do not require it at all. The requirement also changes over time, so the only reliable source is the current rulebook for your specific account. Treat any blanket claim about a firm as something to verify rather than trust.

What happens if I open a trade without a stop loss at a prop firm?

It depends on how that firm classifies the breach. Outcomes range from a warning on your file, to nullification of the trade and any profit it made, to a voided evaluation or a closed funded account. The most painful version is when the violation stays in the record and is raised later during payout review.

Can a prop firm actually see that a position had no stop loss?

Usually yes. Firms typically receive detailed trade records from the platform, including the stop field on each ticket and the modifications made to it. Compliance tends to run automated checks over those records rather than reviewing accounts by hand, which is why a violation can be found long after it happened. Assume anything in the trade log is visible.

Does a profitable trade without a stop loss still count as a violation?

Usually yes. The rule is about exposure the firm could not bound, not about the outcome of the trade. A winning trade without a stop can actually be worse than a losing one, because the profit it produced is often removed from your results when the trade is nullified.

Does a mental stop or a hidden stop count for prop firm rules?

Generally not. When a firm says a stop is required, it usually means an order resting on the server that appears in the trade record. A stop held in your head, in a spreadsheet, or only inside your robot's own logic leaves the stop field empty, and the empty field is what automated checks look for. If the wording is unclear, ask support in writing.

How do I make sure my EA always sets a stop loss?

Send the stop inside the order request instead of as a follow up modification, then read the position back from the server to confirm the field is populated. Add a watchdog that scans open positions on a short interval and repairs or closes anything unprotected. Then test both by forcing a disconnection right after an entry on demo.

What should I do if my broker rejects the stop loss for being too close to price?

Widen the stop to the minimum distance the broker allows and resend it immediately. If it is still rejected, close the position rather than holding it unprotected while you troubleshoot. Rejections cluster around news and fast markets, so this is a case to test deliberately instead of discovering it live.

Want the bot that runs this discipline for you?

PraxAIPraxAI

The automated trading toolkit that passes prop-firm challenges and manages your funded accounts, hands free. Join 2,000+ traders profiting with our EA.

7-Day Money-Back
Secure Payment
Instant Delivery
Verified byMyfxbook

Legal Disclaimer

PraxAI is not a broker and not a prop firm, and we do not open or provide trading accounts. Our software is not affiliated with, endorsed by, or sponsored by any of the prop firms named on this site; those names appear for compatibility reference only. Trading forex and leveraged products carries significant risk and is not suitable for every investor, so weigh your financial situation and risk tolerance carefully before trading. The bot and all material on this site are provided for educational and informational purposes only and do not constitute financial, investment, or trading advice. PraxAI is not a licensed financial advisor and does not provide advisory services.

Not Affiliated With Meta / Facebook

This site is not part of the Facebook or Meta websites and is not endorsed by Meta Platforms in any way. FACEBOOK is a trademark of Meta Platforms, Inc.

Earnings & Risk Disclaimer (U.S. Government Required)

Trading forex on margin offers large potential rewards but also a high level of risk. You must be aware of those risks and willing to accept them before trading the forex markets. Do not trade with money you cannot afford to lose. No representation is made that any account will, or is likely to, achieve profits or losses similar to anything discussed on this site. The past performance of any system or methodology is not necessarily indicative of future results.

CFTC Rule 4.41(b)(1) / NFA Rule 2-29

SIMULATED OR HYPOTHETICAL PERFORMANCE RESULTS HAVE INHERENT LIMITATIONS. UNLIKE AN ACTUAL TRACK RECORD, THESE RESULTS DO NOT REPRESENT REAL TRADING, AND BECAUSE THE TRADES WERE NOT ACTUALLY EXECUTED THEY MAY HAVE UNDER OR OVER COMPENSATED FOR MARKET FACTORS SUCH AS LACK OF LIQUIDITY. HYPOTHETICAL PROGRAMS ARE ALSO DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFITS OR LOSSES LIKE THOSE SHOWN. IN PRACTICE THERE ARE OFTEN SHARP DIFFERENCES BETWEEN HYPOTHETICAL RESULTS AND THE ACTUAL RESULTS LATER ACHIEVED BY ANY TRADING PROGRAM. HYPOTHETICAL TRADING ALSO INVOLVES NO FINANCIAL RISK, AND NO HYPOTHETICAL RECORD CAN FULLY ACCOUNT FOR THE IMPACT OF FINANCIAL RISK IN REAL TRADING.

Trading on a live account can lose real money, and the owners of PraxAI (praxai.io) cannot be held accountable for any losses that may occur, including losses arising from possible software bugs, glitches, or malfunctions.

PraxAI and its owners assume no responsibility for errors, inaccuracies, or omissions in these materials and do not warrant the accuracy or completeness of any information, text, graphics, links, or other items contained in them. PraxAI and its owners are not liable for any special, indirect, incidental, or consequential damages, including lost revenue or lost profits, that may result from these materials.

We assume you are legally permitted to purchase and use our products. Following the global and local laws and regulations that apply to you is your responsibility, and we cannot be held responsible for any damages or legal action against you arising from those regulations.

All information on this website, and any software or guide purchased from it, is for educational purposes only and is not intended as financial advice. Any statement about profit or income, express or implied, is not a guarantee. Your own trading may result in losses, as no trading system is guaranteed. You accept full responsibility for your actions, trades, and any profit or loss, and you agree to hold PraxAI (praxai.io) and any authorized distributors of this information harmless.

Important Notices

Risk of loss: forex trading carries a high level of risk and may result in the loss of your entire investment. No guarantees: past performance does not indicate future results, and there is no assurance you will achieve the same outcomes. Liability: we are not responsible for any losses incurred from using this bot, and by using it you agree to hold us harmless from any and all liabilities or damages. None of our services or information should be considered financial advice. All rights reserved. Using this website or its contents means you accept this disclaimer.

© 2025 PraxAI™ · All rights reserved.