vike
Venues

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.

Dukascopy 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: sidecar-exec-no-recon. Execution runs through an owned child process rather than a socket, and no make_engine arm wires a reconcile client for it — a ReconClient factory existing is not the same as being in the live reconcile set.

No REST execution API exists, so a Java sidecar drives execution over JSON-lines stdio, and because JForex is position-per-order its fills arrive as per-fill DELTAS rather than the cumulative shape every other venue sends (crates/bridges/dukascopy/src/netting.rs, whose header opens with the position-per-order property and the netting plan built on it).

Capabilities

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

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