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

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.
green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Nieprzeczytany post autor: green7 » 08 mar 2012, 21:50

Fx_boy pisze:Green, jaka jest Twoja opinia na temat "grzebania" w EA przez mniej doświadczonych adeptów mql?, - pytanie do wiarusa
Moja opinia jest taka, że najczęściej kończy się to źle :)
Oczywiście "grzebanie" jest ok - to dobry sposób na naukę mql'a, na poznanie rozwiązań innych programistów/traderów itd.
Problem w tym, że większość kodów w mqlu jest po prostu kiepskiej jakości co raczej kształtuje złe a nie dobre nawyki. Ale od czegoś trzeba zacząć .... no i nie jest tak, że wystarczy ciut pogrzebać i będziemy mieć sukces. By były rezultaty trzeba włożyć w to sporo pracy. Nie ma darmowych obiadków - przypadki, gdy ktoś jest geniuszem lub wpadł na coś świetnego od razu pomijam. To wyjątki potwierdzające regułę :)

Fx_boy pisze:personov napisał:
Ja nie przywiązuję wagi do dobrych danych historycznych. Dobre dane ? Co to jest ? Bardzo dobre dane ? Słabsze dane ?
Paranoja. Przecież to już było, a robot ma zarabiac nie na historii tylko na takim wykresie jakiego nikt jeszcze nie zna.

No właśnie, dużo było na forum na temat tego, że historyczne dane niejednokrotnie mogą EA wręcz wprowadzać w błąd?
Moim zdaniem dane mają duże znaczenie. Zależy to oczywiście od wielu czynników - choćby takich jak TF strategii. Oczywiście krótko terminowa strategia działająca na M1 będzie bardziej podatna na złe dane niż strategia inwestująca i działająca na D1.
personov pisze:Takich z Ducascopy i takich z XTB.
Przecież to zupełnie dwa światy. Masz inne wszystko: tu spread zmienny tu stały, tu dane z ryku z jakimś sensownym wolumenem tu dane od MM a volumen nic nie znaczy. Tu mogą występować pojedyncze ticki o dowolnej wielkości, a tu ich nie uświadczysz bo obetnie je filtr z platformy mt4. Co więcej nie wiesz jakie są parametry tego filtru a broker mógł go modyfikować dowolnie w przeszłości, niezależnie dla każdego instrumentu.
W sytuacji gdy masz złe dane będzie o wiele trudniej znaleźć coś co da Ci przewagę. A czasy gdy wystarczyło przecięcie dwóch średnich dawno minęły. Nie ma takich prostych i ogólnych rozwiązań działających prawie wszędzie i zawsze.

Zresztą poszukaj i poczytaj: była taka sytuacja kilka lat temu gdy meta quotes zmieniło sposób filtrowania danych. Roboty do tej pory radzące sobie dobrze w testach nagle przestały .... Podobnież było z szeroko znanymi EA typu "nocni łowcy" z dwa lata temu. Brokerzy broniąc się przed nimi podnieśli spread - EA przestały być dochodowe. Przykłady można by mnożyć.
Green
Obrazek
Obrazek

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53
Lokalizacja: KT1

Nieprzeczytany post autor: matka » 08 mar 2012, 22:22

personov pisze:Wiadomo, że wybieram coś, co ma związek z dotychczasowym zachowaniem rynku, jednak traktuje to tylko jako "szkielet" zachowania rynku i najdrobniejsze szczególiki nie mają tu znaczenia. Przecież jeśli historia ma być tylko "zarysem" tego co może sie zdarzyć w przyszłości to wartości co do jednego pipsa nie muszą mieć znaczenia.
Znaczenie szczegółów zależy od sposobu przetwarzania danych przez eksperta. Moim zdaniem w większości przypadków mają one bardzo duże znaczenie. Nie możesz traktować historii jako szkieletu czy zarysu, dla eksperta liczy się każdy punkt, nie podejmie decyzji trochę przed czy trochę po, bo mu się tak akurat wyda lepiej. Wiesz przecież jaka jest różnica pomiędzy testami na danych z metaquotes i dukasa? Jakość to nie tylko brak filtrowania czy manipulowania spreadem, jest też ciągłość, czyli brak luk i chyba jeszcze parę ważnych rzeczy, których ze względu na porę nie pomnę ;)
Obrazek
Unfortunately, more to come

Awatar użytkownika
Bemowo
Maniak
Maniak
Posty: 1975
Rejestracja: 15 lis 2011, 14:00
Kontakt:

Nieprzeczytany post autor: Bemowo » 09 mar 2012, 02:40

http://www.myfxbook.com/members/Arivar/ ... var/236534

wynik uzyskany w oparciu 5 automatów zostawionych na pastwę losu.
W międzyczasie zmniejszenie agresywności jednego z nich (stąd rozbieżność balans equity)


Odnośnie danych, to używam danych tikowych, a według mnie dobry automat to taki, który podejmuje decyzje w oparciu o informacje z różnych interwałów.

Chętnie spotkam się z osobami, które chcą na ten temat wiedziec wiecej.

Zapraszam do spotkania

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

Nieprzeczytany post autor: JAREK67 » 09 mar 2012, 08:56

Bemowo pisze:wynik uzyskany w oparciu 5 automatów zostawionych na pastwę losu.
Próbowałem takiej koncepcji. Problem w tym, że w MT4 nie zrobisz testów historycznych na kilku instrumentach. W MT5 podobno można. Ale tam znowu nie można hedżować.
Mam pytanie. Te roboty chodzą całkowicie niezależnie? Czy mają jakąś wspólną metodologię zamykania pozycji, np. w oparciu o aktualny wynik na rachunku?

Ral1n
Pasjonat
Pasjonat
Posty: 421
Rejestracja: 20 kwie 2009, 17:39

Nieprzeczytany post autor: Ral1n » 09 mar 2012, 11:07

Koledzy, ja mam trochę inne pytanie. Jeśli znajdzie się ktoś chętny to będę wdzięczny.

Czy możecie mi wytłumaczyć - jak daleko można posunąć się kodem w mql? Pytanie może wydawać się trywialne, albo beznadziejnie głupie.

Do jakiego stopnia można można osiągnąć pewną sublimację opisującą warunki handlu.

Czy ktoś mógłby rzucić mięsem (przykładowym): np.

Wejście (ea rozpatruje fibo, s/r, pivoty, wzajemna odległość i bada ją na bierząco), niech będzie, że uwzględnia przy tym 5 wskaźników

Prowadzenie trejdu: (ea uwzlględnia aspekty związane z powyższym)

Wyjście - też możliwa jest implementacja kilku scenariuszy, że np. jak wskaźnik leci mi gdzieś tam, MACD przecina się ale np. do pivota jest za daleko - to trzyma trejd dalej.


Pytam bo ja się zupełnie nie znam a chciałbym poznać gdzie mniej więcej leży granica? Czy to zależy od umiejętności programisty, czy od limitacji samego języka programowania?

Proszę się nie śmiać, grzecznie pytam - tematem ea nigdy się nie interesowałem, nigdy takowego tez nie odpaliłem. :wink:

Awatar użytkownika
Bemowo
Maniak
Maniak
Posty: 1975
Rejestracja: 15 lis 2011, 14:00
Kontakt:

Nieprzeczytany post autor: Bemowo » 09 mar 2012, 11:33

Każdy robot pracował na innym instrumencie.

Każdy miał inne podejście inwestycyjne.

jeden z automatów uśredniał pozycje (zmniejszenie jego agresywności w trakcie konkursu - złoto)

2 automaty były automatami nowymi (dziewiczy rejs)

pomijając automat, który uśredniał agresywność pozostałych była bardzo niska, stąd zwiekszając wolumen na pewno wynik byłby dużo większy.


W transakcje nie ingerował człowiek, zamknięcie pozycji poprzez TP, SL, trailing stop

Dodano po 18 minutach:

Odnośnie Ral1n

To o czym wsponiałeś jest do zrobienia, jednak czym większa ilość zmiennych tym trudniej nad tym wszystkim zapanować.

Wówczas optymalizacja takiego urządzenia jest bardzo długa i nie zawsze przynosi zakładane rezultaty.

Załączam wizualne założenia mojego automatu,

jeżeli ktoś potrzebuje wskaźnik do rysowania średnich z różnych interwałów, mogę go załączyć

Dodano po 2 minutach:

To oczywiście demo, nadal jeszcze pracuję nad jego ulepszeniem

niewidoczne jeszcze wskaźniki 5 RSI tłumiace kup na szczycie
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Ral1n
Pasjonat
Pasjonat
Posty: 421
Rejestracja: 20 kwie 2009, 17:39

Nieprzeczytany post autor: Ral1n » 09 mar 2012, 11:46

Dzięki - oczywiście zdaje sobie sprawę, że nie jest to łatwe, nie mniej jednak jest to w takim razie grubsze wyzwanie.

Jan24
Bywalec
Bywalec
Posty: 6
Rejestracja: 12 mar 2007, 13:32

Nieprzeczytany post autor: Jan24 » 09 mar 2012, 18:06

Fx_boy napisał:
personov napisał:
Ja nie przywiązuję wagi do dobrych danych historycznych. Dobre dane ? Co to jest ? Bardzo dobre dane ? Słabsze dane ?
Paranoja. Przecież to już było, a robot ma zarabiac nie na historii tylko na takim wykresie jakiego nikt jeszcze nie zna.

No właśnie, dużo było na forum na temat tego, że historyczne dane niejednokrotnie mogą EA wręcz wprowadzać w błąd?


Moim zdaniem dane mają duże znaczenie
To dobrze, że ścierają się różne opinie. Jak przeglądam temat, to prawie każdy post w pewnym sensie oddaje mój punkt widzenia – tylko oczywiście z różnego okresu.
Akurat to, że obecnie podzielam pogląd personov’a tutaj nic nie znaczy.

Jednak dyskusja toczy się niby o to czy jakość danych może pomóc w napisaniu dobrego EA.
Tylko jakoś nie dostrzegam rzeczy najważniejszej. Czy dobrze rozumiemy różnicę w pracy naszego Eksperta na żywo, a podczas testów? Czy wiemy ile czasu potrzebuje nasz EA na „przerobienie” jednego tiku, a ile ich zgubi przy zwiększonej aktywności rynku. Czy znamy przeciętny % „zgubionych” tików naszego Eksperta. A podczas testów czyta wszystkie. I to jest najczęstszy powód, że w testach było tak ślicznie, a na żywo kicha. Potem mamy pretensje do całego świata (do brokera często też, często słusznie), a pod ręką mamy masę rzeczy które sami możemy poprawić. Może same dane też mają znaczenie, ale wg mnie niewielkie.

Oczywiście, to co powyżej dotyczy sytuacji gdy analizujemy każdy tik. Jeżeli robimy analizy tylko na zamknięciu słupka (część EA tak działa), to testy robimy też na cenach zamknięcia i wtedy nie ma dużych różnic.

Dlatego starajmy się jak tylko możemy zracjonalizować naszą funkcje start, aby jej czas wykonania maksymalnie skrócić. Wiemy, że nieraz na pojedynczy tik czekamy kilka minut, a nieraz przychodzi ich kilkanaście w obrębie kilku sekund. Nic na to nie poradzimy. Wartość wolumenu na każdym słupku to jest właśnie ilość tików, które przyszły (niektórzy niestety mylnie sądzą, że to jakiś obrót u brokera). Dla zainteresowanych króciutki program, który puszczony na dowolnym TF pokaże ile tików gubimy.

Kod: Zaznacz cały

int k=0;
datetime  tm;


int init()
  {  tm= Time[0];
   return(0);
  }


int start()
{ // ciąg instrukcji
   k++;
    if (tm==Time[0]) return(0);
      Alert("Odczytano ",k," tików z dostępnych ",Volume[1]);
       k=0;
        tm= Time[0];
   return(0);
  }

W miejsce <// ciąg instrukcji> wstawmy sobie to co umieściliśmy w swojej funkcji start (Instrukcje handlowe pomińmy, bądź wykreskujmy // funkcje OrderSend).

Dla pełnego obrazu puszczamy to różnych TF i w różnych okresach aktywności. Miłej zabawy.

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

Nieprzeczytany post autor: green7 » 09 mar 2012, 22:52

Jan24 pisze:Tylko jakoś nie dostrzegam rzeczy najważniejszej. Czy dobrze rozumiemy różnicę w pracy naszego Eksperta na żywo, a podczas testów? Czy wiemy ile czasu potrzebuje nasz EA na „przerobienie” jednego tiku, a ile ich zgubi przy zwiększonej aktywności rynku. Czy znamy przeciętny % „zgubionych” tików naszego Eksperta
Brawo za spostrzegawczość - wnioski jednak wyciągasz błędne.

"Gubienie" ticków nie wynika zwykle z tego, że EA działa za długo.
Zrób sobie pomiary czasu ile EA analizuje tick i łatwo dostrzeżesz, że nawet jak trwa to mniej niż milisekundę nie będziesz otrzymywał wszystkich ticków.

Jak poobserwujesz volumen na ostatnim słupku (nie w EA ale w dolnej linii terminala) do dostrzeżesz, że nie zawsze zwiększa się on co 1, czasem jest to od razu skok o kilka jednostek.

Wniosek z tego taki: nie bierzesz pod uwagę tego, że terminal dostaje ticki paczkami. tzn. w jednym komunikacie sieciowym przychodzą np. 4 kolejne ticki dotyczące jednej pary. W takiej sytuacji EA otrzymuje tylko ostatni z tych ticków, nie ma sensu by przetwarzało ticki, które są już przeszłością.

Masz rację w tym, że z tego powodu testy są mniej wiarygodne. 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.
Green
Obrazek
Obrazek

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53
Lokalizacja: KT1

Nieprzeczytany post autor: matka » 09 mar 2012, 23:41

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?
Obrazek
Unfortunately, more to come

ODPOWIEDZ