Overzicht
cTrader is een professioneel handelsplatform gebruikt door een aanzienlijk aantal retail en institutionele forex en CFD-brokers als alternatief voor MetaTrader. Waar MetaTrader de retail forexmarkt domineert door puur brokeraantal, heeft cTrader een sterke positie gevestigd onder brokers die transparante uitvoering, directe markttoegang en de geavanceerde grafieken en algoritmische handelsinfrastructuur prioriteren die professionele handelaars vereisen.
De cTrader Open API is een protocol buffer-gebaseerde API die externe applicaties volledige toegang biedt tot cTrader accountdata, handelsoperaties, historische marktdata en realtime prijsstromen. In tegenstelling tot MetaTrader's DLL-gebaseerde externe integratie die Windows-hosting en COM-interoperabiliteit vereist, is de cTrader Open API een moderne gRPC-stijl API toegankelijk vanuit elke taal en platform dat protocol buffers en TCP socket communicatie ondersteunt.
cAlgo is de native algoritmische ontwikkelomgeving van cTrader — de C# programmeeromgeving binnen cTrader voor het bouwen van cBots (geautomatiseerde handelsprogramma's equivalent aan MetaTrader's Expert Advisors) en maatwerk indicatoren.
Wij bouwen cTrader-integraties voor forex handelaars, systematische handelsfirma's, signaalProviders en technologiebedrijven die externe systemen moeten verbinden met de uitvoerings- en data-infrastructuur van cTrader.
Wat cTrader Integratie Dekt
cTrader Open API authenticatie. De cTrader Open API gebruikt een OAuth 2.0-gebaseerde authenticatiestroom die toegangstokens uitgeeft die specifieke toegangsscopes autoriseren.
Applicatieregistratie: cTrader Open API applicaties worden geregistreerd op connect.ctrader.com, wat een client-ID en clientgeheim produceert. De applicatieregistratie specificeert de scopes die de applicatie vereist — trading voor orderplaatsing en accountbeheer, accounts voor accountdatatoegang.
OAuth autorisatiestroom: de autorisatiecodestroom die de gebruiker volgt om de applicatie toegang te verlenen tot hun cTrader account. De autorisatie-URL met de client-ID, redirect-URI, scope en response-type parameters. De autorisatiecode ontvangen op de redirect-URI, uitgewisseld voor toegangstoken en vernieuwingstoken.
Toegangstoken beheer: toegangstokens hebben een beperkte levensduur en moeten worden vernieuwd met het vernieuwingstoken voor de vervaldatum. De tokenvernieuwingslogica die een nieuw toegangstoken aanvraagt met het vernieuwingstoken.
Applicatieauthenticatie: los van de account OAuth-stroom authenticeert de applicatie zichzelf bij de Open API server door een OAApplicationAuthReq bericht te sturen met de client-ID en het clientgeheim onmiddellijk na het opbouwen van de TCP-verbinding. Account-niveau authenticatie met OAAccountAuthReq met het toegangstoken.
Open API verbindingsbeheer. De cTrader Open API gebruikt persistente TCP-verbindingen met protocol buffer berichtomraming.
TCP-verbinding: de verbinding met het Open API eindpunt (live.ctraderapi.com:5035 voor live, demo.ctraderapi.com:5035 voor demo). De aangepaste berichtomraming: elk bericht wordt voorafgegaan door een 4-byte big-endian integer die de berichtlengte aangeeft, gevolgd door de geserialiseerde protocol buffer payload.
Heartbeat: het OAHeartbeatEvent bericht dat de server periodiek stuurt. De client-zijde heartbeat verzending met regelmatige intervallen. De herverbindingslogica die een verbroken verbinding detecteert en de TCP-verbinding herinstelt en opnieuw authenticeert.
Verzoek-antwoord correlatie: cTrader Open API verzoeken bevatten een clientMsgId veld dat wordt herhaald in de overeenkomstige respons. De correlatiemap die antwoorden koppelt aan hun oorspronkelijke verzoeken.
Orderplaatsing en -beheer. De Open API handelsoperaties voor orderuitvoering.
Nieuw order: het OANewOrderReq bericht voor het plaatsen van markt- en limietorders. De symbolId, de orderType (MARKET, LIMIT, STOP, STOP_LIMIT), de tradeSide (BUY, SELL), het volume in eenheden, de limitPrice en stopPrice voor voorwaardelijke orders, de takeProfit en stopLoss. Het OAExecutionEvent antwoord dat orderuitvoering bevestigt.
Orderannulering: het OACancelOrderReq voor het annuleren van openstaande limiet- of stoporders op order-ID.
Positiebeheer: het OAClosePositionReq voor het volledig of gedeeltelijk sluiten van een open positie. Het OAAmendPositionSLTPReq voor het aanpassen van stop loss en take profit niveaus. Het OAAmendOrderReq voor het aanpassen van openstaande orderparameters.
Positiequeries: het OAReconcileReq bericht dat alle open posities en openstaande orders retourneert voor het geauthenticeerde account.
Account en portfoliodata. Account-niveau financiële data ophalen van de Open API.
Accountinformatie: het OATraderReq bericht dat accountdetails retourneert — het saldo, het eigen vermogen, de niet-gerealiseerde PnL, de gebruikte marge, de vrije marge, het margeniveau, de accountvaluta en de accounthefboom.
Transactiegeschiedenis: de OAGetTransactionsByIdReq voor historische transactiedata.
Activaklassen en symbolen: het OASymbolsListReq bericht dat alle symbolen retourneert beschikbaar op de account. De OASymbolByIdReq voor gedetailleerde symboolspecificaties.
Realtime prijsstreaming. Abonneren op live prijsfeeds via de Open API.
Prijsabonnement: het OASubscribeSpotsReq bericht dat abonneert op realtime bied- en vraagprijsupdates voor gespecificeerde symbool-ID's. De OASpotEvent berichten die de server pusht voor elke prijsupdate.
Marktdiepte: het OASubscribeDepthQuotesReq bericht voor het abonneren op orderboekdieptedata voor ECN-accounts.
Historische marktdata. De Open API biedt toegang tot historische tick- en bardata.
Tick data: het OAGetTickDataReq bericht voor historische tick data voor een symbool binnen een tijdbereik.
Trend bars: het OAGetTrendBarsReq bericht voor historische OHLCV bar-data. De period parameter die het bar-tijdsbestek specificeert.
cAlgo cBot ontwikkeling. Native C# algoritmische handel binnen het cTrader platform.
cBot structuur: de C# klasse die erft van Robot en OnStart(), OnTick(), OnStop() en andere event handlers overschrijft.
Orderuitvoering in cAlgo: de ExecuteMarketOrder(), PlaceLimitOrder(), PlaceStopOrder() methoden. De Position.Close() en Position.ModifyStopLossPrice() methoden.
cAlgo indicatoren: de ingebouwde technische indicatoren toegankelijk via de cAlgo API. Maatwerk indicator ontwikkeling met de Indicator basisklasse.
Risicobeheer in cAlgo: de Account.Balance, Account.Equity en Account.FreeMargin eigenschappen. De Symbol.PipValue en Symbol.TickValue eigenschappen voor positiegrootteberekeningen.
Parameter inputs: het [Parameter] attribuut dat cBot en indicatorparameters blootstelt aan de cTrader UI.
Signaalprovidersintegratie met cTrader. cTrader's signaalproviderfunctionaliteit voor copy trading. De externe signaaldistributie die handelingen plaatst in volgersaccounts via de Open API als reactie op signalen van een masteraccount.
Open API vs cAlgo — De Juiste Integratiebenadering Kiezen
Open API is geschikt wanneer de handelslogica of signaalegeneratie buiten het cTrader platform draait — een Python strategie-engine, een Rust uitvoeringsysteem, een externe signaalProvider. De Open API vereist TCP socket beheer, protocol buffer serialisatie en OAuth token afhandeling, maar is toegankelijk vanuit elk platform en elke taal.
cAlgo is geschikt wanneer de strategie binnen het cTrader platform draait — de geautomatiseerde cBot die draait in de native uitvoeringsomgeving van cTrader. cAlgo biedt de meest directe toegang tot de interne data van cTrader.
Hybride benaderingen: een cAlgo cBot die brug vormt tussen het cTrader platform en een extern systeem — signalen ontvangen van een externe bron via bestandspollen of socketverbinding en orders uitvoeren via cAlgo's native orderplaatsings-API.
FIX API Integratie
Institutionele cTrader brokers kunnen FIX API-toegang bieden.
FIX sessiebeheer: de FIX sessie-opbouw (Logon), het heartbeat beheer (Heartbeat) en de sessiebeëindiging (Logout) berichten.
FIX orderplaatsing: het NewOrderSingle (D) bericht voor orderplaatsing. Het ExecutionReport (8) bericht voor orderstatusupdates en bevestigingen.
FIX marktdata: het MarketDataRequest (V) voor het abonneren op prijsnotaties.
Gebruikte Technologieën
- C# — cAlgo cBot en indicator ontwikkeling; Open API integratie gebruikmakend van het .NET ecosysteem en de officiële cTrader Open API SDK
- Rust — hoge-prestatie Open API client voor lage-latentie uitvoering en realtime prijsverwerking
- Python — Open API integratie voor strategie prototypering, signaalegeneratie en portefeuilleanalyse
- Protocol Buffers — cTrader Open API bericht serialisatie en deserialisatie
- TCP sockets — cTrader Open API transportlaag
- OAuth 2.0 — cTrader Open API authenticatie
- QuickFIX / QuickFIXn — FIX protocol implementatie voor institutionele broker FIX API toegang
- SQL (PostgreSQL / MySQL) — handelsgeschiedenis, positierecords, prestatiedata
- Redis — toegangstoken opslag, orderstatus, verbindingsbeheer
- Docker — gecontaineriseerde Open API client implementatie
- GitHub Actions — CI/CD pijplijn voor implementatie
cTrader in de Bredere Handelsarchitectuur
De toegankelijkheid van cTrader's Open API — TCP-gebaseerd met protocol buffers, toegankelijk vanuit elke taal — maakt het een flexibelere externe integratiedoel dan MetaTrader's DLL-gebaseerde aanpak. De handelsfirma die zijn strategielogica in Rust of Python draait en verbinding maakt met cTrader brokers voor uitvoering via de Open API heeft geen Windows-omgeving of COM-interoperabiliteit nodig.
Voor handelaars die over zowel MetaTrader als cTrader brokers opereren, heeft de uitvoeringslaag van het handelssysteem connectors nodig voor beide platforms. De normalisatielaag boven de connectors vertaalt tussen de broker-specifieke API's en het interne ordermodel.
Professionele cTrader Integratie
cTrader Open API en cAlgo integraties gebouwd op productiestandaarden — correcte protocol buffer berichtafhandeling, robuust TCP verbindingsbeheer met herverbinding en staatsherstel, nauwkeurig OAuth tokenlevenscyclusbeheer, complete positie- en ordertracking en de monitoring die connectiviteitsproblemen oppervlakt voor ze handelsoperaties beïnvloeden.