Tick data - 99% jakość modelowania w MetaTrader 4.

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.
259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

Wygląda na to, że tak. Wolumeny dla pojedyńczych świeczek jednominutowych wahają się od 1 do 126 w godzinach szczytu na kabelku. Przy stawieniach Real Spread.

Ale może trochę tutaj zamieszałem - te skrypty generują fxt dla testera, a nie tester generuje fxt na podstawie historii z zaimportowanych tików.

Tym niemniej znalazłem coś takiego:

if (UseRealSpread)
{
UseRealVolume = false;
}

(...)

if (!UseRealVolume)
{
tick_volume = 1;
}

A ja właśnie używam UseRealSpread czyli faktycznych par Bid/Ask.
Hmm.. trochę nie o to mi chodziło. Chodziło mi o usunięcie duplikatów.
Np: 1.35555/1.33356, 1.35555/1.33356, 1.35555/1.33357
Tak może to wyglądać w historii, ale dla mnie wystarczy raz 1.35555/1.33356, a potem dalej (no może nie aż tak bardzo, powiedzmy w jednej minucie). Bo każdy tik to nowa pętelka, a tych pętelek jest... :-|
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

problem jest taki że pliki .csv mają większe rozmiary niż .fxt
konwersje robię skryptem dukascopy2fxt.
Podczas testowania okazuje się że są dziury w danych. np. USDCAD test zaczyna się od 2007 roku przechodzi przez cały 2007r i przeskakuje od razu do 2011 r.
Co z tym można zrobić?
Pieniądze rosną na drzewie cierpliwości.

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

NiceFox pisze:problem jest taki że pliki .csv mają większe rozmiary niż .fxt
konwersje robię skryptem dukascopy2fxt.
Podczas testowania okazuje się że są dziury w danych. np. USDCAD test zaczyna się od 2007 roku przechodzi przez cały 2007r i przeskakuje od razu do 2011 r.
Co z tym można zrobić?
A sprawdziłeś, czy masz wszystkie dane źródłowe w postaci .bin?
Powinieneś mieć katalog USDCAD, w nim podkatalogi kolejnych lat, w nich podkatalogi kolejnych miesięcy, w nich podkatalogi kolejnych dni, a w nic... uff, pliki kolejnych godzin...

Pliki csv zawsze będa większe niż fxt. To wynika chociażby z różnicy pomiędzy formatem tekstowym a binarnym.

Zrób na też na próbę plik csv z jakiegoś krótkiego okresu w tej dziurze - żeby zobaczyć, czy są prawidłowo generowane. Weź dzień lub dwa to da się to jeszcze otworzyć w jakiś edytorze.
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

Dane bin są ok 100MB na każdy rok.

Zrobiłem tak jak napisałeś. Skryptem dukascopy2fxt zrobiłem konwersje na bardzo krótkim okresie 1 miesiąca z 2008 r. Puściłem testera i okazało się że nie ma danych.
Ściągnąłem dukascopierem ten sam okres jeszcze raz i zrobiłem konwersję i dane już są.
Nie wiem co się dzieje. Może coś z dukascopierem nie tak ?
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

No niestety przy ponownej konwersji na fxt dalej jest dziura w danych.
Spróbuje sciągnąć jeszcze raz .csv.
A może pod XP jest jakieś ograniczenie do wielkości pliku?
Pieniądze rosną na drzewie cierpliwości.

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

NiceFox pisze:Dane bin są ok 100MB na każdy rok.

Zrobiłem tak jak napisałeś. Skryptem dukascopy2fxt zrobiłem konwersje na bardzo krótkim okresie 1 miesiąca z 2008 r. Puściłem testera i okazało się że nie ma danych.
Ściągnąłem dukascopierem ten sam okres jeszcze raz i zrobiłem konwersję i dane już są.
Nie wiem co się dzieje. Może coś z dukascopierem nie tak ?
A jak masz ustawiony format daty i waluty w systemie operacyjnym?
Powinien być US English.

Ja to robię tak, że najpierw ściągam dane, a potem dopiero konwertuję na csv. Nie robię tego w jednym kroku jak proponuje Dukascopy. Może to ma znaczenie?
Aha - pierwszy raz ściągnąłem dane skryptem php. Od tego czasu aktualizuję przy pomocy Dukascopier raz na tydzień. Czyli dociągam nie więcej niż ostatnie 7 dni.

Parę innych osób też się skarżyło na Dukascopier.
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

259 pisze:
A jak masz ustawiony format daty i waluty w systemie operacyjnym?
Powinien być US English.
Miałem PL , może to jest to.
Pieniądze rosną na drzewie cierpliwości.

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

Ktoś z was prosił o zmodyfikowany skrypt MQL do konwersji csv na fxt i/lub hst który czyta serię plików csv. W załączeniu.

Zasada działania:

Jeżeli nie poda się nazwy pliku wsadowego, skrypt najpierw szuka pliku [para].csv np. EURUSD.csv, a jak go nie znajdzie, będzie szukał plików z kolejnych lat w/g formatu [para]_[rok]:
EURUSD_2007.csv
EURUSD_2008.csv

w podanym lub domyślnym zakresie dat.

Co to nam daje? Oszczędza czas na generowaniu csv. Zamiast np.generować 2007-2011 i potem aktualizować całość, można to sobie podzielić i aktualizować tylko końcówkę :-)
Można wygenerować oddzielne plik dla każdego roku i aktualizować tylko ostatni rok - w tej chwili 2011.
Dodatkowo każdy z tych plików jest mniejszy niż 2GB co pozwala ominąć ograniczenia MT4 na systemie 32-u bitowym (tu jest pewne niedomówienie - sam plik może być duzo większy i nie ma z nim problemu ze strony OS, ale to MT4 ma z tym problemy).

Ale UWAGA - to jest bardzo prosta modyfikacja i ten skrypt NIE SPRAWDZA poprawności danych ani ich kolejności chronologicznej.
Zarządzanie plikami i ich zawartością jest całkowicie ręczne i trzeba o tym pamiętać za każdym razem.

PS: wspominałem, że przerobiłem skrypt Birt's Patch na EA żeby działało automatycznie przypięte do wykresu.
Ale niestety NIE ZAWSZE TO DZIAŁA.
Czasami to nie zadziała mimo, że widzę w logu odpowiednie wpisy.
Mimo wszystko lepiej jest uruchomić ten skrypt ręcznie jak terminal dojdzie już do siebie, nawet ze dwa razy. A nawet dla każdej ramki oddzielnie. Lepiej dmuchać na zimne niż tracić czas na generowanie pików od nowa ;-)
I należy ZAWSZE mieć pod ręką backup fxt na wypadek gdyby ten skrypt jednak nie zadziałał ;-)
A ponieważ to są bardzo duże pliki, polecam rar i maksymalną kompresję danych.

PPS: ponieważ ostatnio Metaquotes trochę się rozszalało z istotnymi modyfikacjami programu (tego nie widać na zewnątrz, ale od wewnątrz są małe rewolucje) należy pamiętać, żeby ściągnąć odpowiednie skrypty dla odpowiedniej wersji. Idź do http://eareview.net/tick-data i znajdź "Download links"
Poniżej tego tekstu są linki do bieżących skryptów i innych pomocnych fragmentów oprogramowania. A jeszcze niżej historia zmian.
Tylko nie kasuj starych wersji - nigdy nie wiesz czy się kiedyś nie przydadzą, a nie będziesz mógł ich już ściągnąć…

A jeszcze niżej blog- jak masz pytanie możesz zawsze spytać bezpośrednio autora - odpowiada całkiem szybko :-)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 29 wrz 2011, 15:38 przez 259, łącznie zmieniany 1 raz.
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

259 pisze: (tu jest pewne niedomówienie - sam plik może być duzo większy i nie ma z nim problemu ze strony OS, ale to MT4 ma z tym problemy).
Niezależnie pod jakim sys jest mt4?
Pieniądze rosną na drzewie cierpliwości.

259
Maniak
Maniak
Posty: 3968
Rejestracja: 15 cze 2011, 23:20

Nieprzeczytany post autor: 259 »

NiceFox pisze:
259 pisze: (tu jest pewne niedomówienie - sam plik może być duzo większy i nie ma z nim problemu ze strony OS, ale to MT4 ma z tym problemy).
Niezależnie pod jakim sys jest mt4?
Na obu.

Ale teraz to ja ja nie domówiłem ;-)

OS 32-u bitowy pozwala na stworzenie bardzo dużych plików, wielokrotnie przekraczających 2GB.
Ale MT4 nie czyta powyżej 2GB. Podejrzewam że rejestr pozycji w pliku jest 32-u bitowy co daje 2082 MB.
I to niezależnie od tego czy system jest 32-u czy 64-o bitowy.
ALE sprytny Brit znalazł na to hack - pogrzebał w pamięci i zobaczył, że na systemie 64-o bitowym jest wolne miejsce na rozszerzenie tego rejestru do 64 bit.
I to między innymi robi jego łatka.

Tak ja to rozumiem.
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)

ODPOWIEDZ