vike
Venues

FXCM

FXCM 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.

FXCM 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: feature-gated. The live arm compiles only under a vike-mount cargo feature; a default build has no arm at all and falls through to paper, byte-identical. Reconcile, where wired, sits behind the same feature plus the venue's own inner gates. A release binary built without the feature will never trade here whatever the credential store holds.

Even with the fxcm feature on and credentials present, the mount REFUSES to go live unless vike_fxcm::sdk_linked() — without the proprietary ForexConnect SDK compiled in, the execution client would accept every order and discard it in silence. No CI runner has ever linked that SDK, so the wire behaviour is proven only by hand on a box with it staged (crates/bridges/fxcm/src/lib.rs's sdk_linked).

Capabilities

CapabilityValue
Modify (amend) an orderno
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: none (an execution-only venue — it has no market feed of its own).

Order kinds and triggers

Order kinds the adapter wires: market, limit. Trigger types for the conditional kinds: none. 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 not at all — modify is unsupported here, so a change is a cancel and a new order (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