Teraz jest Cz, 19-07-2018, 05:55

Godziny sesji | Strefa czasowa: UTC + 1 [ DST ]




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: Cz, 31-03-2016, 09:53 
Offline
Nowy użytkownik

Dołączył(a): Cz, 31-03-2016, 09:02
Posty: 3
Witam szanownych forumowiczów

Napisałem prostego robota na sieci neuronowej do klasyfikacji wzorców – sieci SOM (Self-organizing map). Sieć dzieli pewną liczbę (NDANYCH = 50) tików ceny Close na N klas (w tym przypadku na 4). Każda z klas odpowiada sygnałowi kupna (Wx = 1), sygnałowi sprzedaży (Wx = -1) lub sygnałowi neutralnemu (Wx = 0). Współczynniki można zmieniać w opcjach EA.
Handel odbywa się, gdy ceny zmieniają się z duża prędkością (EpsSpeed = 4). Do pomiaru prędkości służy wskaźnik „speedOmeter_PRO”.

Robot dział dobrze w backtestach, nie daje dobrych rezultatów na danych rzeczywistych. Nie wiem w czym tkwi problem.

Plik sieci neuronowej należy rozpakować do katalogu MQL4/files i do katalogu tester/files.


Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu. Musisz się zalogować.


Góra
 Zobacz profil  
 
PostNapisane: Cz, 31-03-2016, 10:28 
Offline
Moderator
Avatar użytkownika

Dołączył(a): So, 15-09-2012, 23:49
Posty: 1450
Pochwały: 22
Możliwe, że chodzi o jakość modelowania, jeżeli robot operuje na tickach, poślizgach które nie są modelowane w MT4 albo może kwestia spreadu który jest większy w rzeczywistości.

Jeżeli to kwestia modelowania to MT4 operując na danych historycznych gdy ich nie posiada dokładnych używa jakiś przybliżeń - może to kwestia tego.


W jaki sposób siec dobiega wagi dla poszczególnych sygnałów ? Kod jest dość długi więc nie miałem możliwośći odtworzenia algorytmu.

_________________
“Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure.”


Góra
 Zobacz profil  
 
PostNapisane: Śr, 20-04-2016, 20:08 
Offline
Nowy użytkownik

Dołączył(a): Śr, 20-04-2016, 19:35
Posty: 2
Sprawdzałeś MAE dla swojego programu?
(Maximum Adverse Excursion, ew. Average Adverse Excursion) - chodzi o to ile średnio/maksymalnie kurs odbił w przeciwną stronę zanim dotarł do poziomu tp.

Nie sprawdzałem dla twojego programu bo mi się nie ładuje, ale sądząc po logice to może pomóc - mam coś podobnego tylko bez sieci neuronowej.


Góra
 Zobacz profil  
 
PostNapisane: Cz, 21-04-2016, 22:25 
Offline
Nowy użytkownik

Dołączył(a): Pn, 15-07-2013, 19:31
Posty: 1
mechatron77 napisał(a):
Witam szanownych forumowiczów

Robot dział dobrze w backtestach, nie daje dobrych rezultatów na danych rzeczywistych. Nie wiem w czym tkwi problem.


Problem tkwi w tym, że tiki w backtestach są generowane przy pomocy prostych algorytmów, więc są przewidywalne. Nie trzeba wcale korzystać z teorii sieci neuronowych, żeby napisać wiele różnych prostych robotów, które będą dawać podobne wyniki w backtestach. Sam napisałem co najmniej kilkanaście.
Jednak nawet gdyby udało się napisać takiego robota, który dobrze przewidywałby krótkie ruchy cen i nieźle zarabiał na demo, to napotkamy kolejną barierę w postaci działań brokerów. Takie konto w realu będzie zarabiało tylko na krótką metę, zazwyczaj przez kilka godzin. Nawet jeśliby udało Ci się zarobić niezłą kasę, to broker powoła się na różne punkty z regulaminów i skasuje zysk albo i więcej.
Mówię to z własnego doświadczenia, naprawdę nie ma co się łudzić. Oto przykład:
Broker XM Markets:
Cytuj:
Dear Sir,

I regret to inform you that because of the high frequency of transactions/orders you requested/performed, which have caused serious negative impact on performance of our servers, in order to protect the quality of execution and performance of our severs we have been forced to permanently suspend your account(s).

Pursuant to Clauses 48.2 and 53.2 of the Company’s Terms and Conditions, to which you agreed when you opened your account(s) with our Company, we are, therefore, entitled, under these circumstances, to revoke the transactions initiated in your account(s) and make the necessary and corresponding corrections and adjustments in your account(s) at our Company’s sole discretion.

Accordingly in line with the foregoing, we hereby regret to have to inform you:

- that your account(s) with our Company will be definitely closed with immediate effect;

- that, pursuant to Clause 53.2 of the Company’s Terms and Conditions,you will not be compensated for the profit of <169.14 USD>;

In view of the above, please note that you will be strictly prohibited from opening any new trading account(s) and trade with our company. Nonetheless, in cases where you may successfully open an account and trade with our company due to any technical and/or human error, we reserve every right to immediately close your account upon identification, nullify any profit/loss generated and refund the original amount of deposit, excluding any deposit and withdrawal charges, back to the same source of deposit.

This letter is official. It speaks for itself that it is sent to you without prejudice to any rights and/or remedies our Company may have in relation to this matter, now or in the future.

Your faithfully,


Jeśli chcesz zarobić przy pomocy sieci neuronowych czy w inny sposób, to nie skupiaj się na poszukiwaniu krótkich tendencji zmian cen na danych tikowych. Trzeba szukać punktów zwrotu lub kontynuacji trendu, takich, w których jest spore prawdopodobieństwo, że cena podąży w określonym kierunku przez dłuższy czas. Jeśli się uda, to żaden regulowany broker się do tego nie doczepi, a nawet jeśli, to przegra sprawę w komisji nadzoru finansowego.


Góra
 Zobacz profil  
 
PostNapisane: N, 1-05-2016, 10:04 
Offline
Nowy użytkownik

Dołączył(a): Śr, 20-04-2016, 19:35
Posty: 2
A próbowałeś z dokładnymi danymi?
np. ja korzystam z tego programu: https://tickstory.com/articles/metatrad ... g-quality/
(Jest też darmowa wersja)

Strategia oparta na tick-ach nie musi wysyłać dużej ilości zamówień do serwera.
A poza tym sporo da się tego zrobić po stronie programu - hidden sl, tp, buy stop, sell stop itp.


Góra
 Zobacz profil  
 
PostNapisane: Wt, 3-05-2016, 10:32 
Offline
Nowy użytkownik

Dołączył(a): Cz, 31-03-2016, 09:02
Posty: 3
Okazało się, że to wina niedokładnego modelowania w TM4.
Po wykorzystaniu dokładnych danych historycznych wynik nie był tak dobry, jak dla danych przybliżonych przez MT4.
Sieci neuronowe uczyłem w Matlabie, zapisywałem wagi do pliku i wczytywałem ten plik w MT4.


Góra
 Zobacz profil  
 
PostNapisane: Pt, 21-10-2016, 22:29 
Offline
Nowy użytkownik

Dołączył(a): Pt, 21-10-2016, 12:04
Posty: 2
mechatron77 napisał(a):
Okazało się, że to wina niedokładnego modelowania w TM4.
Po wykorzystaniu dokładnych danych historycznych wynik nie był tak dobry, jak dla danych przybliżonych przez MT4.
Sieci neuronowe uczyłem w Matlabie, zapisywałem wagi do pliku i wczytywałem ten plik w MT4.


Witam. Mam prośbę byłbyś wstanie polecić jakiś poradnik jak uczyć sieć w matlabie, podsunąłeś mi pomysł, do tej pory walczyłem z siecią fann2mql na mt4, ale to mnie przerosło. Brak informacji i takie tam, i miało też widzę poważne ograniczenie. Mianowicie sieć uczyła się w czasie rzeczywistym, praca na danych historycznych to mi się podoba. Zastanawia mnie tylko jedna rzecz,kiedy przewijam wykres na M1 to tak po miesiącu mam przerwę w danych, brakuje paru miesięcy i co ciekawe ta przerwa wędruje,ale dobrze że choć jest miesiąc. Dziękuję i pozdrawiam.


Góra
 Zobacz profil  
 
PostNapisane: So, 22-10-2016, 14:22 
Offline
Nowy użytkownik

Dołączył(a): Cz, 31-03-2016, 09:02
Posty: 3
Witam. Aby korzystać z matlaba w MT4 można posłużyć się pomostem (bibliotekami dll) zamieszczonymi na stronach: https://www.mql5.com/en/articles/44 oraz https://www.mql5.com/en/job/3447. Program w mq4 uruchamia maszynę wirtualną matlaba i komunikuje się z nią przez przez funkcje z ww. bibliotek dll. Jednocześnie można oczywiście mieć uruchomionego matlaba, w którym wykonujemy obliczenia. Wyniki obliczeń (np. obiekty sieci neuronowych) należy zapisać w pliku "mat" (polecenie matlaba: save scieżka_i_nazwa_pliku) następnie wczytać, wydając polecenie matlaba w kodzie programu mq4 (polecenie matlaba: load scieżka_i_nazwa_pliku). Do załadowanego pliki mat (zapisanej przestrzeni roboczej matlaba) można się swobodnie odwoływać za pomocą ww. bibliotek dll.
Toolbox zawierający sieci neuronowe to Neural Network Toolbox. Opis na stronie producenta matlaba. Aby się nimi sprawnie posługiwać, należy dobrze znać matlaba - literaturę z tego zakresu można znaleźć w internecie w formacie pdf.
Jeśli chodzi o same sieci neuronowe to warto zwrócić uwagę, aby sieci nie uczyły się na pamięć - będą wtedy dawały rewelacyjne rezultaty dla danych, których były uczone i fatalne dla danych z poza tego zbioru. Niestety sieci neuronowe w matlabie chętnie uczą się na pamięć, szczególnie, jeśli zastosujemy zaawansowaną metodę uczenia: np. scg lub lm, co oczywiście nie oznacza konieczności używania prostszych (mniej dokładnych metod); cóż więc zrobić należy: 1. można zadbać o to, by nie były zbyt szczegółowe, a ogólne (np. mniejszy wektor uczący), 2. przygotowane próbki przed uczeniem należy rozmieścić losowo w macierzach danych wejściowych i docelowych (a wyniki oglądać na wykresach z danych uporządkowanych), 3. testować sieci dla liczby neuronów "absurdalnie" małej (np. 1 neuron w warstwie ukrytej) i "absurdalnie" dużej (przy małej liczbie neuronów dane mogą się lepiej uśrednić, ale mogą też dostosować się tylko do danych prezentowanych sieci i dać w wyniku tego gorsze wyniki dla danych nie prezentowanych w procesie uczenia; przy dużej liczbie neuronów może wystąpić problem przeuczenia sieci neuronowej).
Ww. biblioteki dll mi działy poprawnie w matlabie 2012 32 bity; z jakiegoś zapomnianego już powodu musiałem je kompilować ponownie w VS C++ 2010, ale może nie będzie u Pana nie będzie takiej potrzeby.


Góra
 Zobacz profil  
 
PostNapisane: Pn, 24-10-2016, 10:10 
Offline
Nowy użytkownik

Dołączył(a): Pt, 21-10-2016, 12:04
Posty: 2
mechatron77 napisał(a):
Witam. Aby korzystać z matlaba w MT4 można posłużyć się pomostem (bibliotekami dll) zamieszczonymi na stronach: https://www.mql5.com/en/articles/44 oraz https://www.mql5.com/en/job/3447. Program w mq4 uruchamia maszynę wirtualną matlaba i komunikuje się z nią przez przez funkcje z ww. bibliotek dll. Jednocześnie można oczywiście mieć uruchomionego matlaba, w którym wykonujemy obliczenia. Wyniki obliczeń (np. obiekty sieci neuronowych) należy zapisać w pliku "mat" (polecenie matlaba: save scieżka_i_nazwa_pliku) następnie wczytać, wydając polecenie matlaba w kodzie programu mq4 (polecenie matlaba: load scieżka_i_nazwa_pliku). Do załadowanego pliki mat (zapisanej przestrzeni roboczej matlaba) można się swobodnie odwoływać za pomocą ww. bibliotek dll.
Toolbox zawierający sieci neuronowe to Neural Network Toolbox. Opis na stronie producenta matlaba. Aby się nimi sprawnie posługiwać, należy dobrze znać matlaba - literaturę z tego zakresu można znaleźć w internecie w formacie pdf.
Jeśli chodzi o same sieci neuronowe to warto zwrócić uwagę, aby sieci nie uczyły się na pamięć - będą wtedy dawały rewelacyjne rezultaty dla danych, których były uczone i fatalne dla danych z poza tego zbioru. Niestety sieci neuronowe w matlabie chętnie uczą się na pamięć, szczególnie, jeśli zastosujemy zaawansowaną metodę uczenia: np. scg lub lm, co oczywiście nie oznacza konieczności używania prostszych (mniej dokładnych metod); cóż więc zrobić należy: 1. można zadbać o to, by nie były zbyt szczegółowe, a ogólne (np. mniejszy wektor uczący), 2. przygotowane próbki przed uczeniem należy rozmieścić losowo w macierzach danych wejściowych i docelowych (a wyniki oglądać na wykresach z danych uporządkowanych), 3. testować sieci dla liczby neuronów "absurdalnie" małej (np. 1 neuron w warstwie ukrytej) i "absurdalnie" dużej (przy małej liczbie neuronów dane mogą się lepiej uśrednić, ale mogą też dostosować się tylko do danych prezentowanych sieci i dać w wyniku tego gorsze wyniki dla danych nie prezentowanych w procesie uczenia; przy dużej liczbie neuronów może wystąpić problem przeuczenia sieci neuronowej).
Ww. biblioteki dll mi działy poprawnie w matlabie 2012 32 bity; z jakiegoś zapomnianego już powodu musiałem je kompilować ponownie w VS C++ 2010, ale może nie będzie u Pana nie będzie takiej potrzeby.


Witam. Nie ocenione są Pana rady szczególnie dla kogoś kto tak jak ja stawia pierwsze kroki w temacie SSN. Rozważam tez kwestię czy swoje kroki skierować w stronę Matlaba, lub jego klona Octave.


Góra
 Zobacz profil  
 
PostNapisane: Pn, 5-03-2018, 09:25 
Offline
Nowy użytkownik

Dołączył(a): Pn, 5-03-2018, 09:22
Posty: 1
Seksowne dziewczyny z agencji http://www.forgotten666.com/ to propozycja dla panów, którzy szukają pięknych i atrakcyjnych kobiet w Londynie. Wszystkie dziewczyny są gorące, pełne seksapilu i doskonale wiedzą, jak sprawić przyjemność mężczyźnie. Zadzwoń i umów się na spotkanie od razu.


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Godziny sesji | Strefa czasowa: UTC + 1 [ DST ]


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 1 gość




Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron

Regulamin forum | Polityka prywatności

Powered by phpBB® Forum Software © phpBB Group