Jak pracować z WebSockets w cTrader Algo
Interfejs cTrader Algo API umożliwia traderom i deweloperom dostęp do różnych usług i zasobów internetowych za pośrednictwem połączenia WebSocket. Protokół WebSocket jest bardziej wydajny niż HTTP w przypadku dostępu do sieci, ponieważ jest szybszy i obsługuje przesyłanie danych w czasie rzeczywistym.
W tym artykule i odpowiadającym mu filmie dowiesz się, jak wysyłać i odbierać wiadomości za pośrednictwem WebSockets.
Tworzenie cBota
W naszym przykładzie zamierzamy połączyć się z kanałem TraderMade, a następnie wyświetlić przychodzące informacje w dzienniku naszego cBota.
Najpierw przechodzimy do aplikacji Algo, aby utworzyć nowego cBota. W zakładce cBots kliknij przycisk New. Wpisz nazwę cBota, taką jak Web Sockets Example, a następnie kliknij Create.

Możemy teraz zmodyfikować kod cBota dla naszych celów. Zacznijmy od zdefiniowania nowego WebSocketClient.
1 | |
Następnie inicjalizujemy nasz punkt końcowy Uri, który jest lokalizacją, z którą się połączymy.
1 | |
Musimy edytować metodę OnStart(), użyć Uri do połączenia z usługą strumieniową i zasubskrybować zdarzenie TextReceived. To zdarzenie jest wywoływane za każdym razem, gdy tekst dociera do naszej aplikacji przez połączenie.
1 2 3 4 5 | |
Chcemy wyświetlić otrzymaną wiadomość w TextReceived.
1 2 3 4 | |
Możesz skopiować pełny kod poniżej:
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 | |
Kliknij przycisk Build lub użyj skrótu Ctrl+B, aby zbudować cBota.
Kliknij przycisk Add instance dla cBota. Wybierz opcję Locally, wybierz symbol i konto, a następnie kliknij przycisk Add instance.

Przejdź do zakładki Logs. Powinieneś zobaczyć kilka komunikatów cBota potwierdzających połączenie.

Subskrybuj kanał cen symbolu
Wracamy do edytora kodu dla naszego cBota Web Sockets Example w aplikacji Algo. Tutaj chcemy zasubskrybować kanał cen symbolu za pomocą usługi, z którą niedawno się połączyliśmy.
Napisz kod, aby wysłać wiadomość subskrypcyjną do usługi w naszej metodzie OnStart().
1 2 3 | |
Uwaga
Uzyskaliśmy przykładowy kod i token ze strony internetowej TraderMade.
Zmodyfikuj polecenie Print, aby zastąpić nawiasy, których nie można używać w metodzie API Print().
1 | |
Na koniec zamknij połączenie w metodzie OnStop().
1 | |
Możesz skopiować pełny kod poniżej:
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 | |
Przebuduj cBota, a następnie uruchom go ponownie.
Przejdź do zakładki Logi, tak jak wcześniej. Teraz powinieneś zobaczyć cenę symbolu przesyłaną w czasie rzeczywistym.

Ten artykuł pokazał, jak używać WebSockets do wysyłania i odbierania informacji lub wiadomości w cTrader.