Range Orders
Automated trading within defined price ranges with configurable behavior at boundaries.
Overview
Range Orders define a price range and automate trading within it. They're designed for markets that are oscillating between support and resistance, allowing you to systematically capture mean-reversion moves without manual monitoring.
How They Work
A Range Order consists of:
- Upper bound — The ceiling of the range (sell/short zone)
- Lower bound — The floor of the range (buy/long zone)
- Range behavior — What happens when price is within the range
- Boundary behavior — What happens when price reaches or breaches the bounds
When price approaches the lower bound, the Range Order buys (or goes long). When price approaches the upper bound, it sells (or goes short). The result is systematic mean-reversion trading within the defined range.
Range Types
Simple Range
Buy at the bottom, sell at the top. Position size is constant at both boundaries.
Weighted Range
Position size varies based on distance from the midpoint — larger positions near the extremes where mean-reversion probability is highest.
Dynamic Range
Boundaries automatically adjust over time based on actual price action. If the range is tightening, the bounds contract. If it's expanding, they widen.
Breakout-Aware Range
Normal range trading within bounds, but automatically flips to a breakout strategy if price convincingly exits the range.
Boundary Behavior
When price reaches a boundary, you can configure:
- Hard stop — Close position and pause if breached
- Soft extension — Extend the range slightly to avoid premature exits
- Breakout flip — Switch from range to momentum strategy
- Alert only — Notify you and wait for instructions
Configuration
- Range definition — Fixed prices, ATR-based, or percentage from current price
- Position sizing — Fixed, scaled, or risk-based at each boundary
- Max positions — How many range trades can be open simultaneously
- Duration — How long the range order stays active
- Profit taking — Take profit at midpoint, opposite bound, or custom levels