vike
Venues

cTrader

cTrader on Vike Trader: capabilities, order kinds, time-in-force handling, margin, fees, amend semantics and how the bridge is wired — rendered from the venue tables the runtime consults.

cTrader is one of the 14 venues Vike Trader mounts through the shared bridge contract: the runtime speaks to every venue through one ExecutionClient seam, and everything below is rendered from the capability tables that seam is built on — caps_for, venue_margin_support, fee_schedule_for, amend_semantics, attribution_for and venue_tif in the Rust workspace — exported as venues.json at every release. This page cannot state a stale capability: each table has a roster-completeness gate in the product tree, and a wrong row fails that gate before it could reach here. What a table cannot hold — the operational judgement — lives in the hand-written venues overview.

How the bridge is wired

Class: live-exec-recon. A default build mounts a real execution client from this venue's credentials and includes the venue in the default reconcile set: vike_mount::make_engine has an ungated arm for it. With no credentials in the store the venue stays paper — absent credentials are the live gate — and policy.venues.<id> in policy.toml is consulted before the credentials and can only ever refuse (vike_config::VenueMode::cap is a minimum, never a maximum).

The mount opens a dedicated authenticated protobuf socket synchronously; a connect failure demotes the venue to paper for the session (vike_mount::make_engine).

Capabilities

CapabilityValue
Modify (amend) an orderyes
Native batch submit / cancelno
Reduce-onlyno
Combo (multi-leg) ordersno
Post-onlyno
Batch size cap0
Backfill: barsno
Backfill: ticksno

Live market data the bridge feeds: bars, quotes.

Order kinds and triggers

Order kinds the adapter wires: market, limit, stop. Trigger types for the conditional kinds: stop-loss. The vocabulary is the canonical one from vike_model::venue_caps::ORDER_KINDS, not this venue's wire strings; the orders concepts pages explain each kind's semantics and the per-venue matrix.

Time in force

"Supported" is what the adapter wires; "accepted" is what it will take from a strategy without rejecting — a TIF can be accepted and then coerced or ignored on the wire, and that is what the last column says (vike_bridge_core::tif::venue_tif).

TIFSupportedAcceptedOn the wire
GTCyesyesnot emitted on the wire
IOCnononot emitted on the wire
FOKnononot emitted on the wire
GTDnononot emitted on the wire
Daynononot emitted on the wire

Margin

Margin modes the adapter offers: cross, defaulting to cross. What the exchange itself offers (a vendor-documentation transcription, vike_model::venue_margin_support): cross, switched not-applicable; the isolated-margin wallet is not adjustable.

Fees

Free in the default schedule (the venue's opt-in probability curve is deliberately not exported). The schedule is vike_model::fee_schedule_for's default row and is what the cost model charges in a backtest.

Amending orders

A modify on this venue is applied with semantics the registry has not classified — treat a modify as unverified on this venue (vike_model::amend_semantics).

Attribution

No attribution mechanism — orders carry no affiliate or builder tag on this venue. An absent or invalid code degrades to no attribution with a byte-identical wire (vike_model::attribution::attribution_for).

On this page