Dwa uruchomienia tego samego robota mogą pokazać inne wyniki, choć na ekranie pozostały identyczne parametry. Nie poprawiaj od razu strategii: najpierw sprawdź, czy porównujesz ten sam kod, dane, specyfikację i model wykonania. Manifest przebiegu to zapis tych warunków. Poniższa porównywarka zestawia dwie deklaracje, a przykład pokazuje różnicę wynikającą wyłącznie z prowizji. Zgodne zapisy nadal nie dowodzą zgodnego środowiska.

Co zachować, zanim ponownie uruchomisz tester?

Zachowaj oba raporty, listy wykonań, dzienniki i parametry. Oznacz je jako dwa osobne przebiegi, także gdy jeden wygląda gorzej. Sam zrzut krzywej kapitału nie pozwoli sprawdzić ceny pierwszej transakcji, liczby częściowych wykonań ani faktycznego początku testu. Potrzebujesz śladu prowadzącego od warunków uruchomienia do operacji, a dopiero potem do końcowego wyniku.

Oddziel pojedynczy test od optymalizacji wybierającej parametry oraz od testu na późniejszym okresie. Taki podział opisuje dokumentacja Strategy Tester. „Ten sam robot” może oznaczać ten sam plik z inną kompilacją lub inną biblioteką. Zachowaj wersję terminala, program i jego zależności. Nazwa pliku nie jest identyfikatorem jego zawartości.

Zestaw żądany początek z początkiem rzeczywistym. MetaQuotes wskazuje, że niedostateczna historia przygotowawcza może przesunąć start testu. Nie porównuj pełnego miesiąca z okresem skróconym bez oznaczenia tej różnicy. Braki w samym eksporcie sprawdza analizator pokrycia CSV; ten artykuł kontroluje szerszy zestaw warunków przebiegu.

Jak przygotować dwa manifesty w tym samym formacie?

Wklej dwa obiekty JSON. Zastosuj dokładnie trzynaście nazw pól z tabeli; nie tłumacz kluczy na polski ani nie dopisuj własnych pól głównych. version ma liczbę 1 i oznacza wersję formatu manifestu, nie wersję robota. Pozostałe wartości są tekstem. Pola inputs, costs oraz initialState mogą zamiast tekstu zawierać zwykłe obiekty opisujące ustawienia.

Pola manifestu: co porównujesz?
Nazwy pólCo w nich zapisać
version, platform, build, codeRevisionFormat, platformę, kompilację oraz oznaczenie kodu i zależności.
inputs, dataSnapshotParametry wejściowe oraz identyfikator zachowanej wersji danych.
symbolSpecification, executionModel, costsSpecyfikację kontraktu, reguły symulacji i wszystkie przyjęte koszty.
requestedStart, actualStart, endŻądane i rzeczywiste granice badanego przebiegu.
initialStatePoczątkowe saldo, pozycje i inne istotne warunki inicjalizacji.

W dataSnapshot wpisz identyfikator archiwum lub samodzielnie obliczoną sumę kontrolną. Wpis „dane-v1” pozostaje Twoją deklaracją; strona nie sprawdza pliku. Podobnie codeRevision nie staje się zweryfikowanym hashem przez nadanie mu takiej nazwy. Nie wpisuj haseł, kodów dostępu ani danych osobowych. Do porównania wystarczą techniczne oznaczenia wersji.

Podawaj czasy z datą i jawną strefą, najlepiej w jednolitym zapisie UTC. Narzędzie porównuje zapisy, a nie rekonstruuje kalendarz brokera. Inny zapis tej samej chwili może wymagać ręcznego ujednolicenia. Nie zamieniaj czasu serwera na UTC przez samo dopisanie litery Z. Nieznaną wartość oznacz jako brak do ustalenia, zamiast wymyślać wiarygodnie wyglądający identyfikator.

Co rzeczywiście sprawdza porównywarka przebiegów?

Narzędzie przygotowuje dwa przykładowe zapisy do edycji i zestawia pola. Działa lokalnie, bez przesyłania danych, importowania plików ani trwałego zapisywania wpisów. Sprawdź różnice i brakujące deklaracje. Raport nie uruchamia MT5, nie odczytuje rachunku oraz nie potwierdza, że opis zgadza się z rzeczywistym przebiegiem. Równe obiekty opisują równe wpisy, nie jednakowe warunki rynku czy kompletne środowisko.

Porównaj zapisy dwóch backtestów

Analiza odbywa się lokalnie w przeglądarce. Narzędzie nie wysyła danych i nie zapisuje ich trwale. Nie wpisuj haseł ani danych osobowych.

Wymagany jest opisany schemat z version: 1. Liczby specyfikacji zapisuj jako tekst z kropką. Puste lub brakujące pola oznaczają brak danych. Limit jednego zapisu: 64 KiB.

Format JSON: pola i ograniczenia

version: 1. Pozostałe obsługiwane pola: platform, build, codeRevision, inputs, dataSnapshot, symbolSpecification, executionModel, costs, requestedStart, actualStart, end, initialState.

Wartości pól głównych są tekstem. inputs, costs oraz initialState mogą być także obiektami. Dopuszczamy puste lub pominięte pola jako brak danych. Powtórzone klucze i nieopisane pola główne są odrzucane. Limit: 8 poziomów i 2 000 wartości; liczby wewnątrz obiektów do 15 cyfr znaczących i bez niebezpiecznie dużych liczb całkowitych. Daty zapisuj z jawną strefą. Porównanie jest dosłowne: narzędzie nie uzgadnia różnych opisów ani formatów dat.

Fikcyjny przykład: ta sama transakcja, inna prowizja

Zakładamy liniowy kontrakt, rachunek USD i jedną zamkniętą transakcję z dwoma wykonaniami. Jej wynik cenowy wynosi 10 USD. Ceny, ilość i okres są identyczne; finansowanie oraz inne opłaty wynoszą zero. W costs przebiegu A wpisujemy 1 USD prowizji za wykonanie, a w B — 2 USD. To warunki własnego modelu, nie taryfa brokera.

Wynik A: 10 − 2 × 1 = 8 USD. Wynik B: 10 − 2 × 2 = 6 USD. Różnica 2 USD powstaje z kosztów. Nie dowodzi pogorszenia sygnału, błędnych danych ani poślizgu. Porównywarka ma wskazać zmienione pole kosztów; interpretacja wymaga sprawdzenia raportu i zgodności reszty założeń.

Ta sama transakcja, dwa koszty

Ta sama transakcja, dwa kosztyFikcyjny wynik cenowy 10 USD. Dwa wykonania kosztują razem 2 USD w A i 4 USD w B. Wynik netto 8 i 6 USD.Ta sama transakcja, dwa kosztyPrzebieg ACena: +10 USD1 USD / wykonanie2 × 1 = 2 USD kosztuNetto: +8 USDJedna zmianaPole: costsCeny i ilość bez zmianRóżnica netto: 2 USDTo model, nie taryfaPrzebieg BCena: +10 USD2 USD / wykonanie2 × 2 = 4 USD kosztuNetto: +6 USDZałożenia: 1 transakcja, 2 wykonania, pozostałe koszty = 0.
Wniosek: w tym modelu zmianę wyniku wyjaśnia wyłącznie prowizja. Raport porównywarki nie potwierdza, że deklarowane warunki są prawdziwe.

Jak znaleźć przyczynę, gdy zapisy nadal wyglądają tak samo?

Porównaj pierwsze różniące się wykonanie: czas sygnału, symbol, stronę ceny, ilość oraz powód wejścia lub wyjścia. Końcowe saldo może ukrywać, że przebiegi rozeszły się już przy pierwszym odczycie wskaźnika. Zapisuj także brak transakcji. Następnie zmień jeden warunek w kontrolowanym przebiegu, zachowując poprzedni raport. Zmiana kilku ustawień naraz utrudnia przypisanie efektu do konkretnej przyczyny.

Sprawdź zależności od plików i stanu początkowego programu. Zapisz, czy inicjalizacja wczytywała wcześniej zachowany stan, czy tworzyła nowy; sama nazwa programu nie odpowiada na to pytanie. Dokumentacja testera rozróżnia środowisko agenta od terminala, w tym ich zmienne globalne i operacje na plikach. Jeżeli własny kod losuje wartości, zachowaj sposób inicjalizacji generatora. Nie przypisuj każdej różnicy pamięci podręcznej ani nie usuwaj archiwum jako pierwszej czynności diagnostycznej.

Równość wszystkich zadeklarowanych pól jest punktem wyjścia do dokładniejszej kontroli. Manifest mógł pominąć zależność albo błędnie opisać dane. Nie wybieraj automatycznie lepszego wyniku i nie przepisuj gorszego jako „usterki platformy”. Plan dalszej weryfikacji opisuje rejestr wersji i dowodów, a ustawienia poradnik MT4 i MT5.

Co zrobić po porównaniu dwóch przebiegów?

  1. Zachowaj osobne raporty A i B oraz uzupełnij trzynaście pól. Powiąż deklarowane oznaczenia z właściwymi archiwami kodu, danych i ustawień. Przy brakującym dokumencie zapisz niewiadomą; nie dopisuj wersji z pamięci tylko po to, żeby formularz wyglądał na kompletny.
  2. Wybierz jedną wykrytą różnicę i sprawdź jej konsekwencje na krótkim, kontrolowanym przykładzie. Przy prowizji porównaj liczbę faktycznych wykonań i naliczenia, przy dacie początkowej — pierwszy dostępny sygnał. Zachowaj także przebieg, który nie potwierdził wstępnej hipotezy.
  3. Jeżeli deklaracje są zgodne, przejdź do pierwszego rozchodzącego się zdarzenia w dzienniku. Ustal, jakiej informacji brakuje do odtworzenia decyzji, i rozszerz własne archiwum. Dopiero po wyjaśnieniu przyczyny wróć do oceny strategii; porównywarka nie przewiduje przyszłych wyników.

Sprawdź, czy rozumiesz

Jedno krótkie ćwiczenie

Około 2 min · możesz spróbować ponownie

Cena daje 10 USD. Są dwa wykonania: w A każde kosztuje 1 USD, w B każde 2 USD. Ile wynosi różnica wyników netto?

  • 1 USD.
  • 2 USD.
  • 4 USD.
Sprawdź odpowiedź i wyjaśnienie

2 USD.

Tak. A: 10 − 2 = 8 USD; B: 10 − 4 = 6 USD. Różnica wynosi 2 USD.

Następny temat: Plan walidacji strategii: dowody, wersje i decyzje →

Po uzgodnieniu warunków ułóż badanie, które oddziela dopasowanie strategii od jej późniejszej oceny.