Ab sgcWebSockets 2022.6.0 wird der Krypto-Broker OKX unterstützt. OKX, früher bekannt als OKEx, gehört zu den größten Krypto-Börsen für Spot- und Derivatehandel. OKX ist eine in den Seychellen ansässige Krypto-Börse, die eine Plattform für den Handel mit verschiedenen Instrumenten wie Spot- und Derivatemärkten bietet. Zu den Kernfunktionen der Börse zählen Spot- und Derivatehandel.
sgcWebSockets unterstützt die WebSocket-API einschließlich der öffentlichen und privaten Kanäle. Auch das Platzieren von Orders wird unterstützt.
Konfiguration
WebSocket-Kanäle werden in zwei Kategorien unterteilt: öffentliche und private Kanäle.
- Öffentliche Kanäle: umfassen Ticker-Kanal, K-Line-Kanal, Limit-Preis-Kanal, Order-Book-Kanal, Mark-Price-Kanal usw. — keine Anmeldung erforderlich.
- Private Kanäle: umfassen Account-Kanal, Order-Kanal, Position-Kanal usw. — Anmeldung erforderlich.
Die folgenden Eigenschaften kannst du in der OKX-Eigenschaft konfigurieren.
- ApiKey: Du kannst einen neuen API-Schlüssel in deinem OKX-Konto anfordern; kopiere den Wert einfach in diese Eigenschaft.
- ApiSecret: der geheime Wert des API-Schlüssels.
- Passphrase: die beim Anlegen eines neuen API-Schlüssels selbst gewählte Zeichenkette.
- IsDemo: wenn aktiviert, verbindet sich der Client mit dem OKX-Demokonto (standardmäßig deaktiviert).
- IsPrivate: wenn aktiviert, kannst du dich mit privaten Kanälen verbinden (standardmäßig deaktiviert).
Verbindung
Wenn der Client erfolgreich eine Verbindung zu den OKX-Servern aufbaut, wird das Ereignis OnOKXConnect ausgelöst. Tritt beim Verbindungsaufbau ein Fehler auf, wird das Ereignis OnOKXError mit den Fehlerdetails ausgelöst.
Sobald das Ereignis OnOKXConnect ausgelöst wurde, kannst du beginnen, Nachrichten von den OKX-Servern zu senden und zu empfangen.
oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
DoLog('#OKX Connected');
end;
procedure OnOKXError(Sender: TObject; aCode, aMessage, aRawMessage: string);
begin
DoLog('#error: ' + aMessage);
end;
Kanäle abonnieren
Der WebSocket-Feed liefert Echtzeit-Updates zu Marktdaten für Orders und Trades. Der WebSocket-Feed verfügt über einige öffentliche Kanäle wie Ticker, Trades usw.
oClient := TsgcWebSocketClient.Create(nil); oOKX := TsgcWSAPI_OKX.Create(nil); oOKX.Client := oClient; oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf'; oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j'; oOKX.OKX.Passphrase := 'secret_passphrase'; oClient.Active := True; procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string); begin oOKX.SubscribeInstruments(okxitFutures); end;
Orders platzieren
Du kannst eine Order nur platzieren, wenn du über genügend Guthaben verfügst.
// Place Martket Order TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1); // Place Limit Order TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);
