EN
Artykuły / 19.1 Od strony użytkownika
Od strony użytkownikaszkic

Aktualizacja bota bez utraty ustawień

14.11.20263 min czytania

W skrócie: ustawienia działającego bota leżą w pliku wykresu, nie w pliku bota. Podmiana wersji .ex5 zwykle ich nie rusza, ale zmiana nazwy lub typu inputu cicho przywraca wartość domyślną, także dla ryzyka. Dlatego przed każdą aktualizacją robię kopię wykresu, po niej porównuję ustawienia z wzorcem i sprawdzam wersję w logu.

Gdzie naprawdę są ustawienia

Bot na wykresie ma trzy miejsca, w których siedzą jego wartości:

  • plik .ex5 (kod, tu są tylko wartości domyślne),
  • plik wykresu .chr w profilu terminala (tu są wartości z chwili, gdy bota wrzuciłem na wykres),
  • plik .set (kopia ustawień, z której wczytuję wartości ręcznie).

Pracujący bot czyta wykres, nie .set. Zmiana pliku .set nic mu nie robi, dopóki nie wczytam go ręcznie na wykres. Odwrotnie też: nowy .ex5 nie zna mojego .set, więc o wartościach decyduje to, co zostało zapisane w wykresie.

Co psuje ustawienia po cichu

Najczęstsza pułapka to zmiana nazwy inputu. Nowa wersja ma pole o innej nazwie, wykres go nie zna i terminal wstawia wartość domyślną z kodu. Nikt tego nie ogłasza, w oknie wejść nic się nie zmienia, a bot dostaje inne ryzyko albo wyłączony filtr. Przy zmianie nazwy ryzyka musiałem przepisać wartości zarówno w wykresach, jak i w plikach .set. Tak samo działa zmiana typu (liczba zamiast tekstu) i przestawienie kolejności pozycji na liście wyboru.

Druga pułapka: edycja pliku wykresu na działającym terminalu. Terminal zapisze swoją wersję przy zamknięciu i mój wpis przepadnie. Pliki wykresów zmieniam tylko wtedy, gdy terminal jest zamknięty, a zamknięcie sprawdzam w logu (wpis o zamknięciu), nie na oko.

Jak aktualizuję jeden terminal

  1. Zamykam terminal (albo, na teście, wiem że nic nie zapisze wykresu).
  2. Kopiuję stare .ex5 i pliki wykresów do osobnego folderu z datą. Niczego nie kasuję, kopie wędrują do kosza dopiero po kilku dniach.
  3. Wgrywam nowe .ex5 i liczę sumę kontrolną kopii z repo i z terminala. Zgadza się albo nie wchodzę dalej.
  4. Jeżeli nowa wersja zmieniła nazwy lub typy inputów, przepisuję je w wykresach. Wartości ryzyka bierze się z wykresu, nie z .set, bo to wykres jest prawdą o tym, co bot robi.
  5. Uruchamiam terminal i szukam w zakładce Eksperci wpisu o starcie bota z numerem wersji. Brak wpisu albo stara wersja oznacza, że podmiana nie zadziałała.
  6. Porównuję wartości z wykresów z wzorcowym .set (ryzyko, saldo początkowe, godziny zamknięcia). Rozjazd to sygnał, że coś wróciło do domyślnych.

Wiele terminali i wiele botów

Nowa wersja bota idzie na wszystkie terminale, na których on pracuje, razem z .set i kopią wykresu. Połowiczne wdrożenie jest gorsze niż żadne: jedno konto działa na starej wersji, drugie na nowej, a porównanie wyników traci sens. Terminale produkcyjne zamykam i startuję w jednym oknie czasowym (u mnie niedziela, rynek zamknięty, bez testów), według stałej listy etapów. Szczegóły tej procedury są w artykule o niedzielnej aktualizacji floty.

Wersję bota podbijam przy każdej edycji kodu. Dzięki temu w logu od razu widać, co chodzi na koncie, i nie muszę zgadywać po dacie pliku.

Checklista

  • Kopia starego .ex5 i wykresów z datą, nic nie skasowane.
  • Terminal zamknięty (potwierdzone w logu) przed edycją wykresu.
  • Suma kontrolna .ex5 zgadza się z repozytorium.
  • Sprawdzone, czy nowa wersja zmieniła nazwy lub typy inputów.
  • Po starcie w logu jest wpis z numerem nowej wersji.
  • Ryzyko, saldo początkowe i godzina zamknięcia na wykresie zgodne ze wzorcem.
  • Ta sama wersja na każdym terminalu z tym botem.

[DO UZUPEŁNIENIA: własny przypadek, w którym po aktualizacji coś wróciło do wartości domyślnych, i co to było]

Powiązane

Ostrzeżenie: artykuł opisuje moją praktykę, nie poradę inwestycyjną. Aktualizacja bota na koncie z prawdziwymi pieniędzmi to zmiana kodu, który otwiera pozycje. Pierwszy start nowej wersji obserwuj, najlepiej na demo.

Dalej w rozdziale

484

Bot nie otwiera pozycji w MT5 - 15 najczęstszych przyczyn

Bot jest na wykresie i nic nie robi. Lista 15 przyczyn w kolejności sprawdzania: od przycisku Algo Trading, przez log i ustawienia, po blokady konta i warunki brokera.