Od wersji sgcWebSockets 2022.6.0 obsługiwany jest broker kryptowalutowy OKX. OKX, dawniej znany jako OKEx, to jedna z największych giełd kryptowalutowych oferujących handel spot i instrumentami pochodnymi. OKX to giełda kryptowalutowa z siedzibą na Seszelach, udostępniająca platformę do handlu różnymi instrumentami, takimi jak spot i instrumenty pochodne. Do podstawowych funkcji giełdy należy handel spot i instrumentami pochodnymi.
sgcWebSockets obsługuje API WebSocket, w tym kanały publiczne i prywatne. Obsługiwane jest również składanie zleceń.
Konfiguracja
Kanały WebSocket są podzielone na dwie kategorie: kanały publiczne i prywatne.
- Kanały publiczne: obejmują kanał tickerów, K-Line, cen limit, arkusza zleceń, ceny mark itp. — nie wymagają logowania.
- Kanały prywatne: obejmują kanał konta, zleceń i pozycji itp. — wymagają logowania.
Możesz skonfigurować następujące właściwości we właściwości OKX.
- ApiKey: możesz wygenerować nowy klucz API na swoim koncie OKX i skopiować jego wartość do tej właściwości.
- ApiSecret: sekretna wartość klucza API.
- Passphrase: niestandardowy ciąg znaków zdefiniowany podczas tworzenia nowego klucza API.
- IsDemo: jeśli włączone, klient połączy się z kontem demo OKX (domyślnie wyłączone).
- IsPrivate: jeśli włączone, będziesz mógł łączyć się z kanałami prywatnymi (domyślnie wyłączone).
Połączenie
Gdy klient pomyślnie połączy się z serwerami OKX, zostaje wywołane zdarzenie OnOKXConnect. Jeśli podczas próby połączenia wystąpi błąd, zostanie wywołane zdarzenie OnOKXError z szczegółami błędu.
Po wywołaniu zdarzenia OnOKXConnect możesz zacząć wysyłać i odbierać wiadomości z serwerów OKX.
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;
Subskrybowanie kanałów
Feed WebSocket dostarcza w czasie rzeczywistym aktualizacje danych rynkowych dla zleceń i transakcji. Feed WebSocket ma kilka kanałów publicznych, takich jak ticker, trades...
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;
Składanie zleceń
Możesz złożyć zlecenie tylko jeśli masz wystarczające środki.
// Place Martket Order TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1); // Place Limit Order TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);
