Własne EA, czyli poszukiwanie Złotego Grala

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.

Czy wierzysz w istnienie EA, które regularnie zarabia ?

Tak
246
50%
Nie
100
20%
Tak, ale trzeba je nieustannie modyfikować
146
30%
 
Liczba głosów: 492

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

Nieprzeczytany post autor: 259 »

rayzeel pisze: Ja bym odpowiedział tak:
Sama informacja o wyniku mówi bardzo mało. Może się okazać, że przedstawiany wynik pochodzi z testu którego płaszczyzna wygląda tak jak na PIC.1, albo z takiego którego płaszczyzna to PIC.2. Bez takiego obrazu ciężko powiedzieć co jest lepsze.
No właśnie. Zwłaszcza, że u mnie najczęściej przypomina to PIC2 ;-)
Ale jak masz własny tester to masz tutaj przewagę bo możesz w nim napisać co chcesz a nie męczyć się z niedoróbą Metaquotes :-)

Jak miarodajnie ocenić wynik pojedynczego testu? Już kiedyś była o tym mowa. Jest nawet osobny wątek ale umarł zanim naprawdę się zaczął :-|
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
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Nieprzeczytany post autor: matka »

rayzeel pisze:Osobiście porzuciłem brute force z powodu takiego, że jak powielam strategie które mają jakieś tam parametry i jednocześnie powielam je na różne walory to życia by nie starczyło ... jak zresztą wspomniał green7. Oczywiste jest, że testy będą losowane i na stówe ucieknie dużo wyników najlepszych. Mnie jednak nie interesują te szpilki. Ważne jest abym znalazł coś dobrego i krok w lewo lub w prawo nie było totalnej zwałki i jest ok.
Być może testujesz pomysły naprawdę wymagające wydajności, ja się jeszcze nie spotkałem, żeby coś mi się mieliło dłużej niż tydzień-dwa. Zawsze można przyśpieszyć, rozbić na wiele wątków/procesorów, zoptymalizować kod, zwiększyć krok dla wstępnych testów, przepisać co się da na cude, jest masa możliwości. Korzystając z GA nie jesteś w stanie zobaczyć krok w lewo lub prawo. To właśnie GA pokazuje nam szpilki bez otoczenia, ze względu na losowe podejście.
rayzeel pisze:Sama informacja o wyniku mówi bardzo mało. Może się okazać, że przedstawiany wynik pochodzi z testu którego płaszczyzna wygląda tak jak na PIC.1, albo z takiego którego płaszczyzna to PIC.2. Bez takiego obrazu ciężko powiedzieć co jest lepsze.
Chodzi mi właśnie o to, optymalizacja z GA takiego poglądu nie daje.
259 pisze:Bo podstawowa funkcja - ruch ceny - nie jest modelem matematycznym. Nikomu nie udało się go opisać w tym języku. Tak samo jak nie udało się opisać ruchu burzliwego (cieczy czy gazów). Co nie oznacza, że nie da się tego używać - da się. Ale nie da się zrobić modelu matematycznego. Zostaje czysta empiria..
No tu się zagalopowałeś ;) Tylko przypuszczasz, że ceny nie można opisać matematycznym modelem (czy taki model na pewno potrzebuje bardzo wysokiej precyzji?). Możesz przytoczyć setki innych niż burzliwy ruch "analogii" ale czy one mają cokolwiek wspólnego? Zgadzam się z Tobą w sprawie pochodnych, samo przekształcanie danych wejściowych nie ma nic wspólnego z prognozowaniem.

Optymalizacja w MT4 owszem jest mocno ograniczona ale można ją zastąpić swoimi rozwiązaniami. Mam na myśli MT4 odpalane jako pojedynczy backtest, obróbka wyników zewnętrznym skryptem. Możemy wtedy zastosować dowolny fitness, wykorzystać wiele rdzeni/procesorów/maszyn na raz. Takie podejście z wykorzystaniem wyłącznie "rdzenia" MT4 jako testera uważam za efektywniejsze niż pisanie własnego testera od podstaw. Przede wszystkim ze względu na ilość potencjalnych błędów. Może przedstawię to tak : z MT4 mamy ten "rdzeń" już teraz, możemy od razu testować i mamy duże prawdopodobieństwo, że za rok-dwa nie będziemy musieli powtarzać wszystkich testów, bo wypłynie jakiś trudno wykrywalny błąd czy niedopatrzenie np. w module egzekucji czy przetwarzania ticków. No ale pamiętajmy, że każdy zawsze będzie zachwalał to czego sam używa :)
Obrazek
Unfortunately, more to come

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

259 pisze: GA przesiało coś czego nawet nie rozumiało i coś tam z tego wyszło…a jak wyszło? Sami oceńcie swoje własne wyniki.
Ale GA nic "nie rozumie" - z definicji. Nie ma takiej możliwości bo i skąd ?
GA robi tylko tyle:
- masz powiedzmy 2 optymalizowane parametry każdy w zakresie 1-100. Czyli 10tys. możliwych kombinacji parametrów. Metodą brute-force sprawdzasz wszystkie 10tys. kombinacji. GA najprościej rzecz ujmując natomiast losuje n z tych kombinacji i skupia się na tych, które dają lepsze wyniki (w zależności od tego co wybrałeś jako kryterium oceny), odrzucając gorsze. I tak cyklicznie, zmieniając losowo niektóre parametry (mutacja), aż uzyskiwane wyniki nie będą się polepszać (choć akurat w MQ to chyba jest uzależnione od ilości generacji a nie od "dobroci" wyników).
GA nie sprawdzi więc wszystkich możliwych kombinacji - powiedzmy, że w tym przykładzie będzie to 1/3 możliwych kombinacji. Może więc pominąć najlepsze wyniki.

Ale nie wierzę, by zawsze było tak, że GA daje Ci gorsze wyniki - musiałbyś być doprawdy pechowcem albo szukać po naprawdę sporym zakresie parametrów.
Poza tym często może być tak, że ten "najlepszy" wynik uzyskany brute-force wcale nie jest najlepszy. Skoro GA na niego nie trafiło, duże może być prawdopodobieństwo, że jest on zależny od jakiegoś specyficznego, wąskiego zakresu jednego z parametrów. Czyli, że mamy wynik przeoptymalizowany. Z definicji łatwiej będzie przeoptymalizować brute-force niż przez GA. Więc używając brute-force bardziej trzeba się skupić na ocenie wyników.
rayzeel pisze:Może się okazać, że przedstawiany wynik pochodzi z testu którego płaszczyzna wygląda tak jak na PIC.1
No właśnie - rysunek pokazuje świetnie słabość GA. GA może utknąć na jednym z tych "wzgórków" i zupełnie zignorować inne.

Można próbować sobie z tym radzić - ale nie w wypadku używania testera MQ. Tam nie mamy możliwości kontroli GA .....
matka pisze:To właśnie GA pokazuje nam szpilki bez otoczenia, ze względu na losowe podejście.
No tak, zwłaszcza w MQ gdzie zupełnie nie wiadomo co to GA robi. Mając pełną kontrolę nad GA niektóre rzeczy możesz wymusić.
matka pisze:Optymalizacja w MT4 owszem jest mocno ograniczona ale można ją zastąpić swoimi rozwiązaniami. Mam na myśli MT4 odpalane jako pojedynczy backtest, obróbka wyników zewnętrznym skryptem. Możemy wtedy zastosować dowolny fitness, wykorzystać wiele rdzeni/procesorów/maszyn na raz. Takie podejście z wykorzystaniem wyłącznie "rdzenia" MT4 jako testera uważam za efektywniejsze niż pisanie własnego testera od podstaw. Przede wszystkim ze względu na ilość potencjalnych błędów. Może przedstawię to tak : z MT4 mamy ten "rdzeń" już teraz, możemy od razu testować i mamy duże prawdopodobieństwo, że za rok-dwa nie będziemy musieli powtarzać wszystkich testów, bo wypłynie jakiś trudno wykrywalny błąd czy niedopatrzenie np. w module egzekucji czy przetwarzania ticków
A z drugiej strony kto Ci da gwarancję, że ten "rdzeń" mt4 nie robi głupot i nie zachowuje się zupełnie nie tak jak myślałeś ?
Za rok-dwa może się okazać, że wszystkie Twoje testy były mało wiarygodne :)
Zależy też od tego co testujesz.....
Popatrz na backtesty wielu EA na danych tickowych Dukasa z dokładnością 99% .... Piękne krzywe kapitału - niby nie ma się czego przyczepić a przecież wiadomo, że te same EA w realu nie działają tak pięknie. Pytanie dla czego ... albo są przeoptymalizowane, albo rynek się zmienił. A może też dlatego, ciut w tym winy backtestera i platformy ?
Green
Obrazek
Obrazek

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

Nieprzeczytany post autor: 259 »

green7 pisze:
259 pisze: GA przesiało coś czego nawet nie rozumiało i coś tam z tego wyszło…a jak wyszło? Sami oceńcie swoje własne wyniki.
Ale GA nic "nie rozumie" - z definicji. Nie ma takiej możliwości bo i skąd ?
Fitness ma mu to powiedzieć :-) Bo jakoś musi ocenić wyniki działania kolejnego potomstwa.
Ale prawdę mówiąc pomieszałem tutaj pojęcia - co innego algorytm genetyczny, co innego programowanie genetyczne... a co innego Metatrader :-)
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
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Nieprzeczytany post autor: matka »

259 pisze:Fitness ma mu to powiedzieć Bo jakoś musi ocenić wyniki działania kolejnego potomstwa.
Spotkałem z czymś takim, że fitness brał pod uwagę całe "drzewo genealogiczne" szukając takich, które w każdym pokoleniu potrafiły zarabiać, czyli potencjalnie wygenerować kolejne również zarabiające, choć niekoniecznie najlepiej generacji. Bardzo fajny trop ;)

Green dobrze piszesz bo bez wątpienia wszystko jest relatywne i nic na pewno nie wiadomo ;) Co do bezbłędności platform to ja się kieruję stopniem przetestowania/popularności (oczywiście opensourcowym licze punkty podwójnie). Każdy przyzna, że jest to dość spory projekt i gdy zabiera się do niego poniżej 3 programistów i nikt poza nimi nie testuje, to będzie na 100% problem.
Obrazek
Unfortunately, more to come

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 »

259 pisze:Ale prawdę mówiąc pomieszałem tutaj pojęcia - co innego algorytm genetyczny, co innego programowanie genetyczne... a co innego Metatrader
No tak, zdaje się, że zapędziłeś się i wrzuciłeś do jednego wora wszystko co jakoś tam powiązane jest z AG. A programowanie ewolucyjne wprawdzie opiera się na AG ale to już ciut trochę innego.
Spotkałem z czymś takim, że fitness brał pod uwagę całe "drzewo genealogiczne" szukając takich, które w każdym pokoleniu potrafiły zarabiać, czyli potencjalnie wygenerować kolejne również zarabiające, choć niekoniecznie najlepiej generacji.
Są metody "karania" osobników, nie spełniających określonych warunków (czyli np. strategii która zawiera zbyt mało transakcji), kontroli populacji, itd.
To cała dziedzina wiedzy - którą my tu trochę "spłycamy" do prostego pojęcia AG :)
Green
Obrazek
Obrazek

robs
Gaduła
Gaduła
Posty: 196
Rejestracja: 22 sty 2010, 03:05

Nieprzeczytany post autor: robs »

Jest owczy pęd na GA, a czy były próby robienia symulacji? Albo nawet kombinacji GA z symulacją w sensie GA do ustawienia parametrów/cech uczestników rynku, plus symulacja zachowań tej populacji w rejonach S/R.

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

Nieprzeczytany post autor: 259 »

A propos testera Metaquotes - testuję właśnie tego samego robota na dwóch terminalach tego samego brokera na danych tikowych Dukascopy.
Te twa terminale są ustawione dokładnie tak samo. Oba testy są ustawione identycznie bo wrzuciłem na oba te same dane tikowe i te same ustawienia ini.
A wyniki są różne. I to istotnie różne bo jeden z nich zalicza częściej straty.

Jest tylko jeden, jedyny szczegół który różni te dwa terminale - wersja. Jeden jest 229, a drugi 409. Ten starszy pokazuje gorsze wyniki.
Ale któremu teraz wierzyć?

EDIT: może jednak coś pokręciłem ale nie potrafię na razie znaleźć niczego innego niż wersja...

EDIT2: niestety coś jednak skopałem - znalazłem dziury w danych. Hm... ale na obu są te same dane, a każdy z nich liczy inaczej...
Ostatnio zmieniony 02 kwie 2012, 00:20 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
batman
Gaduła
Gaduła
Posty: 159
Rejestracja: 19 kwie 2011, 07:55

Nieprzeczytany post autor: batman »

259 pisze:A skoro już tak sobie teoretyzuję to przyszło mi właśnie do głowy:
1) podstawową funkcją na jakiej opiera się większość EA jest ruch/akcja ceny,
(...)
3) I teraz mamy piramidę pochodnych z całą masą rozmaitych parametrów, niekoniecznie liniowych, a na końcu jakiś wynik o którym nie wiemy nawet czy jest kwestią farta czy metody.
A ja w swoich teoretyzowaniach jakis czas temu poszedlem myslami w druga strone:
Jesli uznamy, ze cena to jest "polozenie punktu" ( dla wygody posluze sie pojeciami okolo fizycznymi), to mozemy wyliczyc jego aktualna predkosc ("aktualna" to znaczy w ostatnim okresie czasu) - czyli pochodna (i to chyba jest wskaznik momentum). A ja sobie pomyslalem, ze mozna probowac wyliczyc przyspieszenie (czyli pochodna pochodnej) - co bycmoze moze pozwolic wykryc np zmiany trendu zanim jeszcze nastapia (to rozumowanie oczywiscie ma w sobie sporo zalozen (typu ciaglosc i rozniczkowalnosc), ktore napewno nie zawsze sa spelnione ;) ). Kiedys moze sie w to pobawie i sprawdze (a narazie probuje zrozumiec Stocha, ktory bycmoze tez cos takiego czasem potrafi pokazac).

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

Nieprzeczytany post autor: 259 »

batman pisze:
259 pisze:A skoro już tak sobie teoretyzuję to przyszło mi właśnie do głowy:
1) podstawową funkcją na jakiej opiera się większość EA jest ruch/akcja ceny,
(...)
3) I teraz mamy piramidę pochodnych z całą masą rozmaitych parametrów, niekoniecznie liniowych, a na końcu jakiś wynik o którym nie wiemy nawet czy jest kwestią farta czy metody.
A ja w swoich teoretyzowaniach jakis czas temu poszedlem myslami w druga strone:
Jesli uznamy, ze cena to jest "polozenie punktu" ( dla wygody posluze sie pojeciami okolo fizycznymi), to mozemy wyliczyc jego aktualna predkosc ("aktualna" to znaczy w ostatnim okresie czasu) - czyli pochodna (i to chyba jest wskaznik momentum). A ja sobie pomyslalem, ze mozna probowac wyliczyc przyspieszenie (czyli pochodna pochodnej) - co bycmoze moze pozwolic wykryc np zmiany trendu zanim jeszcze nastapia (to rozumowanie oczywiscie ma w sobie sporo zalozen (typu ciaglosc i rozniczkowalnosc), ktore napewno nie zawsze sa spelnione ;) ). Kiedys moze sie w to pobawie i sprawdze (a narazie probuje zrozumiec Stocha, ktory bycmoze tez cos takiego czasem potrafi pokazac).
Przepraszam, ale nie jak to ma się do mojej wypowiedzi?
Na dodatek cytat w tej formie zupełnie ją zniekształcił.
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