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

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Nieprzeczytany post autor: mike_05 »

Generic opłaca się wyłączyć w ostatniej fazie optymalizacji, kiedy już szukam na najmniejszych możliwych krokach. Kiedy zaczynam i nie wiem czego szukać, przeważnie parametrów jest więcej niż 2 a za tym krok raczej skokowy. Po znalezieniu jakiejś sensownej górki, która nie jest jednak powodem przypadkowego szczególnego układu ceny i parametrów, w ramach tej górki zawężam krok i wtedy wyłączenie Generic raczej ma sens.

Dodano po 5 minutach:

no nie jest, to akurat na demo bosia, gdzie mikroloty możesz pograć w realu, ale dema już nie zapuścisz na 0.01, czyli albo dajesz kase i płacisz daninę, to sobie testuj "na realnych" danych, albo sssssssssss........ .
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

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

Nieprzeczytany post autor: green7 »

259 pisze:Po pierwsze Metaquotes radzi, aby odświerzać Ask/Bid bo EA chodzi w swoim wątku swoimi drogami co w skrajnych przypadkach może powodować, że te dwie zmienne nie są zsynchronizowane z rynkiem. Tak odczytałem ich dokumentację.

Po drugie, to w zasadzie wynika z pierwszego: wysłanie zlecenia trochę trwa. Jeżeli w tym czasie kwotacje nie są aktualizowane bo EA stoi i czeka na wynik to należy to odświeżyć zanim algorytm zacznie sprawdzać następne warunki oparte o te wartości. W testerze nie ma to znaczenia i dlatego dodałem warunek !testing.
Ale w realu to jest już różnie: jeden broker załatwi to w pół sekundy, inny w kilkanaście-kilkadziesiąt sekund, a rynek w tym czasie pracuje.

Tak: RefreshRates ma sens w momencie gdy jesteśmy wewnątrz funkcji start i robimy coś co mogło długo trwać a potem jeszcze kontynuujemy operacje (w tym samy wywołaniu start) i chcemy znać aktualne ceny.
Dobry przykład to wysłanie zlecenia, zakończone requotem. Jeśli po stwierdzeniu tego faktu chcemy od razu powtórzyć zlecenie (od razu a nie w kolejnym wywołaniu start) to musimy wywołać RefreshRates. Zgadza się.

Ale RefreshRates nie ma sensu w tym miejscu EA w którym go umieściłeś.
Dlaczego ?
A no bo jest na początku funkcji start - gdzie kod powyżej RefreshRates to 2 czy 3 proste warunki i parę obliczeń (nie zawsze wykonywanych).
Więc jeśli sterowanie dojdzie do miejsca w którym jest to wywołanie: znaczy to tyle, że terminal dostał tick'a i wywołał funkcję start z aktualnymi cenami. W zasadzie nieprawdopodobne jest by cena zmieniła się od początku wykonania funkcji start do miejsca gdzie umieściłeś RefreshRates - bo po prostu tam nie ma nic takiego coby mogło trwać długo.

Właściwie w tym EA nie widzę konieczności stosowania RefreshRates. Ewentualnie przy orderach jeśli chcemy by było kilka prób wysłania. Ale to załatwia już wspomniany libOrderReliable - jest tam zmienna mówiąca ile prób wysłania ma być (domyślnie o ile pamiętam 10) i pomiędzy nimi ceny są odświeżane.

Niektórzy sądzą, że RefreshRates powoduje pobranie cen z serwera: nic takiego się nie dzieje. RefreshRates jedynie przepisuje informacje z wątku terminala obsługującego otrzymywanie kwotowań do wątku w którym działa EA.
Green
Obrazek
Obrazek

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

Nieprzeczytany post autor: 259 »

Dzięki za wyjaśnienia
A więc Find="if(!testing) RefreshRates();" &Replace="" (bez cudzysłowów).
Na razie jest zabawa w testerze więc gołe OrderSend() jest ok.

Choć jest jedna rzecz która mnie niepokoi:
wątek EA jest najwyraźniej wykonywany później niż interfejs z wykresem i wskaźnikami.
Ostatnio przeniosłem pewien wskaźnik rysujący pewne obiekty do EA i porównywałem oba w czasie rzeczywistym na tym samym wykresie - EA był spóźniony przynajmniej o tik.
Jeżeli wsadzimy na wykres dużo różnych rzeczy to opóźnienie wykonywania EA zwiększy się jeszcze bardziej.
Czy to opóźnienie nie spowoduje, że Ask/Bid będą nieco nieświeże?

Jeżeli są uaktualniane na początku start() to może nie jest to problem.
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: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Wersja v.5.0
Dodałem warunki przekroczenia wartości wskaźnika CCI.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Solą życia jest kasa.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Nieprzeczytany post autor: mike_05 »

personov pisze:Wersja v.5.0
Dodałem warunki przekroczenia wartości wskaźnika CCI.
Chciałem pochwalić, a tu na czerwono się zrobiło?
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

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

Nieprzeczytany post autor: 259 »

mike_05 pisze:
personov pisze:Wersja v.5.0
Dodałem warunki przekroczenia wartości wskaźnika CCI.
Chciałem pochwalić, a tu na czerwono się zrobiło?
Próba ognia - jak byłeś grzeczny i nie wkurzałeś admina to może Ci się uda...:-D
Dla pocieczenia: tutejsi władcy są naprawdę miłosierni - chylę kapelusza i Dosiego Roku :564: Dla wszystkich, zaczynając od adminów... sam zobacz - daromanchester raczył się pochylić nad wnioskiem o pochwałę na sześć minut przed Nowym Rokiem - to jest dopiero poczucie obowiązku!
I chyba tak zwyczajnie ludzkiej życzliwości.. nie ma tutaj takiego emoticon żeby to wyrazić obrazkowo...
Ostatnio zmieniony 01 sty 2012, 17:33 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
daromanchester
Przyjaciel Forum
Przyjaciel Forum
Posty: 2301
Rejestracja: 02 maja 2009, 12:48

Nieprzeczytany post autor: daromanchester »

259 dziękuję bardzo :)
U mnie jest inna strefa czasowa więc aż tak bardzo się nie poświęcałem. :mrgreen:
"Ekspert to taki człowiek, który popełnił wszystkie możliwe błędy w bardzo wąskiej dziedzinie" - Niels Bohr
"Każdy głupi może wiedzieć. Sedno to zrozumieć" - Albert Einstein

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Nieprzeczytany post autor: mike_05 »

Czekając na wersję do grania, choćby demo, tymczasem SIARA na ECNie


Obrazek
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

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

Nieprzeczytany post autor: green7 »

259 pisze: Choć jest jedna rzecz która mnie niepokoi:
wątek EA jest najwyraźniej wykonywany później niż interfejs z wykresem i wskaźnikami.
Ostatnio przeniosłem pewien wskaźnik rysujący pewne obiekty do EA i porównywałem oba w czasie rzeczywistym na tym samym wykresie - EA był spóźniony przynajmniej o tik.
Jeżeli wsadzimy na wykres dużo różnych rzeczy to opóźnienie wykonywania EA zwiększy się jeszcze bardziej.
Czy to opóźnienie nie spowoduje, że Ask/Bid będą nieco nieświeże?

Jeżeli są uaktualniane na początku start() to może nie jest to problem.
W zasadzie opóźnienia nie powinno być żadnego (zakładając, że EA nie wykonuje jakiś dużych obliczeń).
Tyle teoria: w praktyce jak to w mt4: dzieją się rzeczy różne.
U jakiego brokera to miałeś i jaki był typ zleceń (instant czy market) ?

Coś podobnego już dyskutowaliśmy tu:
http://www.forex-nawigator.biz/dyskusje ... ht=#379171
Green
Obrazek
Obrazek

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

Nieprzeczytany post autor: 259 »

green7 pisze: U jakiego brokera to miałeś i jaki był typ zleceń (instant czy market) ?

Coś podobnego już dyskutowaliśmy tu:
http://www.forex-nawigator.biz/dyskusje ... ht=#379171
To że dostawałem ticket, a zlecenia nie było w puli za to ponad minutę później requote? Instant Order i Market Maker oczywiście :-)

A z tą różnicą pomiędzy wykresem i Market Window (w wątku z tego linku) to naprawdę niezły sztos.
Wystarczy aby dać sobie spokój z takim brokerem.
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