Como trabalhar com WebSockets no cTrader Algo
A API do cTrader Algo permite que traders e programadores acedam a vários serviços e recursos web através de uma ligação WebSocket. O protocolo WebSocket é mais eficiente do que o HTTP para acesso à rede porque é mais rápido e suporta transferência de dados em tempo real.
Neste artigo e no vídeo correspondente, irá aprender a enviar e receber mensagens através de WebSockets.
Criar um cBot
No nosso exemplo, pretendemos ligar-nos a um feed da TraderMade e depois imprimir as informações recebidas no nosso registo de cBot.
Primeiro, navegamos para a aplicação Algo para criar um novo cBot. No separador cBots, clique no botão Novo. Escreva um nome para o cBot, como Exemplo de Web Sockets, e depois clique em Criar.

Agora podemos modificar o código do cBot para os nossos fins. Vamos começar por definir um novo WebSocketClient.
1 | |
Depois, inicializamos o nosso Uri do ponto final, que é o local ao qual nos iremos ligar.
1 | |
Precisamos de editar o método OnStart(), usar o Uri para nos ligarmos ao serviço de streaming e subscrever o evento TextReceived. Este evento é acionado sempre que o texto chega à nossa aplicação através da ligação.
1 2 3 4 5 | |
Queremos imprimir a mensagem recebida em TextReceived.
1 2 3 4 | |
Pode copiar o código completo abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Clique no botão Compilar ou use o atalho Ctrl+B para compilar o cBot.
Clique no botão Adicionar instância para o cBot. Selecione a opção Localmente, escolha um símbolo e uma conta e, em seguida, clique no botão Adicionar instância.

Navegue até ao separador Registos. Deverá ver algumas mensagens do cBot que confirmam a ligação.

Subscrever um feed de preços de símbolo
Voltamos ao editor de código para o nosso cBot Exemplo de Web Sockets na aplicação Algo. Aqui, queremos subscrever um feed de preços de símbolo usando o serviço ao qual nos ligámos recentemente.
Escreva o código para enviar uma mensagem de subscrição para o serviço no nosso método OnStart().
1 2 3 | |
Nota
Obtivemos o exemplo de código e o token no website da TraderMade.
Modifique o comando Print para substituir os parênteses retos, que não podem ser usados no método Print() da API.
1 | |
Por fim, feche a ligação no método OnStop().
1 | |
Pode copiar o código completo abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
Recompile o cBot e, em seguida, inicie-o novamente.
Navegue até ao separador Registos como fez anteriormente. Agora, deverá ver o preço do símbolo transmitido em tempo real.

Este artigo mostrou-lhe como usar WebSockets para enviar e receber informações ou mensagens no cTrader.