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
| Capability | Value |
|---|---|
| Modify (amend) an order | no |
| Native batch submit / cancel | no |
| Reduce-only | no |
| Combo (multi-leg) orders | no |
| Post-only | no |
| Batch size cap | 0 |
| Backfill: bars | no |
| Backfill: ticks | no |
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).
| TIF | Supported | Accepted | On the wire |
|---|---|---|---|
| GTC | yes | yes | not emitted on the wire |
| IOC | no | no | not emitted on the wire |
| FOK | no | no | not emitted on the wire |
| GTD | no | no | not emitted on the wire |
| Day | no | no | not 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).
Dukascopy
Dukascopy 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.
Hyperliquid
Hyperliquid 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.