EN
Artykuły / 14.2 Monitoring i wdrożenia
Monitoring i wdrożeniaszkic

Wdrożenie nowej wersji bota na flotę: checklista i pułapki

15.11.20263 min czytania

W skrócie: nowa wersja bota to nie jeden plik, który kopiuję na konto. To skompilowany plik, ustawienia i zapis wykresu, i wszystko to muszę zmienić na każdym terminalu, na którym ten bot działa. Robię to jednym skryptem z paczki zbudowanej z repozytorium, ale decyzje, które najbardziej szkodzą, zapadają w kroku przed skryptem.

Skąd się bierze paczka

Wdrażam tylko z repozytorium, nigdy z kopii, którą ktoś ma na dysku. Skrypt buduje paczkę: skompilowany plik bota i tylko te ustawienia, które mają numer wersji w nazwie. Inne pomija. Do paczki trafia też krótki plik z opisem, co weszło i z jakiej wersji. Dzięki temu po tygodniu wiem, co dokładnie stoi na koncie.

Pierwsza pułapka dotyczy wskaźników. Jeśli bot ładuje wskaźnik po nazwie, paczka go nie zawiera, a świeże konto zgłosi błąd przy starcie. U mnie rozwiązaniem jest zamiana na zasób wkompilowany w plik bota, zanim bot trafi na flotę.

Rozesłanie

Drugi skrypt kopiuje plik bota i ustawienia na każde konto, na którym bot jest zainstalowany. Nie usuwa ustawień, które konto już ma, i nie dotyka działającego terminala. Jeśli bot jest akurat podpięty do wykresu, plik może być zablokowany do zapisu, wtedy skrypt tylko ostrzega. Przed puszczeniem na całą flotę rozsyłam na jedno konto.

Druga pułapka: wdrażam tylko boty, które faktycznie działają na danym terminalu. Podbicie wersji i kompilacja botów z innego terminala to praca, która niczego nie zmienia na kontach i tylko zaciemnia historię.

Ustawienia z wykresu to prawda

Najgroźniejsza chwila to przepisywanie ustawień. Wartości, które stoją na wykresie (zwłaszcza ryzyko), są tym, co bot naprawdę robi na koncie. Plik ustawień w repozytorium bywa starszy. Gdy się różnią, przepisuję plik z wykresu, a nie odwrotnie, i zgłaszam różnicę. Zapis wykresu zmieniam tylko na zamkniętym terminalu, bo otwarty zapisuje swój stan przy zamknięciu i nadpisałby moją zmianę. Przed zapisem sprawdzam w dzienniku, że terminal rzeczywiście się zamknął.

Trzecia pułapka: ustawienia nowej wersji mogą mieć inne domyślne wartości dla funkcji dodanych w międzyczasie. Funkcje opcjonalne w moich botach są domyślnie wyłączone, ale nowa funkcja, której nie ma w starym zapisie wykresu, dostaje wartość domyślną z kodu. Dlatego po wdrożeniu porównuję listę ustawień na wykresie z listą w nowej wersji.

Kopia zapasowa i sprawdzenie

Przed zmianą robię kopię plików, które nadpisuję, razem z sumą kontrolną. Po zmianie sprawdzam, że plik na koncie ma tę samą sumę kontrolną co w paczce. Ostatni krok to wpis w repozytorium: wersja, data i lista terminali. Bez niego nie odpowiem sobie za miesiąc, gdzie która wersja stoi.

Niedziela jest moim dniem na wdrożenia, bo rynki są zamknięte i żadna pozycja nie jest otwarta. W niedzielę nie robię testów, tylko wdrażam gotowy zestaw.

Checklista

  • Paczka zbudowana z repozytorium, wersja w nagłówku zgodna z wersją w kodzie.
  • Bot nie ładuje wskaźników po nazwie (albo mają zasób wkompilowany).
  • Najpierw jedno konto, potem reszta.
  • Ustawienia przepisane z wykresu, nie z pliku, różnice zgłoszone.
  • Zapis wykresu zmieniany tylko na zamkniętym terminalu.
  • Kopia zapasowa i suma kontrolna przed i po.
  • Wpis w repozytorium z wersją, datą i listą terminali.

Powiązane

Ostrzeżenie: handel CFD i forex wiąże się z wysokim ryzykiem utraty kapitału. Artykuł ma charakter edukacyjny i nie jest rekomendacją inwestycyjną.

Dalej w rozdziale

329

Panel monitoringu floty MT5 - wszystkie konta na jednym ekranie

Krótko o moim panelu Flota MT5 (monitoring v2): konta z kilku komputerów i VPS w jednej tabeli, cel i limity prop firmy, ostrzeżenia, polecenia do botów, np. blokada handlu.

331

Polecenia z panelu - blokada handlu zdalnie

Jak działa zdalna blokada handlu: jeden plik na konto, ważny do północy, odczytywany przez bota. Zasady, które sprawiają, że błąd w pliku nigdy nie zatrzyma pozycji.

334

Kontrola ryzyka na wszystkich wykresach floty: limit 1,5% salda

Przy kilkudziesięciu wykresach na kilku komputerach ryzyko na pozycję rozjeżdża się po cichu. Opisuję regułę 1,5% salda początkowego i sposób, w jaki sprawdzam ją na całej flocie, zanim coś pójdzie źle.

335

Real kontra test na koncie: jak porównać tydzień transakcja po transakcji

Tydzień na koncie demo z 22 botami kontra ten sam tydzień w Testerze na realnych tikach. Pokazuję, jak parować transakcje i skąd biorą się różnice: blokady dzienne, błędny tik, wiadomości i poślizg.