Serwis Forex-nawigator.biz korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce. [Zamknij tą informację]

Dzisiaj jest 26 mar 2019, 08:03    



Roboty - cała prawda o automatach, czy można ją poznać?

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.
  • Autor
  • Wiadomość
Offline

green7

Maniak

Maniak

Nieprzeczytany post10 mar 2012, 00:58

matka pisze:
green7 pisze:To właśnie kolejna ze spraw pokazująca, że tester mt4 jest bardzo kiepskim narzędziem i nie nadaje się do działania na poziomie ticków.

Jeśli dobrze zrozumiałem, w przykładzie opisujesz komunikację terminala w czasie rzeczywistym. Jaki to ma wpływ na działania testera na tickach?


Ano taki, że w testerze nie jesteś w stanie odwzorować warunków rzeczywistych.
Jeśli weźmiesz dane o dużej ilości ticków to tester będzie wywoływał EA po każdym z nich. Przy dokładnie tych samych tickach ale spływających do terminala w realu dostaniesz tylko co któryś tam tick.

Może mieć to wpływ na to jak strategia otwiera pozycje. Z kolei dane tickowe umożliwiają lepsze odwzorowanie przez terminal zachowania SL i TP. Jak zwykle każdy kij ma 2 końce :)
Green
Obrazek
Obrazek
Offline
Awatar użytkownika

matka

Pasjonat

Pasjonat

  • Posty: 642
  • Rejestracja: 17 lis 2008, 15:53
  • Lokalizacja: KT1
  • Pochwały: 10

Nieprzeczytany post10 mar 2012, 01:27

green7 pisze:Może mieć to wpływ na to jak strategia otwiera pozycje. Z kolei dane tickowe umożliwiają lepsze odwzorowanie przez terminal zachowania SL i TP. Jak zwykle każdy kij ma 2 końce

No cóż, pozostaje mi tylko wnioskować o pochwałę. Od siebie dodam, że takie zachowanie terminala może mieć wpływ dla strategii korzystających z renko.
Robiłeś może jakieś badania przy jakiej częstotliwości ticków ma to istotny wpływ na feed? Jak MT porcjuje te paczki?
Obrazek
Unfortunately, more to come
Offline

green7

Maniak

Maniak

Nieprzeczytany post10 mar 2012, 01:49

matka pisze:Robiłeś może jakieś badania przy jakiej częstotliwości ticków ma to istotny wpływ na feed? Jak MT porcjuje te paczki?


Ciężko to dokładnie zbadać - bo nie wiesz ile ticków śle broker rzeczywiście. Trzeba tu kombinować np. z brokerem, który ten sam datafeed ma dostępny w mt4 i poprzez API. Przez API dostajesz wszystkie ticki i masz wtedy jakieś porównanie z mt4 ....

Ogólnie wychodziło mi na to, że w mt4 nie dostajesz ticków częściej niż co jakieś 200ms. Tzn. jeśli broker w 200 ms wyśle powiedzmy 5 ticków to terminal dostanie je w jednej paczce. Ale to oczywiście przybliżenie: mogło i zapewne zależy to od odległości do serwera, łącza internetowego obciążenia serwera itd.

Łatwo tu samemu poeksperymentować: kod pokazany wyżej rzeczywiście pokaże ilu ticków EA nie dostała, dodatkowo można dodać wypisywanie czasu jaki upłynął pomiędzy wywołaniami funkcji start (stawiam na to, że rzadko będzie to mniej niż 200ms) i o ile zwiększył się volumen.
Tylko ostrożnie z używaniem funkcji Alert i Print - one też ciut czasu zżerają.
Green
Obrazek
Obrazek
Offline

Jan24

Bywalec

Bywalec

  • Posty: 6
  • Rejestracja: 12 mar 2007, 13:32

Nieprzeczytany post11 mar 2012, 11:49

green7 pisze: To właśnie kolejna ze spraw pokazująca, że tester mt4 jest bardzo kiepskim narzędziem i nie nadaje się do działania na poziomie ticków.


Tutaj zgoda. Ale pamiętajmy, że jest to dość uniwersalny program napisany w tym samym języku i większość naszych potrzeb zaspokoi. Jeżeli ktoś potrzebuje czegoś bardziej wyrafinowanego, to bez trudu sobie napisze.

Ważniejsze chyba jest, abyśmy używając tego narzędzia byli świadomi jakości wyników, które nam „wypluje” i mieli odpowiedni do nich stosunek.

Bo testowanie to wg mnie najważniejszy etap pracy nad systemem. Pisanie jakiegokolwiek EA bez gruntownych testów całkowicie mija się z celem.

Dane dostajemy takie, jakie dostajemy. Pamiętajmy, że broker nie jest instytucją charytatywną i jego softy mają za zadanie takie utrzymywanie równowagi, aby zapewnić stały dopływ gotówki ze spredów. Łatwo zauważymy, że w zasadzie nie mamy problemów przy pozycjach od 0.1 do 0.5 lota, później jest niestety gorzej. Oczywiście nie zawsze, bo gdy nasze zlecenie trafi na tą stronę rynku gdzie, gdzie akurat NASZ broker ma minus, to wchodzi automatycznie.

Wróćmy jednak do testów. Jeżeli doszliśmy do tego miejsca i udało nam się skompilować kod (cokolwiek byśmy w nim nie umieścili) to jesteśmy na początku naszej drogi. Tak, tak, dokładnie na początku.
Wszystko to co teraz zrobimy dalej będzie decydować o naszym sukcesie albo porażce. Wykonaliśmy pewną pracę, przyjęliśmy sobie jakieś założenia i napisaliśmy jakiś tam program. Jak już dojdziemy do wprawy, to w godzinę możemy napisać ich kilka. Tylko, że z tego nic nie wynika.
No chyba, że mamy taką moc sprawczą, że rynek będzie się tak zachowywał, jak my go opiszemy. Niestety ja tak nie mam.

A więc uruchamiamy testera, i rozpoczynamy drugi etap naszych prac. Jeżeli mamy EA do gry dziennej najlepiej wtedy testować każdy dzień oddzielnie.
Rożne źródła podają jako reprezentatywny test co najmniej 30 elementów. I tak róbmy, puśćmy co najmniej 30 dni i zapiszmy wyniki. W tym momencie nie interesuje nas ani raport, ani wykres, jedyne co robimy to kopiujemy całą zakładkę rezultaty i zapisujemy sobie w jakimś pliku tekstowym. Możemy ewentualnie jeszcze sprawdzać dziennik, czy nie było błędów.
Jak będzie taki zapis przykładowo wyglądał? Zaraz pokaże..
Kod: Zaznacz cały

23   2011.07.20 13:15   modify   2   0.10   1.4189   1.4203   0.0000   0.00   503.00
24   2011.07.20 13:25   modify   2   0.10   1.4189   1.4204   0.0000   0.00   503.00
25   2011.07.20 13:30   modify   2   0.10   1.4189   1.4205   0.0000   0.00   503.00
26   2011.07.20 13:35   modify   2   0.10   1.4189   1.4206   0.0000   0.00   503.00
27   2011.07.20 13:40   modify   2   0.10   1.4189   1.4207   0.0000   0.00   503.00
28   2011.07.20 13:45   modify   2   0.10   1.4189   1.4208   0.0000   0.00   503.00
29   2011.07.20 13:50   modify   2   0.10   1.4189   1.4209   0.0000   0.00   503.00
30   2011.07.20 13:55   close    2   0.10   1.4213   1.4209   0.0000   24.00  527.00
31   2011.07.20 14:25   buy      3   0.10   1.4212   1.4166   0.0000   0.00   527.00
32   2011.07.20 14:30   modify   3   0.10   1.4212   1.4202   0.0000   0.00   527.00
33   2011.07.20 14:50   close    3   0.10   1.4206   1.4202   0.0000   -6.00  521.00

Powiedzmy, że mamy już dane z 30 dni (może być cały miesiąc). Drukujemy sobie na papier, lub czytamy z ekranu. Obok wykres, któremu przyglądamy się słupek po słupku. I co dalej? No właśnie teraz musimy pokazać nasz charakter, albo mamy jaja, albo nie. Wszystko co napisałem wyżej to po to, aby znaleźć się tutaj.
Teraz następuje bezwzględna weryfikacja naszych pomysłów, naszych ustaleń, i naszych nadziei. Nie musimy się spieszyć z wnioskami, materiału mamy dużo. Jeżeli coś udało się nam ustalić, znaleźliśmy coś ciekawego zapiszmy sobie. Jutro przeczytajmy jeszcze raz. Nie zawsze pierwsze wrażenie jest najlepsze.

Od siebie na koniec dodam jeszcze kilka uwag. Ale to tylko na dobry początek. Wkrótce sami zaczniemy rozumieć, co dla nas najlepiej pracuje.

- analizując kolejne wpisy, będziemy obserwować zarówno otwarcia jak i zamknięcia pozycji
- starajmy się raczej upraszczać metody otwarcia pozycji
- jeżeli będziemy chcieli przetestować same metody otwarcia pozycji, to wtedy możemy sobie napisać prościutkie EA, gdzie np. będziemy zamykać pozycje na 3,5 lub innym kolejnym dowolnym słupku i porównywać metody otwierania
- zobaczmy jakie błędy popełniamy przy zamykaniu pozycji, patrzymy co dalej się dzieje z przedwcześnie zamkniętą pozycją
- zastanówmy się nad możliwością odnowienia pozycji gdy za wcześnie ją zamknęliśmy
- być może niektóre wartości przyjęliśmy arbitralnie, może trzeba się niektórym przyjrzeć
- wszystkie uwagi zapisujemy i weryfikujemy je na bieżąco
- jeżeli uważamy, że potrafimy już uniknąć największych błędów i widzimy sens dalszego testowania, zapisane uwagi przemieniamy w kod
- powtarzamy testy, nieraz już za trzecim razem daje się uzyskać obiecujące wyniki
- gdy mamy zadawalające wyniki, musimy koniecznie przeprowadzić testy na innych zbiorach danych



Wierze, że każdy kto chce znajdzie swoją ścieżkę. Moje własne proporcje pracy nad systemem wyglądają mniej więcej tak:
- opracowywanie koncepcji - 20 % czasu
- kodowanie - 5 % czasu
- testowanie - 75 % czasu

Well, good luck
Offline

Afiliat

Gaduła

Gaduła

  • Posty: 119
  • Rejestracja: 21 paź 2014, 22:56

Re:

Nieprzeczytany post05 mar 2019, 16:17

Jan24 pisze:
green7 pisze: To właśnie kolejna ze spraw pokazująca, że tester mt4 jest bardzo kiepskim narzędziem i nie nadaje się do działania na poziomie ticków.


Tutaj zgoda. Ale pamiętajmy, że jest to dość uniwersalny program napisany w tym samym języku i większość naszych potrzeb zaspokoi. Jeżeli ktoś potrzebuje czegoś bardziej wyrafinowanego, to bez trudu sobie napisze.

Ważniejsze chyba jest, abyśmy używając tego narzędzia byli świadomi jakości wyników, które nam „wypluje” i mieli odpowiedni do nich stosunek.

Bo testowanie to wg mnie najważniejszy etap pracy nad systemem. Pisanie jakiegokolwiek EA bez gruntownych testów całkowicie mija się z celem.

Dane dostajemy takie, jakie dostajemy. Pamiętajmy, że broker nie jest instytucją charytatywną i jego softy mają za zadanie takie utrzymywanie równowagi, aby zapewnić stały dopływ gotówki ze spredów. Łatwo zauważymy, że w zasadzie nie mamy problemów przy pozycjach od 0.1 do 0.5 lota, później jest niestety gorzej. Oczywiście nie zawsze, bo gdy nasze zlecenie trafi na tą stronę rynku gdzie, gdzie akurat NASZ broker ma minus, to wchodzi automatycznie.

Wróćmy jednak do testów. Jeżeli doszliśmy do tego miejsca i udało nam się skompilować kod (cokolwiek byśmy w nim nie umieścili) to jesteśmy na początku naszej drogi. Tak, tak, dokładnie na początku.
Wszystko to co teraz zrobimy dalej będzie decydować o naszym sukcesie albo porażce. Wykonaliśmy pewną pracę, przyjęliśmy sobie jakieś założenia i napisaliśmy jakiś tam program. Jak już dojdziemy do wprawy, to w godzinę możemy napisać ich kilka.http://monitorfx.pl/robot/ Tylko, że z tego nic nie wynika.
No chyba, że mamy taką moc sprawczą, że rynek będzie się tak zachowywał, jak my go opiszemy. Niestety ja tak nie mam.

A więc uruchamiamy testera, i rozpoczynamy drugi etap naszych prac. Jeżeli mamy EA do gry dziennej najlepiej wtedy testować każdy dzień oddzielnie.
Rożne źródła podają jako reprezentatywny test co najmniej 30 elementów. I tak róbmy, puśćmy co najmniej 30 dni i zapiszmy wyniki. W tym momencie nie interesuje nas ani raport, ani wykres, jedyne co robimy to kopiujemy całą zakładkę rezultaty i zapisujemy sobie w jakimś pliku tekstowym. Możemy ewentualnie jeszcze sprawdzać dziennik, czy nie było błędów.
Jak będzie taki zapis przykładowo wyglądał? Zaraz pokaże..
Kod: Zaznacz cały

23   2011.07.20 13:15   modify   2   0.10   1.4189   1.4203   0.0000   0.00   503.00
24   2011.07.20 13:25   modify   2   0.10   1.4189   1.4204   0.0000   0.00   503.00
25   2011.07.20 13:30   modify   2   0.10   1.4189   1.4205   0.0000   0.00   503.00
26   2011.07.20 13:35   modify   2   0.10   1.4189   1.4206   0.0000   0.00   503.00
27   2011.07.20 13:40   modify   2   0.10   1.4189   1.4207   0.0000   0.00   503.00
28   2011.07.20 13:45   modify   2   0.10   1.4189   1.4208   0.0000   0.00   503.00
29   2011.07.20 13:50   modify   2   0.10   1.4189   1.4209   0.0000   0.00   503.00
30   2011.07.20 13:55   close    2   0.10   1.4213   1.4209   0.0000   24.00  527.00
31   2011.07.20 14:25   buy      3   0.10   1.4212   1.4166   0.0000   0.00   527.00
32   2011.07.20 14:30   modify   3   0.10   1.4212   1.4202   0.0000   0.00   527.00
33   2011.07.20 14:50   close    3   0.10   1.4206   1.4202   0.0000   -6.00  521.00

Powiedzmy, że mamy już dane z 30 dni (może być cały miesiąc). Drukujemy sobie na papier, lub czytamy z ekranu. Obok wykres, któremu przyglądamy się słupek po słupku. I co dalej? No właśnie teraz musimy pokazać nasz charakter, albo mamy jaja, albo nie. Wszystko co napisałem wyżej to po to, aby znaleźć się tutaj.
Teraz następuje bezwzględna weryfikacja naszych pomysłów, naszych ustaleń, i naszych nadziei. Nie musimy się spieszyć z wnioskami, materiału mamy dużo. Jeżeli coś udało się nam ustalić, znaleźliśmy coś ciekawego zapiszmy sobie. Jutro przeczytajmy jeszcze raz. Nie zawsze pierwsze wrażenie jest najlepsze.

Od siebie na koniec dodam jeszcze kilka uwag. Ale to tylko na dobry początek. Wkrótce sami zaczniemy rozumieć, co dla nas najlepiej pracuje.

- analizując kolejne wpisy, będziemy obserwować zarówno otwarcia jak i zamknięcia pozycji
- starajmy się raczej upraszczać metody otwarcia pozycji
- jeżeli będziemy chcieli przetestować same metody otwarcia pozycji, to wtedy możemy sobie napisać prościutkie EA, gdzie np. będziemy zamykać pozycje na 3,5 lub innym kolejnym dowolnym słupku i porównywać metody otwierania
- zobaczmy jakie błędy popełniamy przy zamykaniu pozycji, patrzymy co dalej się dzieje z przedwcześnie zamkniętą pozycją
- zastanówmy się nad możliwością odnowienia pozycji gdy za wcześnie ją zamknęliśmy
- być może niektóre wartości przyjęliśmy arbitralnie, może trzeba się niektórym przyjrzeć
- wszystkie uwagi zapisujemy i weryfikujemy je na bieżąco
- jeżeli uważamy, że potrafimy już uniknąć największych błędów i widzimy sens dalszego testowania, zapisane uwagi przemieniamy w kod
- powtarzamy testy, nieraz już za trzecim razem daje się uzyskać obiecujące wyniki
- gdy mamy zadawalające wyniki, musimy koniecznie przeprowadzić testy na innych zbiorach danych



Wierze, że każdy kto chce znajdzie swoją ścieżkę. Moje własne proporcje pracy nad systemem wyglądają mniej więcej tak:
- opracowywanie koncepcji - 20 % czasu
- kodowanie - 5 % czasu
- testowanie - 75 % czasu

Well, good luck


Teraz są nowe możliwości testowania strategii na MT5. Buildery są dobrym rozwiązaniem aby zacząć bawić się automatami na rynku.
Poprzednia

Wróć do Forex - dyskusje ogólne

Kto jest online

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