testowanie

ODPOWIEDZ
Awatar użytkownika
m_c
Stały Bywalec
Posty: 178
Rejestracja: czwartek 17 paź 2013, 12:51
Lat na Forex: 14
Kontakt:

testowanie

środa 23 paź 2013, 16:34

witam, mam takie pytanko dotyczące testowania.
Co widzę jako wynik testu jeśli w kodzie mam parametry na D1 a podczas testu ustawiam na H1?
Czy kod się wykonuje wtedy dla D1 czy H1, a może jeszcze coś innego?
Pytam, ponieważ zauważyłem różnicę w wynikach np.:

kod test wynik
H1 H1 - 2,34
H1 D1 - 6,9

D1 D1 - 9,7
D1 H1 - 1,2

Awatar użytkownika
m05
Gaduła
Posty: 449
Rejestracja: niedziela 11 sie 2013, 09:58
Lat na Forex: 7
Lokalizacja: exPRL
Kontakt:

Re: testowanie

środa 23 paź 2013, 16:51

Tester MT4 jest do d..py.
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.Obrazek

Awatar użytkownika
akhh
Moderator Forum
Posty: 4429
Rejestracja: czwartek 07 cze 2012, 08:46
skype: ComparicFX
Lat na Forex: 10
Rodzaj rachunku: Rachunek rzeczywisty
Lokalizacja: Kielce
Kontakt:

Re: testowanie

środa 23 paź 2013, 20:27

m05 pisze:Tester MT4 jest do d..py.

Może rozwiniesz ;)
Bo nie każdy się zna - ja np. przyznam że testować strategii nie umiem i tego nie robię.
Comparic - Portal o rynku Forex, Opcjach Binarnych i CFD na akcje.

Więcej na Comparic.pl

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: testowanie

środa 23 paź 2013, 20:48

Jeżeli tester modeluje tiki na podstawie zebranych przez terminal danych historycznych od brokera to wszystko jest możliwe.

Teoretycznie nie powinno mieć znaczenia jakich ramek czasowych używa wewnętrznie Twoje EA - tester robi plik fxt zawierający "tiki" z których potem jest w stanie złożyć dowolną inną ramkę jeżeli EA zażąda. A potem jedzie po tych tikach z tego pliku.

Ale te "tiki" niewiele mają wspólnego z prawdziwymi tikami tego samego brokera - MT4 nie przechowuje tików tylko "kompresuje" je do danych słupkowych. EDIT: err: dostaje od brokera już skompresowane dane słupkowe.
Te tiki są modelowane na podstawie szczątkowych danych słupkowych (które notabene nie zawsze są prawidłowo wygenerowane przez brokera). Na dodatek zależy od tego jakie dane udało Ci się zgromadzić. Tester stara się używać najniższej dostępnej ramki dla danego okresu (przy założeniu wybrania najdokładniejszego modelowania w parametrach testera). Ale możesz nie mieć wystarczającej ilości słupków np. M1 w danym okresie. Sięgnie więc do M5, a jak nie będzie to do M15… i tak dalej. Im wyższa ramka tym gorsze modelowanie.
Może być tak, że masz M1 ale w danych jest dziura - będzie ją wtedy starał się łatać z wyższych ramek.
A ponieważ modelowanie oznacza próbę odtworzenia ruchu rynku EDIT: w okresie trwania słupka na najniższej dostępnej ramce w danych historycznych mając tylko cztery punkty (OHLC) i ilość tików na dany słupek (EDIT: wynikającą ze skompresowanych już przez brokera danych podczas gdy rzeczywistych tików mogło być tam np. 300) takie rozwiązanie od razu jest skazane na rozmaite przybliżenia i kompromisy oraz wrażliwie na zakłócenia danych (tester porównuje też wyższe ramki z niższymi żeby oszacować ilość tików jakie ma wygenerować).
W efekcie możesz mieć różnie generowane tiki w tym samym okresie bez zmiany żadnych parametrów. A co dopiero odtwarzanie innych ramek wewnątrz EA na podstawie tych przybliżonych tików...

EDIT: wiem, że brzmi to niezbyt jasno i nie za bardzo tłumaczy wprost skąd takie duże różnice ale temat wbrew pozorom nie jest taki łatwy, a na podstawie tak bardzo ogólnych informacji jakie przedstawiłeś nie da się powiedzieć nic bardziej konkretnego.

Dlatego też Mike napisał to co napisał, a ja się z nim zgadzam o tyle, że jeżeli używa się testera tak jak on jest oddany użytkownikowi to efekty są właśnie tyle warte.
Ostatnio zmieniony czwartek 24 paź 2013, 09:34 przez alx, łącznie zmieniany 1 raz.
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
m_c
Stały Bywalec
Posty: 178
Rejestracja: czwartek 17 paź 2013, 12:51
Lat na Forex: 14
Kontakt:

Re: testowanie

czwartek 24 paź 2013, 08:25

No właśnie zaczynam się zastanawiać czy testowanie ma jakikolwiek sens na MT4. Zauważyłem też że ten sam kod inaczej działa na poszczególnych platformach, różna jakość modelowania jest jak również czasem ten sam kod potrafi nie działać na poszczególnych platformach. Zainstalowałem sobie już Tickstory Lite. Muszę tylko wyczaić gdzie można pobrać w miarę dobre dane.
A tak przy okazji czy testując strategię MT4 pobiera i zapisuje na twardym dysku jakieś dane? Jeśli tak to gdzie?
Pytam, ponieważ odkąd zacząłem robić backtesty już drugi komputer zgłasza mi info że brakuje mi miejsca na twardym dysku.

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: testowanie

czwartek 24 paź 2013, 09:23

Oj zaczyna się długi i wielowątkowy temat... na dodatek wykraczający poza samo testowanie :bambam:

Testowanie ma sens jeżeli masz dobre źródło danych i stosujesz odpowiednią, a przynajmniej zawsze taką samą metodologię.
Najdokładniejsze i powtarzalne będą testy na prawdziwych tikach (które niestety trzeba sobie zrobić na piechotę).
Dobre jakościowo rezultaty można też uzyskać jeżeli masz EA które pracuje tylko na danych słupkowych - otwiera/zamyka po cenach Close/Open czy High/Low. I podobnie liczy wszelkie potrzebne mu wskaźniki i inne parametry. Ale wtedy kod musi być dobrze napisany żeby uniknąć typowych skrótów.

Zawsze będziesz miał różnice pomiędzy brokerami. Nawet ten sam broker z kontem demo może mieć różne dane pomiędzy dwoma serwerami - taka jest natura OTC.
A co dopiero słupki wrażliwe na sposób kwantyzacji - zależne od zegara brokera. Ja np. unikam jak ognia H4 i D1.
Które H4 są te właściwe? Generowane na podstawie GMT, GMT+1, GMT+2, GMT+3 z DST czy bez?
Podobnie D1 ale tutaj jeszcze dochodzi jeszcze Pacyfik err Atlantyk: które Daily jest to Daily: według czasu we Frankfurcie, Londynie czy Nowym Jorku? A co ze słupkami niedzielnymi? U jednych są bo zaczynają wcześniej, u innych nie... te słupki są zazwyczaj malutkie, zupełnie inne niż w dni robocze - weź teraz policz ATR(3) na czymś takim.

Sztuka polega na tym, żeby EA nie było wrażliwe na naturalne różnice pomiędzy dobrymi brokerami. I nie było wrażliwe na różnice pomiędzy "ECN" i Market Maker. Jeżeli przestawienie np. TP/SL o trzy pip zmienia znacząco wyniki testu to EA nie nadaje się do pracy w realu. Albo zbyt wrażliwy algorytm, albo przeoptymalizowany. Zazwyczaj to pierwsze.

Oczywiście że MT4 zapisuje dane.
Zapisuje plik fxt w [metatrader]/tester/history którego wielkość zależna jest od okresu testu i wolumenu tikowego danych z których był generowany,
Zapisuje log w [metatrader]/tester/log którego wielkość zależy od tego co pokazuje się w konsoli,
Jeżeli EA tworzy jakieś pliki to zapisuje do [metatrader]/tester/files

Normalnie plik fxt powinien być automatyczne kasowany po wyłączeniu MT4. Ale log zostaje.
Wystarczy napisać taki kod:

Kod: Zaznacz cały

int start(){
Print ("Bid ", Bid, " Ask ", Ask):
return (0);
}
I puścić na dowolnej parze i dowolnej ramce na okresie powiedzmy roku żeby dołożyć z kilkaset megabajtów :wink:
Ostatnio zmieniony czwartek 24 paź 2013, 11:26 przez alx, łącznie zmieniany 1 raz.
Od dwa, przez pięć do dziewięć...

Awatar użytkownika
m05
Gaduła
Posty: 449
Rejestracja: niedziela 11 sie 2013, 09:58
Lat na Forex: 7
Lokalizacja: exPRL
Kontakt:

Re: testowanie

czwartek 24 paź 2013, 09:57

Jakby co, można ciągnąć tiki z Dukasa za pomocą tego narzędzia

http://www.strategyquant.com/tickdatadownloader/

(jeszcze darmowego)
sam generuje dane do MT4 w obu pożądanych formatach, zabezpiecza przed nadpisaniem etc.

Do samych testów:

http://eareview.net/tick-data-suite?hop ... kdatasuite
niestety, za free tylko tydzień, potem trzeba nabyć drogą kupna.

Uzyskuje się testy 99% - choć nie zawsze, jak moje doświadczenie wskazuje. Na danych z Dukasa też są błędy.
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.Obrazek

Awatar użytkownika
m_c
Stały Bywalec
Posty: 178
Rejestracja: czwartek 17 paź 2013, 12:51
Lat na Forex: 14
Kontakt:

Re: testowanie

czwartek 24 paź 2013, 14:59

Ok, dzięki, ale jak je przetestować?
Najpierw użyłem Tickstory Lite. Pobrałem dane itd. Otworzyłem Help poczytałem i coś chyba jest nie tak w pkt 5. Po otwarciu TickStoryExpert (czyli klikam dwukrotnie w EA strategie) po wybraniu "wpisz parametry" i kliknieciu "ładuj" automatycznie pokazują się pliki z rozszerzeniem *.set, problem w tym że takowych brak. Jest tylko plik Mt4.......Server.mt4config, który został wcześniej skreowany. O dziwo po załadowaniu go "uśmiechnięta" twarz zmieniła się na "smutną".

Próbowałem uruchomić też "Launch MetaTrader for Back-testing" jednak pokazały się błędy:
" a suittable launcher could not be found for your MT version"
"no i info że próbował
for build 432,445-489,500-506,507+

Co do SQ Tick data to dopiero pobiera mi dane. Jednak nie bardzo wiem do czego je podłączyć. Czyżby wystarczył zwykły import (centrum historii) do jakiejkolwiek platformy mt4?

Awatar użytkownika
alx
Maniak Forex
Posty: 7292
Rejestracja: czwartek 15 sie 2013, 09:56
Lat na Forex: 5
Lokalizacja: Itokawa

Re: testowanie

czwartek 24 paź 2013, 15:41

Nie dam rady napisać tego o początku...
Musisz niestety zapoznać się dokładniej z tym co napisał na ten temat Birt:
http://eareview.net/tick-data
Kliknij TickData, pojawi się menu i przeleć po kolei.
Na navigatorze był/jest wątek o modelowaniu.
Tam opisywaliśmy co, jak i do czego służy.
Tutaj rozpocząłem opisywanie o co w tym chodzi:
http://forex-nawigator.biz/forum/tick-d ... ml#p334942
Ale raz, że to nie wszystko, a dwa, że to było pisane jakiś czas temu i życie trochę poszło do przodu.
Co prawda zasada działania się nie zmieniła, ale narzędzia trochę tak.
Będziesz musiał chyba przelecieć w poszukiwaniu istotnych informacji bo teraz już nie pamiętam co jest na której stronie. Np. widzę jakieś kawałki na 15-ej ale odnoszące się do wcześniejszych informacji.
No i później to też było rozwijane.
Od dwa, przez pięć do dziewięć...

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość