Precision, Rounding & Exchange Constraints
This page explains how Aurono handles price precision, amount rounding, and exchange-imposed constraints.
These rules are critical to ensure:
- Orders are accepted by the exchange
- Balances remain consistent
- Accounting stays accurate over time
Why Precision Matters
Section titled “Why Precision Matters”Exchanges enforce strict rules on:
- Price precision (number of decimal places)
- Amount precision (number of decimal places)
- Minimum order sizes
- Minimum order values
If any of these rules are violated, an order is rejected.
Aurono is designed to never guess or auto-correct silently.
Exchange Constraints Are Authoritative
Section titled “Exchange Constraints Are Authoritative”Aurono treats the exchange as the source of truth.
For each trading pair, the exchange defines:
- Price decimals (tick size)
- Amount decimals (lot size)
- Minimum order size
- Minimum order value
Aurono loads and caches these constraints per exchange and per trading pair.
Price Precision (Limit Price)
Section titled “Price Precision (Limit Price)”Limit prices are calculated deterministically from candle data.
Before sending an order:
- The calculated limit price is rounded to the exchange’s allowed price precision
- Rounding is always done in a safe direction
Safe rounding means:
- BUY prices are rounded down
- SELL prices are rounded up
This ensures:
- BUY orders never exceed the intended maximum price
- SELL orders never go below the intended minimum price
Amount Precision (Order Size)
Section titled “Amount Precision (Order Size)”Order amounts are calculated from: amount = eur_amount / ticker_price
Before submission:
- The calculated amount is rounded to the exchange’s allowed amount precision
- Rounding is always done down
Aurono never rounds amounts up.
This prevents:
- Insufficient balance errors
- Accidental over-selling
- Exchange rejections
Minimum Order Size
Section titled “Minimum Order Size”Most exchanges enforce a minimum order size.
If the rounded amount is below this minimum:
- The order is not placed
- No partial or adjusted order is attempted
- The strategy simply skips execution
This behavior is intentional.
Aurono does not auto-scale order sizes.
Minimum Order Value
Section titled “Minimum Order Value”Some exchanges enforce a minimum order value (e.g. €10).
If the calculated order value falls below this threshold:
- The order is rejected before submission
- No trade is placed
- Strategy state remains unchanged
This commonly occurs when:
- Order sizes are too small
- Asset prices rise significantly over time
Why Aurono Does Not Auto-Correct Orders
Section titled “Why Aurono Does Not Auto-Correct Orders”Aurono does not:
- Increase order sizes automatically
- Merge multiple triggers into one order
- Modify user-defined parameters
Reasons:
- Predictability
- Transparency
- User control
- Avoiding hidden behavior
All trades must be explainable from configuration alone.
Rounding and Accounting Accuracy
Section titled “Rounding and Accounting Accuracy”Because:
- Amounts are rounded down
- Prices are rounded safely
- Actual fill prices are retrieved post-execution
Aurono always performs a post-fill correction:
- Uses actual execution price
- Adjusts allocated capital precisely
- Stores exact executed amounts
This prevents:
- Drift in allocated capital
- Accumulated rounding errors
- Mismatch between dashboard and exchange
Common Scenarios Explained
Section titled “Common Scenarios Explained”“Why didn’t my order go through?”
The order likely violated a precision or minimum-size constraint.
“Why didn’t Aurono increase the amount?”
Aurono never modifies configured values.
“Why is some capital left unused?”
Rounding and minimum order rules may prevent execution.
These are expected outcomes.
Key Takeaway
Section titled “Key Takeaway”Precision and constraints are enforced strictly and transparently.
Aurono:
- Rounds conservatively
- Respects exchange rules
- Never hides corrections
- Never modifies intent
If an order cannot be placed exactly as defined,
it is not placed at all.