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
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Mamy już wersję .v3
Oczywiście dzięki 259, który zajął się zoptymalizowaniem kodu.
Nic się nie zmieniło jeśli chodzi o działanie, w dalszym ciągu jest to "szablon" do produkcji pomysłów tylko jest jedno ALE :
backtest na mojej wersji .v2 trwał 2min.37s
w zoptymalizwanej wersji .v3 trwało to tylko 15 s. !
Dobra robota 259 ;) Brawo.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 26 gru 2011, 20:51 przez personov, łącznie zmieniany 1 raz.
Solą życia jest kasa.

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

Nieprzeczytany post autor: 259 »

Nie ma za co - mówiłem, że łatwiej optymalizować niż wymyślać Grala...

Bug fix - przez nieuwagę zdefiniowałem tablicę AStab[] jako dynamiczną. W init() wyliczam zaś poszczególne jej wartości bez wcześniejszego dopasowania wielkości tablicy. To działa ale przez przypadek - piszę do obszaru wolnego który może być zajęty przez cokolwiek bądź innego (MQL nie sprawdza granic tabelek). W efekcie w którymś momencie albo mogą wyjść głupoty albo crash.

Proponuję więc ją usztywnić poprzez zmianę deklaracji w linii 25 na: double AStab[11]
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 »

Zmienione. Oczywiście załącznik 2 posty wyżej poprawiony.
Solą życia jest kasa.

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

Nieprzeczytany post autor: 259 »

I żeby nie było nudno, trzeba coś wymyślić ze zmiennymi:

int statusB = 0;
int statusS = 0;
double cenaB = 0;
double cenaS = 0;
double lotB=0;
double lotS=0;

One przechowują bardzo ważne informacje niezbędne do prawidłowej kontynuacji.
W testerze jest ok bo kod pracuje bez przerwy w wybranym okresie.
Ale w realu np. wyłączenie MT4 spowoduje ich reset.
Po ponownym uruchomieniu otwarta pozycja nie będzie kontynuowana (w sensie zarządzania), a nowa zostanie otwarta dopiero po zamknięciu ostatniego wejścia. Czyli zostawiamy otwartą pozycję na pastwę losu.

Jest kilka sposobów:

1) zapisywać to do pliku
2) zapisywać do Global Variables
3) zapisywać do komentarzy zleceń
4) wyliczać za każdym razem od początku na podstawie otwartych zleceń i ogólnej zasady działania algorytmu.

Z tych czterech pierwsze dwa są najsłabsze bo są wrażliwe na awarie aplikacji/systemu operacyjnego czy uszkodzenia zapisu pliku.
Dwa ostatnie z kolei będą wymagać sporej gimnastyki...
Zgniły kompromis wskazuje mi na 2.
Z dodatkowym warunkiem - zapisywanie i czytanie GV tylko gdy EA pracuje normalnie - !IsTesting(). W testerze dokładałoby to tylko niepotrzebne opóźnienie.

Pomyślę o tym przy okazji...
Ostatnio zmieniony 26 gru 2011, 23:45 przez 259, łącznie zmieniany 2 razy.
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 »

Słuszna uwaga. Pomyśl jak to zrobić.
Wiele osób nie zna Cię z tej strony, bo w dziale programowana nie udzielasz się w ogóle, ale ja Cię znam i wiem, że z kodem EA potrafisz zrobić cuda ;)
Solą życia jest kasa.

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

Nieprzeczytany post autor: 259 »

kubuś puchatek pisze:Dzięki wielkie Mike_05 za wstawkę z Turbo Profitem. Wczoraj zassałem i testuję. Co prawda zmienność dziś na rynku jak fala w studni, ale to w końcu Święta. Jeszcze zapytam, jakie masz opinie na jego temat, czy długo go testowałeś? Pozdrawiam.
To mnie coś chyba ominęło. Za późno przyszedłem? Za wcześnie wyszedłem?
Może ślepota ale nie potrafię tego znaleźć - zgadzam się na publiczne wyśmianie jak to jest na wierzchu, a ja tego nie widzę.
A cały rok starałem się być grzeczny…

Update - a jak już się popłakałem z żalu na zły los, poszedłem po rozum do głowy, użyłem prostego narzędzia Szukaj i z policzkami gorącymi od wypieków wpisałem tam: Turbo
I stał się cud :-D Taka jest magia tych Świąt...
Ostatnio zmieniony 26 gru 2011, 22:12 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: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Ja wszedłem na konfitury > TurboProfit, jest jakiś link, ale nie dziala. Może mike_05 wyłączyl źródło ?
Dobra. Mam. Działa. Potestujemy ;)
Solą życia jest kasa.

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

Nieprzeczytany post autor: 259 »

luki791 pisze:
mike_05 pisze:cieszę się, pisząc z Podlasia akurat, że coś ruszyło na wątku niemnienj jak da` n n na E wmelegildzie,l jedna osoba była tylko zonterstesowan i ściągneła pliki z zapodanego Ea.
Z tego wnioserk, że wszyscy juŻ mają swoje r welacyjnwe systemy i nic dalej nie jest potrzwebne

\\sorry, [pisze a jakimś poijebaNYM komputerze.
:P :P Lepiej napisz jaka wódka tak poniewiera :D
Teraz na to trafiłem - kartacze i kindziuki nie wystarczą żeby ten komputer tak po... :509:
Lepiej powiedz jak daleko od żród... err granicy jesteś ;-)

Dodano po 1 godzinach 35 minutach:
personov pisze:Słuszna uwaga. Pomyśl jak to zrobić.
Wiele osób nie zna Cię z tej strony, bo w dziale programowana nie udzielasz się w ogóle, ale ja Cię znam i wiem, że z kodem EA potrafisz zrobić cuda ;)
Mam jeszcze taką propozycję co do numeracji wersji:

Przykład v 3.2.1

3 - ta główna pozycja przed pierwszą kropką oznacza nową cechę mającą wpływ na zmianę wydajności w stosunku do poprzedniej wersji. Np. zwiększa zysk z 100% do 200% w wyniku dodania nowego warunku. Lub zmniejsza DD z 50% do 5% ;-)

2 - ta pozycja po pierwszej kropce oznacza istotną zmianę która choć nie dodaje nowej funkcjonalności to jednak w znaczny sposób zmienia kod. To może być optymalizacja lub usuwanie istotnych błędów. Szczególnie błędów które miały negatywny wpływ na wydajność EA.

1 - ta pozycja po drugiej kropce jest dla zaznaczenia zmian kosmetycznych: usunięcie mało istotnych błędów lub uporządkowanie kodu bez wpływu na jego wydajność. To może być np. lepsze raportowanie. Np. pokaże się jakieś podsumowanie na ekranie czy jakiś blok kodu stanie się bardziej przejrzysty.

Ale nie zmieniaj teraz zasadniczego numeru wersji - od 3.0 zazwyczaj zaczyna się prawdziwa kariera kodu :-D
Ostatnio zmieniony 27 gru 2011, 09:53 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 ;-)

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

Nieprzeczytany post autor: green7 »

Panowie tak patrzę w ten kod tego EA i nasuwa mi się jedno:
niech ręka boska broni każdego kto chciałby puścić to na realu. Kod nie nadaje się do użycia gdziekolwiek indziej niż w testerze, powinniście to wyraźnie napisać bo ktoś weźmie odpali i zrobi sobie krzywdę.
Green
Obrazek
Obrazek

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

Nieprzeczytany post autor: 259 »

green7 pisze:Panowie tak patrzę w ten kod tego EA i nasuwa mi się jedno:
niech ręka boska broni każdego kto chciałby puścić to na realu. Kod nie nadaje się do użycia gdziekolwiek indziej niż w testerze, powinniście to wyraźnie napisać bo ktoś weźmie odpali i zrobi sobie krzywdę.
Ja widziałem znacznie bardziej kalekie zabawki sprzedawane po $147 ;-)
Ale zgadza się. Choć Personov zaznaczył że jest to raczej szkielet.


A'propos kalekich zabawek - ktoś miał się nam tu pochwalić swoim niesamowitym "polskim" Graalem co mu robił po 300-400 zł dziennie. Obiecał pokazać wyniki po dwóch miesiącach. A mija już trzeci i cisza.

Mam nadzieję, że po prostu przestał go używać. Magiczny jego trigger wygląda tak:

if (Close[2] > Close[1]) Sprzedaj...; else Kup...

I to wszystko. No może nie - martingale połączony z brakiem SL, a właściwe z całkowitym brakiem jakichkolwiek hamulców.
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