Sposoby przyspieszenia szybkości testera w MT4

Jeżeli masz pomysł lub używasz ciekawego systemu albo strategii gry, opisz ja tutaj.
marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: marcin76 »

witam

Czy zna ktoś z was jakieś sposoby na przyspieszenie wykonania testów w testerze w MT4 ?

Może są jakieś inne oprogramowania które robią to szybciej , a wynik z ustawieniami można potem z importować do MT4.

pozdr

Awatar użytkownika
Pablo90
Pasjonat
Pasjonat
Posty: 1215
Rejestracja: 10 cze 2007, 15:36

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: Pablo90 »

Podstawową metodą jest przerobienie EA tak żeby używał tylko otwarć słupków zamiast całego ich zakresu. Można wtedy zmienić metodę testowania na szybszą. Niestety rzadko jest możliwe dla większości EA. Jeżeli nie da się EA testować na otwarciach, wtedy pozostaje optymalizacja kodu EA. Jako, że EA to w większości instrukcje warunkowe, kluczem będzie tu odpowiednia kolejność instrukcji, a także używanie wyrażenia "else" gdzie się tylko da, innymi słowy eliminacja sprawdzania jak największej ilości warunków.

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: marcin76 »

Pablo90 pisze:Podstawową metodą jest przerobienie EA tak żeby używał tylko otwarć słupków zamiast całego ich zakresu. Można wtedy zmienić metodę testowania na szybszą. Niestety rzadko jest możliwe dla większości EA. Jeżeli nie da się EA testować na otwarciach, wtedy pozostaje optymalizacja kodu EA. Jako, że EA to w większości instrukcje warunkowe, kluczem będzie tu odpowiednia kolejność instrukcji, a także używanie wyrażenia "else" gdzie się tylko da, innymi słowy eliminacja sprawdzania jak największej ilości warunków.
dzięki Pablo90 za cenne wskazówki .

pozdr

-- Dodano: 18 lis 2015, 17:05 --

Pablo90 chodzi o to , by było jak najmniej warunków typu

for (int i=OrdersTotal()-1; i >= 0; i--)

Awatar użytkownika
jamesfisher
Pasjonat
Pasjonat
Posty: 497
Rejestracja: 03 wrz 2008, 17:42

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: jamesfisher »

Może jeszcze jakiś szybki i7 oraz SSD na NVMe się przyda.

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: marcin76 »

jamesfisher pisze:Może jeszcze jakiś szybki i7 oraz SSD na NVMe się przyda.

sprawdzałem to na i7 z dyskiem SSD u brata bo ma takiego laptopa i owszem było trochę szybciej ale nie aż tak ,aby się decydować nakupno takiego sprzętu .

Jedyna większa różnica była taka , że mogłem uruchomić na raz 8 platform MT4 i puścić jednocześnie 8 testerów na raz , użycie procesora podchodziło pod 95% .

Natomiast na swoim laptopie mogłem uruchomić tylko 2 MT4 i uruchomić ten sam test .

Uruchamiając na i7 z SSD tylko 1 MT4 i 1 test procesor nie wykorzystywał pełnej mocy obliczeniowej dla tego testu , obciążenie było około 10 - 13 % procesora - niestety nie robił testu 8 razy szybciej .

Awatar użytkownika
Pablo90
Pasjonat
Pasjonat
Posty: 1215
Rejestracja: 10 cze 2007, 15:36

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: Pablo90 »

marcin76 pisze:Pablo90 chodzi o to , by było jak najmniej warunków typu

for (int i=OrdersTotal()-1; i >= 0; i--)
Chodzi o to, że jak piszesz instrukcje warunkowe if to żeby były poukładane w ten sposób, żeby jak najmniejsza ilość sprawdzeń została wykonana.

Awatar użytkownika
por. Borewicz
Gaduła
Gaduła
Posty: 93
Rejestracja: 25 cze 2014, 11:58

Re: Sposoby przyspieszenia szybkości testera w MT4

Nieprzeczytany post autor: por. Borewicz »

Najlepiej byłoby jakbyś wkleił jakieś swoje EA. Inni mogliby się mu przyjrzeć i ewentualnie dojrzeć jakieś miejsca w kodzie które można zoptymalizować. Jeżeli nie chcesz się nim dzielić to może masz jakieś inne przykładowe.
Tak z ciekawości: Ile czasu zajmuje Ci przeprowadzenie jednego testu i na jakim zakresie czasu je przeprowadzasz (i czy używasz danych prawdziwych danych tickowych czy zamodelowanych)?

ODPOWIEDZ