Stop-Loss Management System Development with Trailing Stop
When developing trading systems, we have encountered situations where an incorrectly configured stop-loss led to losses due to slippage or gap openings. Once an incorrect ATR multiplier choice caused a premature position closure at 2% before a reversal — since then we have implemented adaptive algorithms. Stop-loss management is not just about placing an order; it is a complete decision-making system for placing, moving, and executing protective orders throughout the entire position lifecycle. Our team, with experience in stop-loss automation, has completed 30+ projects, including integration with major exchanges and DeFi protocols, as well as development of trading bots with built-in stop-loss management. In this article, we share proven approaches to developing a stop-loss system that includes ATR-based stops, trailing stops, break-even, hard and soft stops, and gap protection. The main goal is to minimize losses and protect profits. Use the Stop-loss order article to understand basic concepts.
Stop-Loss Management System: How We Solve Traders' Problems?
We identify three key problems that the system solves:
Problem 1: Choosing the optimal initial stop. A simple percentage stop does not account for volatility. Therefore, we use an ATR-based stop with a multiplier of 1.5–2.5, which adapts to the market. For example, on ETH/USDT with ATR=100 pips, the stop is set 150–250 pips from entry.
Problem 2: Protecting profits after a move. Many traders fail to move their stop to break-even, losing profit on reversals. We implement automatic break-even after reaching TP1 or a specified profit percentage.
Problem 3: Gap opening risk. The stop may execute at a worse price. We use stop-limit orders with a protective limit. In one project for a crypto fund, we implemented this mechanism, reducing slippage by 60%.
Initial Stop Placement Strategies
- ATR-based: stop at N × ATR below entry. N = 1.5–2.5 depending on strategy. Adapts to volatility. More about ATR can be read in the article Average True Range.
- Structure-based: stop behind the nearest structural level (swing low/high, support/resistance). Logically justified.
- Volatility-based (Chandelier): stop at N × ATR below the position high. Automatically trailing.
- Percentage-based: simple fixed % from entry. Less adaptive, but simple.
Example of ATR-based stop calculation: for BTC/USDT, 14-day ATR = 500. Multiplier = 2. If entry at $50,000, stop = $50,000 - 2 * 500 = $49,000. Distance 2%, which is close to 2 ATR.
Moving the Stop
Break-even: after reaching TP1 or N% profit — move the stop to the entry point. The position becomes free.
class StopLossManager: def __init__(self, entry_price, initial_stop, side='long'): self.entry_price = entry_price self.stop_price = initial_stop self.side = side self.state = 'initial' # initial, break_even, trailing def check_breakeven_trigger(self, current_price, breakeven_trigger_pct=0.015): if self.side == 'long' and self.state == 'initial': profit_pct = (current_price - self.entry_price) / self.entry_price if profit_pct >= breakeven_trigger_pct: self.stop_price = self.entry_price self.state = 'break_even' return True return False def update_trailing_stop(self, current_price, highest_price, trail_pct=0.02): if self.state in ('break_even', 'trailing'): new_stop = highest_price * (1 - trail_pct) if new_stop > self.stop_price: self.stop_price = new_stop self.state = 'trailing' Why Hard/Soft Stop Hybrid Is the Best Choice?
Hard stop — a limit or market order on the exchange. Executes automatically without bot involvement. More reliable, but may cause slippage during fast moves.
Soft stop — price monitoring in code, sending the order when the level is reached. More flexible (can apply logic), but depends on bot uptime.
Recommendation: use both simultaneously. The soft stop cancels the hard stop under normal operation. The hard stop serves as insurance in case of bot failure.
Gap Opening Protection
On a gap opening (price jumps through the stop level):
- A limit stop may not execute
- A market stop executes at the worst available price
- Stop-limit (specific order type): trigger at stop, execution as limit
Stop-limit configuration: trigger = $44,000, limit = $43,500. It executes if the price does not go below $43,500 during the gap. Otherwise, it remains as a limit order on the open position.
How to Set Up Stop Monitoring?
Dashboard with visualization of all open positions, their stops, and distance to stop in percentage:
| Symbol | Entry | Stop | Distance | Status |
|---|---|---|---|---|
| BTC/USDT | $45,000 | $44,100 | 2.0% | Break-even |
| ETH/USDT | $3,200 | $3,000 | 6.25% | Initial |
Alert when the price approaches within 50% of the initial stop distance.
What Is Included in the Work?
| Deliverable | Description |
|---|---|
| Strategy Analysis | Determining stop logic, selecting ATR period and multipliers |
| Architecture | Designing stop management modules, exchange integration |
| Implementation | Writing code in Python/Solidity, deploying smart contracts |
| Testing | Backtesting on historical data, simulating gap scenarios |
| Deployment | Deploying on server or cloud, configuring monitoring |
| Training | Documentation, consultation on system management |
Process Flow
- Analytics — gather requirements, analyze market and client strategy.
- Design — choose stack (Foundry, Hardhat, ethers.js), create prototype.
- Implementation — develop smart contracts or bots.
- Testing — unit tests, integration tests with major exchanges.
- Deployment — launch in production, set up alerts.
Development Timeline
Estimated timeline: from 7 to 14 days depending on complexity and chosen stack. The exact cost is calculated individually after analyzing your strategy.
Typical Stop-Loss Setup Mistakes
- Using only a percentage stop without considering volatility
- Lack of break-even — lost profit on reversals
- Relying only on soft stop without a backup hard stop
- Ignoring gap risk around news events
Contact us for a detailed discussion of your strategy — we will offer the optimal solution for your task. Get a consultation: let's discuss your project and choose the architecture.







