JForex Historical Tester

Jeżeli masz pomysł lub używasz ciekawego systemu albo strategii gry, opisz ja tutaj.
Awatar użytkownika
tomekbe
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 24 lut 2009, 18:26

JForex Historical Tester

Nieprzeczytany post autor: tomekbe »

Witam

Mam mały problem ze zrozumieniem działania testera historycznego na platformie JForex.
Znalazłem na forum Dukascopy post opisujący niemal identyczny problem https://www.dukascopy.com/swiss/english ... iod#p79469

Problem polega na tym, ze w testerze historycznym muszę wybrać jedna z czterech opcji: Ticks, 1 Minute, 1 Hour oraz 1 Day. Każda z tych opcji daje inny wynik końcowy strategii. Strategia, o której piszę nie wykorzystuje żadnych danych typu "default" lub innych zmiennych, które można deklarować przed uruchomieniem. Sama tworzy zmienne i na nich pracuje więc nie potrzebuje żadnych dodatkowych ustawień. Stąd moje pytanie: Jakich ustawień potrzebuje tester aby uzyskać identyczny wynik końcowy strategii z tym, jak gdybym uruchomił strategię na koncie Live (lub Demo)? Czy odpowiedź zawarta w ostatnim poście załączonego linku gwarantuje poprawność danych końcowych? "In case you need to replicate perfectly Live market then you should execute your historical tests with 'process all Ticks'@

Ciężko mi przetestować moją strategię bez testera historycznego (np używając konta DEMO) gdyż jest to strategia długoterminowa i pierwsze wyniki mogą pokazać się tak w ciągu pierwszego dnia, jak i za kilka miesięcy.

Trochę się powtórzę:
Czy byłby ktoś w stanie krótko wyjaśnić jak na testerze historycznym JForex uzyskać identyczny wynik z tym rzeczywistym?

Z góry dziękuję
"Nie próbuj walczyć z idiotą. Najpierw zrówna Cię do swojego poziomu, a potem wygra doświadczeniem"

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: JForex Historical Tester

Nieprzeczytany post autor: ninjaproject »

Żaden test historyczny nie da wyników identycznych z rzeczywistością. Gdyby istniało takie cudo, to wszyscy by siedzieli i patrzyli jak im konto rośnie.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
tomekbe
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 24 lut 2009, 18:26

Re: JForex Historical Tester

Nieprzeczytany post autor: tomekbe »

Wydawało mi się, że tester historyczny bazuje na zarejestrowanych danych. Jeśli zysk/strata z otwartej pół roku temu strategi na koncie LIVE jest różny niż ta sama strategia uruchomiona dzisiaj na testerze historycznym, na te same pół roku z przeszłości, z tym samym depo to używanie testera historycznego jakoś .... sensu mi tu brak :) Czego nie rozumiem?
"Nie próbuj walczyć z idiotą. Najpierw zrówna Cię do swojego poziomu, a potem wygra doświadczeniem"

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: JForex Historical Tester

Nieprzeczytany post autor: -rookie- »

Z pośród ticks, 1min, 1hour, 1day wybierasz Ticks a z tej drugiej listy process all ticks. To ustawienie testera odzwierciedla zachowanie strategii na demo i live. W tym trybie każdy tick (każda zmiana ceny) jest szczegółowo odtwarzany. Do tego dochodzi tryb wizualny (rysowanie wykresu z tych ticków, z tych danych) który spowalnia tester. Reszta trybów jest chyba głównie pod kątem zwiększenia szybkości testów (wydajności) ale jakoś nie znalazłem dla nich zastosowania odkąd używam jforex. Cały czas Ticks i process all ticks używam (i jak już wiem co się dzieje w trybie wizualnym, to wtedy tylko wyświetlam sobie to co mnie interesuje w konsoli, bez ładowania wykresów, bo jest szybciej). Chyba dla testowania strategii na range barach jest jeden z tych trybów ale już nie pamiętam jak to było dokładnie. ninjaproject nie dokońca ma racje. Akurat jforex na testerze historycznym nie fałszuje danych cenowych. Niestety niektóre wskaźniki działają inaczej na testerze a inaczej na demo albo live. Kiedyś testowałem wskaźnik fraktal na range barach i na testerze to był graal a na demo i live ładował całkowicie inne dane i już graalem nie był. Tak samo stochastic i inne, trzeba prześledzić wyniki i zachowanie tych wskaźników, bo jednak są przkłamania momentami że wskaźnik na wykresie narysowany jest nad wartościami 20 a z danych wynika że był poniżej 10 i strategia zadziałała w tym miejscu itp.

Awatar użytkownika
tomekbe
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 24 lut 2009, 18:26

Re: JForex Historical Tester

Nieprzeczytany post autor: tomekbe »

Dzięki za rozjaśnienie ... i za info o wskaźnikach :) Tego również nie wiedziałem. Zaznaczając 1 Day strategia otwiera mi 73 zlecenia a Ticks o 30 mniej. Może to jest przyczyna. Przyjrzę się.

Jeśli chodzi o szybkość testera z opcją Ticks u mnie porażka - ostatnie 6 miesięcy przewala w 1,5h. Boję się sprawdzić poprzedni rok :) Używając 1 Day robiłem testy na ostatnich 5, 10 i 15 latach w miarę rozsądnym czasie ... ale często z absurdalnymi profitami co się również wyjaśniło :)
"Nie próbuj walczyć z idiotą. Najpierw zrówna Cię do swojego poziomu, a potem wygra doświadczeniem"

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: JForex Historical Tester

Nieprzeczytany post autor: -rookie- »

tomekbe pisze:
13 paź 2019, 02:48
Jeśli chodzi o szybkość testera z opcją Ticks u mnie porażka - ostatnie 6 miesięcy przewala w 1,5h. Boję się sprawdzić poprzedni rok :) Używając 1 Day robiłem testy na ostatnich 5, 10 i 15 latach w miarę rozsądnym czasie ... ale często z absurdalnymi profitami co się również wyjaśniło :)
Ja się spotkałem z problemem że podłączenie TV do laptopa spowalnia drastycznie tester jforex. Mam laptopa asus z procesorem i3-2330M i podłączony TV manta 32' ale nie przez hdmi tylko kabel VGA. I jeszcze jakiś czas temu jforex miał wycieki pamięci, teraz trochę to poprawili, ale ogólnie to tak samo spowalnia testy. Tak samo uruchomione programy w tle, zwłaszcza przeglądarka jak firefox i youtube w tle. W skrócie więcej zadań dla cpu, przez co kolejka w systemie na wykonyanie kodu javy (jforex) jest dłuższa, bo po drodze cpu robi inne rzeczy jeszcze które też są czasochłonne.

Awatar użytkownika
tomekbe
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 24 lut 2009, 18:26

Re: JForex Historical Tester

Nieprzeczytany post autor: tomekbe »

Ja posiadam stary sprzęt, jakiś celeron, pewnie dlatego tak muli. Co do przeglądarki to prawda, wsysa ile może. W task manager na drugim miejscu zaraz za JForex :)
"Nie próbuj walczyć z idiotą. Najpierw zrówna Cię do swojego poziomu, a potem wygra doświadczeniem"

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: JForex Historical Tester

Nieprzeczytany post autor: ninjaproject »

Koledzy, nie przypuszczam, żeby JF rejestrował wszystkie ticki, to jest nierealne! Gdyby wasze kompy miały rejestrować i przetwarzać nawet ticki tylko z 1 tygodnia, toby się zesrały - nie mówiąc już o roku. Takie ticki w testerze są symulowane, a nie realne!
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: JForex Historical Tester

Nieprzeczytany post autor: -rookie- »

ninjaproject pisze:
13 paź 2019, 11:00
Koledzy, nie przypuszczam, żeby JF rejestrował wszystkie ticki, to jest nierealne! Gdyby wasze kompy miały rejestrować i przetwarzać nawet ticki tylko z 1 tygodnia, toby się zesrały - nie mówiąc już o roku. Takie ticki w testerze są symulowane, a nie realne!
Ale co to ma do rzeczy. Przecież to oczywiste że te dane nie trafiają do nas tylko na serwer Dukascopy, a my aplikacją kliencką jforex łączymy się z tym serwerem i pobieramy te dane jak np. przełączymy wykres instrumentu. tcpdump albo wireshark pokaże z jakim ip konkretnie się łączy twój komputer. I to nie wszystko pobiera tylko jakiś zakres czasu. W folderze .cashe tam gdzie się zapisuje strategie, indykatory itp są pliki binarne, historia ceny dla każdego instrumentu którego wykres był załadowany z podziałem na lata, miesiące, dni.

Awatar użytkownika
tomekbe
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 24 lut 2009, 18:26

Re: JForex Historical Tester

Nieprzeczytany post autor: tomekbe »

Dobra. Postarałem się o lepszy komputer. Stacjonarny tym razem. Zmienialismy w fimie komputery bo support win7 kończy sie 14 stycznia 2020 (upgrade do win10 nie wchodził w grę, trzeba było fizycznie zmienić komputery pomimo, iż niekróre z nich to całkiem niezłe kosy) więc wpadł mi I7 z 8gb RAM. Jakież wk..wienie mnie ogarnęło, kiedy odpaliłem strategię na tym kompie i pokazało mi czas testowania strategii bardzo podobny do tego, jaki pokazuje na starym i powolnym laptopie. Ale ....drugie i każde kolejne użycie tego samego okresu, przy nawet innej strategii skróciło czas drastycznie, 2019 do dzisiaj w niecałe 3 minuty! I wtedy własnie przypomniałem sobie, że pisałes własnie o tym :). Czyli faktycznie dane muszą być pobierane z dysku. Dzięki :)

Zauważyłem natomiast inny problem, który trochę mnie zaniepokoił.
Dukascopy jest moim brokerem od ok 3 lat. Kilka...nascie tygodni temu pomyslałem, że przyjrzę się strategiom automatycznym pod kątem ich budowy, wykorzystywanego języka etc. Fajna zabawa, fajna platforma, dla mnie pasuje. Od początku jednak nurtowały mnie rozbieżnosci wyników testera historycznego co było powodem rozpoczęcia tego tematu. Wiele wyjasniono ale jednego nie jestem w stanie ogarnąc :)

Może przesadnie okresliłem, że chciałbym uzyskać na historycznym wynik identyczny z prawdziwym ale rozbieżnosci, o których chcę napisać to trochę przesada. No chyba, że znów cos przeoczyłem.
Raport strategii uruchomionej na moim starym laptopie pokazuje zupełnie inne wartosci P/L w walucie niż ta sama strategia, uruchomiona na ten sam okres na drugim komputerze. Ceny wejscia i wyjscia, czas otwarcia i zamknięcia pozycji w obu przypadkach są identyczne ale bazując na konkretnym przykładzie wielkosć 0,05 lota przy 121 pipsach to na jednym komputerze £497 a na drugim £605. Zgłupiałem.
Zna ktos powód?

Wybaczcie brak niektórych polskich znaków. Długo by tłumaczyć.
"Nie próbuj walczyć z idiotą. Najpierw zrówna Cię do swojego poziomu, a potem wygra doświadczeniem"

ODPOWIEDZ