A partir do sgcWebSockets 2022.6.0, a corretora de criptomoedas OKX é suportada. OKX, anteriormente conhecida como OKEx, é uma das maiores corretoras de negociação spot e derivativos de criptomoedas. A OKX é uma corretora sediada nas Seychelles que oferece uma plataforma para negociar vários instrumentos, como spot e derivativos. Alguns dos principais recursos da corretora incluem negociação spot e de derivativos.
O sgcWebSockets suporta a API WebSocket, incluindo os Canais Públicos e Privados. Colocação de ordens também é suportada.
Configuração
Os canais WebSocket são divididos em duas categorias: canais públicos e privados.
- Canais públicos: incluem o canal de tickers, canal K-Line, canal de preço limite, canal de livro de ordens e canal de preço mark, etc. — não exigem login.
- Canais privados: incluindo canal de conta, canal de ordens e canal de posição, etc. — exigem login.
Você pode configurar as seguintes propriedades na propriedade OKX.
- ApiKey: você pode solicitar uma nova chave de API na sua conta OKX; basta copiar o valor para esta propriedade.
- ApiSecret: é o valor secreto da API.
- Passphrase: é a string personalizada definida ao criar uma nova chave de API.
- IsDemo: se habilitado, conectará à conta Demo da OKX (desabilitado por padrão).
- IsPrivate: se habilitado, você poderá conectar aos canais privados (desabilitado por padrão).
Conexão
Quando o cliente conecta com sucesso aos servidores OKX, o evento OnOKXConnect é disparado. Se houver algum erro ao tentar conectar, o evento OnOKXError será disparado com os detalhes do erro.
Após o evento OnOKXConnect ser disparado, você pode começar a enviar e receber mensagens dos servidores 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;
Assinar Canais
O feed WebSocket fornece atualizações de dados de mercado em tempo real para ordens e trades. O feed WebSocket possui canais públicos como 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;
Colocar Ordens
Você pode colocar uma ordem somente se tiver fundos suficientes.
// Place Martket Order TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1); // Place Limit Order TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);
