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

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: 259 »

personov pisze:Witam. Jestem. Otwieram drzwi skoro pukasz.
Ciekawy jestem warunków wejścia skoro wykres wychodzi tak nieprawdopodobnie.
No fakt - backtest na punktach, ale czy na tickach wychodzi przynajmniej podobnie ?
Sygnał wejściowy można filtrować na 100 sposobów.
No i wyjście możemy potestować zamiast SL i TP ( np. zamknięcie na końcu świecy - na koniec dnia ).
Wtedy backtest byłby bardziej wiarygodny.
Personov! We własnej osobie!
Jak to dobrze Ciebie "widzieć" :564:
Dawno nie mieliśmy okazji wyruszyć na kolejną błędną wyprawę beznadziejnie błędnych rycerzy ;-)
Jutro postaram się podesłać uproszczony kod EA na którym wstępnie trenowałem tą przyszłą średnią - muszę wyczyścić śmietnik jaki mi się tam nazbierał z innego projektu (jak zwykle copy&paste, a potem bałagan...)

Jak Ci chłopie leci?
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 ;-)

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: JAREK67 »

Punkty kontrolne, TP i SL to słaba koncepcja.
Alx ? Przywiało cię tu po latach z Comparica?
:)

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

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: 259 »

JAREK67 pisze:Punkty kontrolne, TP i SL to słaba koncepcja.
Alx ? Przywiało cię tu po latach z Comparica?
:)
Witam, witam JAREK67 :564:

Może nie tyle przywiało ile jakoś tak się złożyło, że wpadło mi coś do głowy co wydaje się idealnie pasuje do tego wątku.
Zwłaszcza, że to tutaj można znaleźć najbardziej doświadczonych w boju poszukiwaczy tego nieszczęsnego Grala :-D
Dokładnością na razie się nie przejmuję bo na w tej chwili bardziej chodzi o samą koncepcję.

-- Dodano: pt 30-03-2018, 12:19 --

UWAGA - tutaj się zaczyna!
(to miał być osobny post ale mi go automatycznie połączyło z poprzednim)

W załączeniu prosty kod EA do eksperymentów z przyszłą wartością MA(3) Typical.

Działa to tak:

z różnych powodów o których jeszcze będzie mowa na razie operujemy na słupkach dziennych.
Każdego dnia sprawdzane są warunki otwarcia zlecenia i praktycznie każdego dnia pojawia się Buy lub Sell na otwarciu.

Do wygenerowania sygnału potrzebna jest przyszła wartość MA(3) i tutaj trzeba zrobić małe obejście ponieważ tester nie pozwala odczytać przyszłej wartości wskaźnika ([t-1])
Muszę więc go najpierw wygenerować i zapisać do pliku.
Potem mogę to odczytać i wygenerować sygnał kupna lub sprzedaży.

Za pierwszym (albo każdym) przejazdem testera EA generuje plik w którym zapisuje MA(3) Typical z sygnaturą czasową poprzedniego słupka. Ten pierwszy test można zrobić na danych zgrubnych (druga opcja w wyborze dokładności danych w testerze).
W pierwszym teście EA nie wygeneruje żadnego sygnału, nie będzie żadnych zleceń i to jest zupełnie normalne.
Po tym pierwszym teście można już normalnie z tym działać w lepszej jakości danych tikowych.

Dalej EA będzie robić tak jak pokazane jest w funkcji start():

Kod: Zaznacz cały

	int signal = getFutureMaSignal();
	if (signal != 0) setTrades(signal);
- na otwarciu każdego słupka dziennego funkcja getFutureMaSignal() odnajduje odpowiednią wartość przyszłej MA i porównuje z poprzednią z tej samej tabelki (nie wnikając na razie w szczegóły jest to istotne aby to tak zostawić a nie porównywać po prostu z iMA() dla bieżącego słupka). Jeżeli jest większa to generuje Buy, jeżeli mniejsza to generuje Sell.
W każdym innym przypadku sygnał = 0 czyli nic nie robimy.
Tak po prostu i lepiej to tak na zostawić bo z różnych powodów nie m co liczyć na lepszą jakość sygnału.

- sygnał przekazywany do setTrades(int signal = 0) który zwyczajnie otwiera Buy lub Sell w zależności od sygnału.
Na razie zlecenia otwierane są ze sztywnym lotem, tp i sl.

Mimo, że EA działa na słupkach dziennych, test można uruchomić na dowolnej niższej ramce czasowej.

Całość jest prościutka, wręcz prymitywna ale dzięki temu łatwa do przerobienia na cokolwiek komu wpadnie do głowy.

Jedno pole do eksperymentów to filtrowanie sygnałów generowanych przez getFutureMaSignal() - jest tutaj wiele możliwości.
Drugie pole to otwieranie zleceń i zarządzanie otwartymi pozycjami.
Pomijając już regulację lot (tzw. money management) znów jest wiele możliwości dopasowywania sl, tp, dynamicznej ich zmiany, grupowania pozycji itp.

Filtrowanie sygnałów najlepiej jest zrobić poza getFutureMaSignal() - znów z różnych powodów lepiej zostawić tę funkcję taką jak teraz jest i filtrować sygnały np. w ten sposób:

Kod: Zaznacz cały

int start()
{
	int signal = getFutureMaSignal();
	signal = filtr(signal);			// funkcja filtrująca oryginalny sygnał, zob. niżej
	if (signal != 0) setTrades(signal);
	...
}

int filtr(signal = 0)	// funkcja filtrująca oryginalny sygnał
{
	if (signal == 0) return (0);
	if (signal == Buy)
		{
			signal = ... // jakieś warunki potwierdzenia/zaprzeczenia sygnału...
		}
	if (signal == Sell)
		{
			signal = ... // jakieś warunki potwierdzenia/zaprzeczenia sygnału...
		}
	return (signal)
}
-- Dodano: pt 30-03-2018, 19:15 --

Znów automatycznie połączone posty...

A tutaj na zajudzkę przykład przewidywania takiej średniej dla EURUSD - wystarczy skopiować zawartość tego pliku do pliku który wygenerował crazzy_simple z przesuniętą MA (np. EURUSD_ma3typical_shifted.csv) i puścić jeszcze ra tester EURUSD w okresie 2017.11.1 - 2018.03.24
(najlepiej przestawiając wcześniej opcję writeMaOnExit na False bo inaczej zamaże na końcu testu)

Uważne oko zaobserwuje, że wartości jakie pojawiają się w tym pliku znacznie odbiegają od tego co wygenerował EA - zgadza się, to są wartości w zakresie od -1 do 1 do którego trzeba było przetworzyć dane wejściowe aby łatwiej je łyknęła ta być-może-Kryształowa-Kula :)
Można to przeskalować do oryginału ale nie ma takiej potrzeby.
Przynajmniej tak długo jak nikt nie dłubie w zasadniczej części getFutureMaSignal() ;-)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
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
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: personov »

259 pisze:Do wygenerowania sygnału potrzebna jest przyszła wartość MA(3) i tutaj trzeba zrobić małe obejście ponieważ tester nie pozwala odczytać przyszłej wartości wskaźnika ([t-1])
Muszę więc go najpierw wygenerować i zapisać do pliku.
Potem mogę to odczytać i wygenerować sygnał kupna lub sprzedaży.
Czyli EA działa tylko na testerze ? Bo przecież dopóki nie będą wygenerowane "przyszłe" wartości MA to nie ma sygnału.
W rzeczywistości nie da się wygenerować wartości wskaźnika [t-1]. To jest czary mary.
Solą życia jest kasa.

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

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: 259 »

personov pisze:
259 pisze:Do wygenerowania sygnału potrzebna jest przyszła wartość MA(3) i tutaj trzeba zrobić małe obejście ponieważ tester nie pozwala odczytać przyszłej wartości wskaźnika ([t-1])
Muszę więc go najpierw wygenerować i zapisać do pliku.
Potem mogę to odczytać i wygenerować sygnał kupna lub sprzedaży.
Czyli EA działa tylko na testerze ? Bo przecież dopóki nie będą wygenerowane "przyszłe" wartości MA to nie ma sygnału.
W rzeczywistości nie da się wygenerować wartości wskaźnika [t-1]. To jest czary mary.
A czy Złoty Gral to rzeczywistość czy czary mary?
Patrząc na wyniki ankiety wyżej prawie 80% uważa, że można to jakoś zrobić :-D
(tak, wiem - to było kilka lat temu)

Do oryginalnego postu z kodem EA dodalem takie coś co znów automat mi połączył w jedno więc może przeszło niezauważone.
Jest tam dołączony taki plik resources/file/152788
To są te czary mary ;-)

Więc może warto popróbować co można zrobić znając teoretycznie jutrzejszy kierunek MA? nawet jeżeli na razie jest to tylko symulacja w testerze?
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
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: personov »

Ja będziemy znali przyszłą wartość MA ? Jakby to było możliwe to można zrobić wszystko. Można już nawet przeglądać drogie fury na necie i rozglądać się za willą z basenem.
Tak samo - a nawet prościej - można próbować przewidzieć czy następna świeca będzie czarna, czy biała. Wtedy otwieramy na początku świecy i zamykamy na końcu.
Tak w ramach tematu - kiedyś zrobiłem takie EA, które działało właśnie w taki sposób tylko zapisywało sobie ekstrema ZigZag.
Oczywiście wyniki rewelacyjne. I oczywiście działało tylko na testerze.

-- Dodano: pt 30-03-2018, 19:04 --

Czyli tak na prawdę sprawa rozchodzi się w tej chwili o to w jaki sposób przewidzieć przyszłą wartość MA.
Więc jesteśmy w punkcie wyjścia, bo tak samo można próbować przewidywać przyszły ruch ceny, a przecież o to w tym wszystkim chodzi.
Solą życia jest kasa.

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

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: 259 »

personov pisze:Ja będziemy znali przyszłą wartość MA ?
(...)
Czyli tak na prawdę sprawa rozchodzi się w tej chwili o to w jaki sposób przewidzieć przyszłą wartość MA.
Nie musimy znać przyszłej wartości MA.
I raczej nie ma szans aby ją poznać na tyle blisko, żeby się nią bezpośrednio posłużyć.
Ale można przewidywać kierunek zmiany MA i to jest właśnie to na czym oparłem ten EA.

Jak to przewidzieć to nad tym właśnie pracuję od pewnego czasu. I niestety wygląda na to, że może potrwać jeszcze z kilka tygodni.
Na razie mimo zachęcających wyników zakładam, że może z tego wyjść jedna wielka kicha - być może gdzieś się pomyliłem i dlatego mam takie rezultaty.
Ale nie jestem w stanie wykluczyć, że jednak to działa na tyle dobrze żeby to można było jakoś wykorzystać.
Nie tylko na podstawie wyników moich eksperymentów ale również na podstawie jak najbardziej ogólnie dostępnych publikacji.
A jeżeli tak, to może warto przygotować coś co potrafiłoby zrobić z tym lepszy użytek niż ten EA który podrzuciłem?
Ostatnio zmieniony 30 mar 2018, 21:57 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
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: personov »

Ale można przewidywać kierunek zmiany MA...
Właśnie to miałem na myśli pisząc o przewidywaniu "przyszłej wartości MA".
Solą życia jest kasa.

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

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: 259 »

No to skoro tutaj się zgadzamy to teraz zróbmy sobie takie założenie, że możemy zrobić prognozę kierunku z bardzo dużym prawdopodobieństwem.

Ale to dopiero początek bo nawet jeżelibyśmy znali dokładnie tę przyszłą wartość to nie wystarczy żeby od razu zarobić mnóstwo pieniędzy - tester pokazał mi, że dopiero przy tp 30 sl 100 EURUSD daje zadowalające wyniki w dłuższym czasie. Inaczej mówiąc jedna strata wymaga ponad trzech dni zysków aby ją pokryć przy liniowym locie idąc za perfekcyjną prognozą. Przy dynamicznym lewarowaniu i reinwestycji zysków krycie straty będzie trwać kilkukrotnie dłużej.
A ponieważ nigdy nie uzyskamy doskonałej prognozy trzeba jeszcze zrobić miejsce na błędy rzeczywistej prognozy.

I dlatego właśnie zgłosiłem się do Was: czy możecie pomóc udoskonalić tego robota? Znacznie przyspieszyłoby to pracę ku obopólnej korzyści bo jeżeli okazałoby się, że jednak daje się przewidywać tę nieszczęsną MA wystarczająco dobrze to oczywiście podzielę się z Wami informacjami jak to zrobić.
Z Waszej strony chodzi tylko o włożenie trochę pomysłów, czasu i pracy w kodowanie robota.
Ja biorę na siebie całe ryzyko totalnego zbłaźnienia się gdyby okazało się, że to tylko kolejna dobrze wyglądająca na historycznych danych mrzonka ;-)

-- Dodano: sob 31-03-2018, 1:42 --

UWAGA: chyba zrobiłem gdzieś jakiś błąd z przesunięciem danych w EA.
Te wyniki nawet na dla perfekcyjnie przewidzianej MA są podejrzanie za dobre.
Muszę jeszcze poszukać gdzie coś spieprzyłem, do tego czasu możecie sobie darować tracenie czasu.

-- Dodano: sob 31-03-2018, 2:40 --

Znalazłem:
EA w tej postaci dodaje 24 godziny co powoduje, że tak naprawdę idzie za MA za dwa dni.
Co samo w sobie jest bardzo ciekawe biorąc pod uwagę rezultaty.
Choć może nie dziwi skoro każdy dzień to 1/3 tej średniej.
Ale przewidywanie trzydniowej średniej na dwa dni naprzód jest zdecydowanie trudniejsze (o ile w ogóle możliwe) i wymaga dodatkowych badań.
Natomiast idąc za jutrzejszym kierunkiem wydajność EA zdecydowanie spada.

Najwyraźniej jest jeszcze więcej do zrobienia po mojej stronie niż myślałem :(

-- Dodano: sob 31-03-2018, 12:31 --

Dobrze, że zrobiłem ten błąd bo przy okazji wyszły bardzo interesujące rzeczy...
Tylko potrzebuję ze dwa dni, żeby sprawdzić rezultaty - długo to wszystko się liczy.
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 ;-)

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Re: Własne EA, czyli poszukiwanie Złotego Grala

Nieprzeczytany post autor: JAREK67 »

U mnie coś nie bangla. Nie generuje się plik, nic nie działa.

ODPOWIEDZ