Direct costs you can measure
cTrader Automation can be affected by several direct cost components that show up in transaction records. The most common are:
- Spread and commission: the spread is the difference between buy and sell prices at the time of execution; commission is a fixed or tiered fee per trade.
- Swap (rollover) charges: when positions are held overnight, swap can add a recurring debit or credit depending on the instrument and direction.
- Fees for access or execution: some providers charge for platform access, data, or order handling. Even if you do not control these fees, you can still identify them from official fee schedules and your account history.
Mechanics: In automation, your strategy repeatedly places orders. Each filled order can incur spread and commission, and any open exposure can incur swap. Over many orders, small per-trade differences can compound into meaningful totals.
Indirect “effective” costs
Not all relevant costs arrive as a single line item. Effective costs are the real economic impact of how orders are executed.
Key drivers include:
- Slippage: when execution occurs at a worse price than intended (for example, due to fast price changes), the strategy pays more spread-equivalent cost.
- Latency and connectivity: latency is delay between a decision being made and the order reaching the market. Higher latency can increase the chance of slippage.
- Order handling and partial fills: if orders are split into multiple executions, each part may pay its own spread/commission impact.
- Market liquidity: low liquidity can widen the effective trading cost because price jumps are larger and fills may be slower.
Assumptions for any example: if you compute costs, state the assumptions (e.g., one average spread per trade, one commission rate per trade, and a specific number of trades per day). These assumptions do not generalize automatically; they must be recalculated when conditions change.
Evidence and verification (independent checks)
You can verify cost impacts without relying on forecasts by using records and parameters from your own account and the documentation of the relevant components.
A practical verification approach:
- List cost components from official fee/charge documents (commissions, financing/swap rules, and any access fees). Treat these as the “price of trading.”
- Reconcile with trade history: for a chosen period, sum commissions and compare with the platform’s reported totals.
- Estimate effective spread: compare the executed prices to reference mid prices (if available) for the same timestamps. Use recorded execution details, not memory.
- Check swap accrual: confirm whether and when swap is charged by reviewing overnight entries.
- Validate execution behavior: review logs for rejected orders, partial fills, or parameter mismatches.
Limitations and risks (material failure modes)
Even if you identify costs correctly, automation outcomes can still differ from simplified calculations because execution is uncertain.
Material limitation examples include:
- Slippage spikes during fast market moves: cost estimates based on average conditions may underestimate actual paid prices.
- Order rejection or rules constraints: if an order fails due to platform constraints or parameter settings, fewer or different executions occur.
- Unexpected market state: changes in liquidity, volatility, or spread can alter effective costs quickly.
- Double-counting in analysis: mixing “intent price” and “fill price” can lead to incorrect effective cost calculations.
Because outcomes vary with market conditions, execution, and the specific fee model in your setup, historical relationships do not establish future results.
Verification questions to ask next
To understand how costs affect your specific automation use-case (without making predictions), focus on these questions:
- Which line-item fees apply in your account (commission, swap, any access fees), and where are they shown?
- What execution details are available (fill price, timestamps, partial fills) so you can measure effective cost?
- Which failure modes would change execution (order rejections, connection drops, parameter limits), and how are they recorded in logs?
- What assumptions would you need to make for a cost model, and how will you update them when conditions change?