EN
Artykuły / 13.3 AI w tradingu
AI w tradinguszkic

Python i AI: skrypty do analizy wyników MT5, które zastąpiły arkusz

14.11.20263 min czytania

W skrócie: Tester MT5 zostawia po sobie raporty, logi i pliki z danymi, a analiza zaczyna się dopiero po nich. Zamiast arkusza mam zestaw małych skryptów w Pythonie, które napisał agent AI według mojego opisu. Każdy robi jedną rzecz i jest sprawdzony na przypadku, którego wynik znałem z góry.

Skąd wzięły się skrypty

Po kilkudziesięciu botach i setkach testów ręczne zestawianie wyników przestało działać. Ten sam bot testowałem na kilku brokerach, w kilku wersjach i na kilku ustawieniach, a wynik “najlepszy” zmieniał się zależnie od tego, który plik otworzyłem. Potrzebowałem jednego miejsca, które pamięta, jaka wersja kodu i jakie ustawienia dały który wynik. Opisałem agentowi, co ma robić, a on napisał skrypt, który to wczytuje i układa.

Trzy rodzaje skryptów, które się sprawdziły

Baza wyników. Skrypt zbiera raporty z kilku miejsc (tabela przebiegów, archiwa raportów, wyniki ręcznych siatek z Testera) do jednej lokalnej bazy. Import jest powtarzalny: ten sam raport wczytany drugi raz nie robi duplikatu, a przebieg z inną wersją kodu to osobny wpis. Wynik dla bota liczy się dopiero wtedy, gdy znam wersję i ustawienia, więc to jest najważniejsza cecha.

Porównanie dwóch przebiegów. Dwa raporty tego samego bota (świece kontra tiki, dwóch brokerów, przed i po zmianie kodu) skrypt zestawia transakcja po transakcji: które są wspólne, które tylko w jednym, gdzie rozjazd jest największy. To zastępuje porównywanie sum, o którym piszę w artykule o liście transakcji.

Sprawdzanie danych brokera. Skrypt tylko czyta pliki w terminalu testowym i podaje, od kiedy broker ma świece i tiki. Nic nie pobiera. Zaznacza też, że liczba świec jest szacunkiem z rozmiaru pliku, a obecność danych nie jest dowodem ich jakości (więcej w artykule o danych Darwinex).

Jak wygląda dobra prośba do agenta

Najlepsze skrypty dostałem, gdy opisywałem trzy rzeczy: skąd są dane, co ma wyjść (kolumny, jednostki) i jak sprawdzę wynik. Przykład z życia: skrypt do porównania przebiegów miał dostać dwa raporty i dwa pliki ze świecami, a na wyjściu dać podsumowanie, listę wspólnych i niewspólnych transakcji oraz największe różnice. Bez opisu wyjścia agent zwraca coś, co wygląda ładnie, ale nie odpowiada na pytanie.

Dwie zasady, które mi się opłaciły:

  • Skrypt tylko czyta. Nie kasuje, nie przepisuje, nie nadpisuje raportów. Jeśli coś ma zapisać, zapisuje do osobnego miejsca.
  • Nazwa i opis na górze pliku. Każdy skrypt ma w nagłówku: po co jest, jak go uruchomić i czego nie robi. Po miesiącu nie pamiętam, co robi compare_*, a agent w nowej sesji też nie.

Jak sprawdzam wynik skryptu napisanego przez AI

Najgroźniejszy jest skrypt, który działa i daje błędną liczbę. Dlatego każdy nowy skrypt uruchamiam najpierw na przypadku, którego wynik znam: raport, w którym ręcznie policzyłem transakcje, albo dwa identyczne pliki, które muszą dać zero różnic. Skrypt do bazy wyników ma osobne testy jednostkowe. Kolejna kontrola to proste pytanie: czy suma z wykresu i suma z raportu są takie same.

[DO UZUPEŁNIENIA: jeden przypadek, w którym skrypt dał liczbę niezgodną z raportem, i co było przyczyną]

Czego nie oddaję skryptom

Wniosków. Skrypt mówi, że wersja B ma o 20% więcej zysku niż A, ale nie powie, czy to szum, plateau czy wynik z jednego roku. Tę ocenę robię według tych samych reguł co zawsze: lata osobno, na prop ON, z progiem liczby transakcji. Zatwierdzenie wyniku do bazy to też moja decyzja, nie skryptu.

Checklista

  • jeden skrypt = jedna czynność, z opisem w nagłówku,
  • skrypt tylko czyta dane źródłowe,
  • prośba do agenta zawiera: skąd dane, jaki ma być wynik, jak go sprawdzę,
  • pierwszy test na przypadku ze znanym wynikiem,
  • import powtarzalny (bez duplikatów),
  • wynik powiązany z wersją kodu i ustawieniami,
  • ocena i zatwierdzenie wyniku po mojej stronie.

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

164

MCP w MT5: asystent AI może zamknąć pozycję nawet przy wyłączonym Algo

Build 6316 terminala MT5 ma wbudowany serwer MCP z ponad 100 narzędziami, w tym handlem. Sprawdziłem na demo, co może zamknąć pozycje przy wyłączonym Algo Trading i jakie ustawienie to pilnuje.

314

AI pisze bota w MQL5: co działa, a co trzeba pilnować

Claude Code pisze i poprawia moje boty MT5. Bez zasad robi typowe błędy: dokłada kod na zapas, zgaduje, rusza pliki obok. Jak je ograniczam regułami w repo i skryptem kontrolnym.

316

Przeniesienie wskaźnika z Pine Script do MQL5

Jak przenieść wskaźnik z TradingView do MT5 tak, żeby dawał te same sygnały: odpowiedniki funkcji, godziny w strefie serwera, wyższy interwał bez repaintu i bufory dla bota.

317

AI jako analityk wyników backtestu: co mu oddaję, a co sprawdzam sam

Agent AI szybko zestawia wyniki testów, ale potrafi je też pewnie zinterpretować źle. Opisuję reguły, które narzuciłem: liczby tylko z pliku, wynik z wersją i ustawieniem, tabela top 10, test rok po roku.

318

Agent AI uruchamia testy w MT5: jak sprawdzić, czy test się naprawdę wykonał

Gdy Claude Code odpala backtesty za mnie, największe ryzyko to cichy błąd: stary wynik zamiast nowego, test, który się nie wystartował, mieszanka przebiegów w jednym logu. Jak to zabezpieczam.

320

Wskaźniki na TradingView w Pine Script: wskaźnik, strategia i alerty

Czym różni się wskaźnik od strategii w Pine Script, jak działają alerty i na co uważać w backteście TradingView, żeby wynik był porównywalny z MT5.