Comment utiliser les WebSockets dans cTrader Algo
L'API cTrader Algo permet aux traders et aux développeurs d'accéder à divers services web et ressources via une connexion WebSocket. Le protocole WebSocket est plus efficace que HTTP pour l'accès réseau car il est plus rapide et prend en charge le transfert de données en temps réel.
Dans cet article et la vidéo correspondante, vous apprendrez à envoyer et recevoir des messages via WebSockets.
Créer un cBot
Dans notre exemple, nous avons l'intention de nous connecter à un flux TraderMade, puis d'imprimer les informations entrantes dans notre journal de cBot.
Tout d'abord, nous naviguons vers l'application Algo pour créer un nouveau cBot. Dans l'onglet cBots, cliquez sur le bouton Nouveau. Saisissez un nom pour le cBot, tel que Web Sockets Example, puis cliquez sur Créer.

Nous pouvons maintenant modifier le code du cBot pour nos besoins. Commençons par définir un nouveau WebSocketClient.
1 | |
Ensuite, nous initialisons notre point de terminaison Uri, qui est l'emplacement auquel nous allons nous connecter.
1 | |
Nous devons modifier la méthode OnStart(), utiliser Uri pour nous connecter au service de streaming et nous abonner à l'événement TextReceived. Cet événement est déclenché chaque fois qu'un texte atteint notre application via la connexion.
1 2 3 4 5 | |
Nous voulons imprimer le message reçu dans TextReceived.
1 2 3 4 | |
Vous pouvez copier le code complet ci-dessous :
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 | |
Cliquez sur le bouton Build ou utilisez le raccourci Ctrl+B pour créer le cBot.
Cliquez sur le bouton Ajouter une instance pour le cBot. Sélectionnez l'option Localement, choisissez un symbole et un compte, puis cliquez sur le bouton Ajouter une instance.

Accédez à l'onglet Journaux. Vous devriez voir quelques messages du cBot qui confirment la connexion.

S'abonner à un flux de prix de symbole
Nous retournons à l'éditeur de code pour notre cBot Web Sockets Example dans l'application Algo. Ici, nous voulons nous abonner à un flux de prix de symbole en utilisant le service auquel nous venons de nous connecter.
Écrivez le code pour envoyer un message d'abonnement au service dans notre méthode OnStart().
1 2 3 | |
Remarque
Nous avons obtenu l'exemple de code et le jeton sur le site web de TraderMade.
Modifiez la commande Print pour remplacer les crochets, qui ne peuvent pas être utilisés dans la méthode Print() de l'API.
1 | |
Enfin, fermez la connexion dans la méthode OnStop().
1 | |
Vous pouvez copier le code complet ci-dessous :
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 | |
Reconstruisez le cBot, puis redémarrez-le.
Accédez à l'onglet Journaux comme vous l'avez fait précédemment. Maintenant, vous devriez voir le prix du symbole diffusé en temps réel.

Cet article vous a montré comment utiliser les WebSockets pour envoyer et recevoir des informations ou des messages dans cTrader.