Opis projektu
PrzetłumaczoneNie znam Pythona zbyt dobrze, więc nie mogę tego sam dokończyć.
Zadanie:
Musisz stworzyć dwa skrypty Pythona, które komunikują się z platformą Interactive Brokers [dalej - IB] (biblioteka i działający przykład połączenia - załącz) i wysyłają informacje do kolejki RabbitMQ (ponownie, standardowa biblioteka).
Waża uwaga:
Podczas łączenia z platformą podawany jest porządkowy ID klienta.
Klient o numerze „0” jest zawsze głównym, otrzymującym wszystkie informacje, w przeciwieństwie do wszystkich innych ID „więcej niż 0”.
W związku z tym, w każdej sytuacji stanowej/nieetatowej, rozłączenie z platformą IB musi być wykonane poprawnie. W przeciwnym razie będziesz mógł połączyć się z platformą z Cleart ID=0 nie wcześniej niż pół godziny/godzinę. Czas oczekiwania z platformy i wymuszone zamknięcie sesji.
Dlatego stabilność pracy jest kluczowym czynnikiem. Nie oszczędzamy na inspekcjach, nie powinniśmy upadać.
1. Pierwszy skrypt.
Po uruchomieniu:
* Obsługuje stałe (asynchroniczne) połączenie z platformą IB przez dostęp określony w pliku konfiguracyjnym;
* Obsługuje stałe (asynchroniczne - 1 zadanie jest wykonywane w 1 czasie) połączenie z serwerem RabbitMQ, nasłuchuje kilku kolejek na zapytania (lista wszystkich możliwych zapytań załączona) + „subskrybuje” zdarzenia platformy IB i wysyła pełne informacje o tych zdarzeniach do kolejki do dalszego przetwarzania w innym systemie;
2. Drugi skrypt.
Po uruchomieniu:
* Obsługuje stałe (synchronizowane - 1 zadanie jest wykonywane w 1 czasie) połączenie z serwerem RabbitMQ, nasłuchuje kilku kolejek na zapytania (lista wszystkich możliwych zapytań załączona);
Na żądanie, wiadomość z kolejki:
* Łączy się z platformą IB, uzyskując dostęp do wiadomości z kolejki;
* Wykonuje misję;
Rozłącza się z platformą i czeka na dalsze instrukcje;
W załączniku bardziej szczegółowe zadanie... W swoich słowach próbował opisać szczegółowo.
+ przykład połączenia z platformą TWS.