Risk Limits

Capital Allocation
Example: NAV CHF 110'000 × 80% = CHF 88'000 Margin → at 20:1 leverage = CHF 1'760'000 exposure
How does this work?
This value determines how much of the NAV is used as margin — distributed across FX and CFDs according to portfolio allocation. All position sizes are calculated automatically.
⚠ OANDA closes positions when equity < 50% of used margin (Margin Closeout).
Position Limits
% of account NAV per trade
Sum of all open positions
Drawdown & Correlation
Trading stops at this drawdown
Pairs with same funding currency
Filters
CFD Daytrading Controls
No new CFD signals after this UTC hour (default: 17)
No re-entry for same instrument after stop-loss (default: 3h)
Take-Profit, Stop-Loss & Trailing Stop per Asset Class
Asset Class Take-Profit (%) Stop-Loss (%) Trailing Stop (%) Note
FX (Carry) FX (Carry) — long hold
Index-CFD Index CFD — SPX500, NAS100, DAX — Intraday
Commodity Commodity — Gold, Oil, Silver — Intraday
Stock-CFD Stock CFD — Individual equities — Intraday
TP/SL: % of position value (notional). Stop-Loss should be ≥ 2× spread. MIN_SPREAD_MULT = 3× (fixed in code).
Trailing Stop: % of peak profit allowed to give back before closing. 0 = disabled. Example: 40 → exit when P&L drops below 60% of peak. Activated at 0.5% of position value as peak.
Daily Profit Lock
0 = disabled
How does this work?
Once realized + unrealized P&L for the day exceeds this threshold, all open positions are closed and no new orders are placed until midnight Zürich. Protects daily gains from late-day reversals.
Example: NAV CHF 110'000 × 5% = CHF 5'500 daily profit → Stop
Daily Loss Limit
0 = disabled
How does this work?
Once realized + unrealized P&L for the day falls below this negative threshold, all open positions are closed and no new orders are placed until midnight Zürich. Prevents uncontrolled loss escalation.
Example: NAV CHF 110'000 × 8% = CHF 8'800 daily loss → Stop
Safety Principle
All risk limits are checked by the Python worker before every order execution. No trade is placed if a limit would be violated — even in auto mode.