API XTB

XTB

 

Ondersteunde API's

 

Eigenschappen

Het WebSocket-protocol staat twee soorten aanvragen toe: Streamingopdrachten (live updates ontvangen) en Handelsgegevens ophalen (een verzoek naar de server sturen om informatie op te halen).

 

U kunt de volgende eigenschappen configureren in de XTB-eigenschap.

 

Verbinding

When de client met succes connects to XTB servers, de gebeurtenis OnXTBConnect is fired. If there is elk error while trying to connect, de gebeurtenis OnXTBError will be fired with de fout details.

Nadat de gebeurtenis OnXTBConnect is geactiveerd, kunt u beginnen met het verzenden en ontvangen van berichten van XTB-servers.

 


oClient := TsgcWebSocketClient.Create(nil);
oXTB := TsgcWSAPI_XTB.Create(nil);
oXTB.Client := oClient;
oXTB.XTB.User := 'user_0001';
oXTB.XTB.Password := 'secret_0001';
oClient.Active := True;
procedure OnXTBConnect(Sender: TObject; const aStreamSessionId: string);
begin
  DoLog('#XTB Connected');
end;
procedure OnXTBError(Sender: TObject; aCode, aDescription, aRawMessage: string);
begin
  DoLog('#error: ' + aDescription);
end;

 

Verbindingsopdrachten

 

Methode Beschrijving
Login Om enige actie uit te voeren moet de clientapplicatie het inlogproces doorlopen. Er is geen functionaliteit beschikbaar voor een correct inlogproces. De inlogmethode wordt automatisch aangeroepen nadat de client verbinding maakt met de WebSocket-server en de waarden voor Gebruiker/Wachtwoord zijn ingesteld.
Uitloggen  

 

 

Stroomomopdrachten

U kunt zich abonneren op de volgende kanalen:

 

Methode Beschrijving
SubscribeBalance Maakt het mogelijk om actuele accountindictatorwaarden in realtime op te halen, zodra ze beschikbaar zijn in het systeem.
SubscribeCandles Abonneert op en beëindigt abonnementen op API-grafiekkaarsen. Het interval van elke kaars is 1 minuut. Elke minuut arriveert een nieuwe kaars.
SubscribeKeepAlive Abonneert op en meldt zich af van 'keep alive'-berichten. Elke 3 seconden wordt een nieuw 'keep alive'-bericht door de API verzonden.
SubscribeNews Abonneert op en annuleert abonnementen op nieuws.
SubscribeProfits Abonneert op en meldt zich af van winsten.
SubscribeTickPrices

Stelt abonnement in voor koersen en biedt u de mogelijkheid om de relevante informatie in realtime te verkrijgen, zodra deze beschikbaar is in het systeem. De opdracht getTickPrices kan meerdere keren worden aangeroepen voor hetzelfde symbool, maar er wordt slechts één abonnement voor een bepaald symbool aangemaakt. Houd er rekening mee dat wanneer meerdere records beschikbaar zijn, de volgorde waarin ze worden ontvangen niet gegarandeerd is.

SubscribeTrades Stelt een abonnement in voor statusgegevens van gebruikerstransacties en stelt u in staat de relevante informatie in realtime te verkrijgen zodra deze beschikbaar is in het systeem. Houd er rekening mee dat wanneer er meerdere records beschikbaar zijn, de volgorde waarin ze worden ontvangen niet gegarandeerd is.
SubscribeTradeStatus Maakt het mogelijk om de status van verzonden handelsverzoeken in realtime te ontvangen, zodra deze beschikbaar is in het systeem. Let op: wanneer er meerdere records beschikbaar zijn, is de volgorde waarin ze worden ontvangen niet gegarandeerd
SubscribePing Het regelmatig aanroepen van deze functie is voldoende om de interne status van alle componenten in het systeem te vernieuwen. Bij een streamingverbinding, wanneer er geen opdracht door de client in de sessie wordt verzonden, wordt alleen eenrichtingsnetwerkverkeer gegenereerd. Het wordt aanbevolen dat elke applicatie die geen andere opdrachten uitvoert, deze opdracht ten minste eenmaal per 10 minuten aanroept.

 

 

Handelsgegevens ophalen

U kunt de volgende verzoeken verzenden:

 

Methode Beschrijving
GetAllSymbols Retourneert array van alle beschikbare symbolen voor de gebruiker.
GetCalendar Retourneert kalender met marktgebeurtenissen.
GetChartLastRequest Let op: deze functie kan doorgaans worden vervangen door het streaming-equivalent getCandles, de aanbevolen manier om huidige candlegegevens op te halen. Retourneert grafiekinformatie van de startdatum tot de huidige tijd. Als de gekozen periode van CHART_LAST_INFO_RECORD groter is dan 1 minuut, kan de laatste candle die door de API wordt geretourneerd, veranderen tot het einde van de periode (de candle wordt elke minuut automatisch bijgewerkt).
GetChartRangeRequest Houd er rekening mee dat deze functie gewoonlijk kan worden vervangen door het streaming-equivalent getCandles, wat de voorkeursmethode is om huidige kaarsendata op te halen. Retourneert grafiekinformatie met data tussen de opgegeven begin- en einddatums.
GetCommissionDef Returns calculation of commission and rate of exchange. De waarde is calculated as expected value, and therefore might not be perfectly accurate.
GetCurrentUserData

Retourneert informatie over accountvaluta en accounthendel.

GetIbsHistory

Retourneert IB-gegevens uit het opgegeven tijdsbereik.
GetMarginLevel Let op: this functie can be gewoonlijk replaced by its streaming equivalent getBalance  which is the preferred way of retrieving account indicators. Returns diverse account indicators
GetMarginTrade Retourneert verwachte marge voor een gegeven instrument en volume. De waarde wordt berekend als verwachte marginawaarde en is daarom mogelijk niet volledig nauwkeurig.
GetNews Merk op dat deze functie gewoonlijk kan worden vervangen door het streamingequivalent getNews, wat de aanbevolen manier is om nieuwsgegevens op te halen. Retourneert nieuws van de handelsserver dat is verzonden binnen een bepaalde periode.
GetProfitCalculation Berekent de geschatte winst voor gegeven transactiegegevens. Mag alleen worden gebruikt voor calculatorachtige apps. Winst voor openstaande transacties moet van de server worden opgehaald vanwege hogere precisie van serverberekening
GetServerTime Retourneert de huidige tijd op de handelsserver
GetStepRules Retourneert een lijst met stapregels voor DMA's
GetSymbol Retourneert informatie over het symbool beschikbaar voor de gebruiker
GetTickPrices Houd er rekening mee dat deze functie gewoonlijk kan worden vervangen door het streaming-equivalent getTickPrices, wat de aanbevolen manier is om tick-gegevens op te halen. Retourneert een array van huidige noteringen voor opgegeven symbolen; alleen noteringen die zijn gewijzigd vanaf een opgegeven tijdstempel worden geretourneerd. De nieuwe tijdstempel verkregen uit de uitvoer wordt gebruikt als argument voor de volgende aanroep van dit commando.
GetTradeRecords Retourneert een array van transacties vermeld in het orders-argument
GetTrades Let op: deze functie kan gewoonlijk worden vervangen door het streamingequivalent getTrades, de aanbevolen manier om handelsgegevens op te halen. Retourneert een array van gebruikershandels.
GetTradesHistory Houd er rekening mee dat deze functie doorgaans kan worden vervangen door het streaming-equivalent getTrades, de voorkeursmethode voor het ophalen van handelsgegevens. Retourneert een array van gebruikerstransacties die zijn gesloten binnen de opgegeven periode.
GetTradingHours Retourneert koersen en handelstijden.
GetVersion Retourneert de huidige API-versie.
Ping Het regelmatig aanroepen van deze functie is voldoende om de interne toestand van alle componenten in het systeem te vernieuwen. Het wordt aanbevolen dat elke applicatie die geen andere opdrachten uitvoert, deze opdracht minstens eens per 10 minuten aanroept. Let op dat het streamingequivalent van deze functie een combinatie is van ping en getKeepAlive
TradeTransaction Start handelstransactie. tradeTransaction stuurt hoofdtransactie-informatie naar de server.
TradeTransactionStatus Houd er rekening mee dat deze functie gewoonlijk kan worden vervangen door het streaming-equivalent getTradeStatus, wat de aanbevolen manier is om transactiestatusgegevens op te halen. Retourneert de huidige transactiestatus. Op elk moment van de transactieverwerking kan de client de status van de transactie aan de serverzijde controleren. Hiervoor moet de client een unieke order opgeven afkomstig uit de aanroep tradeTransaction.