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 »

Tak jak pisalem - ten kod ma za zadanie znalezienie warunków, które dadzą dobre wyniki. Przedstawienie tego kodu nie było obdarowaniem kogoś prezentem - "macie i zarabiajcie w realu".
Jak będą fajne pomysły to wtedy będzie można zająć się zabezpieczaniem EA przed wpadkami.
Solą życia jest kasa.

Awatar użytkownika
Esco
Przyjaciel Forum
Przyjaciel Forum
Posty: 2603
Rejestracja: 11 kwie 2010, 20:56

Nieprzeczytany post autor: Esco »

Kod:

Kod: Zaznacz cały

  if(AV==0)lot = lot;
  if(AV==1)lot = lot*coma;
  if(AV==2)lot = lot*coma*coma;
  if(AV==3)lot = lot*coma*coma*coma;
  if(AV==4)lot = lot*coma*coma*coma*coma;
  if(AV==5)lot = lot*coma*coma*coma*coma*coma;
  if(AV==6)lot = lot*coma*coma*coma*coma*coma*coma;
  if(AV==7)lot = lot*coma*coma*coma*coma*coma*coma*coma;
  prevComa = coma;
Można zastąpić przez:

Kod: Zaznacz cały

  lot = lot*MathPow(coma,AV);
  prevComa=coma;


Kaskodowe if można zastąpić przez &&.

Kod: Zaznacz cały

  if(statusB==4) if (total(OP_BUY)==0) if (Bid<cenaB&&(16*lot)<maxlots&&Fa>4)

Kod: Zaznacz cały

  if(statusB==4 && total(OP_BUY)==0 && Bid<cenaB&&(16*lot)<maxlots&&Fa>4)
Wogóle to z tego:

Kod: Zaznacz cały

  if(statusS==2) if (total(OP_SELL)==0) if (Bid<cenaS)statusS=0;
  if(statusS==2) if (total(OP_SELL)==0) if (Bid>cenaS&&(4*lot)<maxlots&&Fa>2)
  {OrderSend(symbol,OP_SELL,(4*lotS),Bid,1,Bid+(DSmyPoint)+(AStab[2]),Bid-(DSmyPoint)-(AStab[2]),"",MagicNumber,0,Red);statusS=3;cenaS=Bid;}
  if(statusS==2) if (total(OP_SELL)==0) if (Bid>cenaS&&((4*lot)>=maxlots||Fa==2))statusS=0;
bym procedurę zrobił.
Ostatnio zmieniony 27 gru 2011, 10:49 przez Esco, łącznie zmieniany 3 razy.

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

Nieprzeczytany post autor: 259 »

Tak. Ale to się dłużej 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 ;-)

Awatar użytkownika
nubi1980
Gaduła
Gaduła
Posty: 91
Rejestracja: 09 cze 2009, 09:35

Nieprzeczytany post autor: nubi1980 »

Podeśle mi ktoś jakiś EA do przetestowania? Jestem w tym "nowy" i chciał bym zobaczyć jak to działa.

Pozdrawiam
"Zawsze rób tak, by było dobrze- bo jak sobie pościelesz, tak się wyśpisz" H. P.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

W każdym MT4 masz przynajmniej 2 wbudowane. Zakładka strategie.
Jeśli jednak nie wiesz jak to załączyć i używać to pisz w dziale dla początkujących, żeby nie robić tu śmietnika.
Solą życia jest kasa.

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

Nieprzeczytany post autor: mike_05 »

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.
jest tam jeszcze taki sierściuch SIARA, choinkowy,
sorry za wczorajszy spam, nalewka z aronii ~60% plus lasy Niewodnicy dają niesamowite efekty
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

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

Nieprzeczytany post autor: 259 »

skco pisze: Kaskodowe if można zastąpić przez &&.

Kod: Zaznacz cały

  if(statusB==4) if (total(OP_BUY)==0) if (Bid<cenaB&&(16*lot)<maxlots&&Fa>4)
Ta kaskada to jest właśnie to co spowodowało przyspieszenie z ponad dwóch minut do 15 sekund :-D
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 ;-)

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

259 pisze:Tak. Ale to się dłużej liczy Smile
Nie chciał bym się zbytnio wtrącać, ale Skco ma rację, wydajność wydajnośćia pielegnacja kodu i późniejsze ogranięcie jest wążniejsze.

Co do wydajności, robisz takie "myki" a
z

Kod: Zaznacz cały

(total(OP_SELL)==0)
jedziesz jak najęty :P , daleko do optymalności

To co napisał Scko, czyli to z potęga, nie sądze aby to było wolniejsze niż 8 ifów...(chociaz to akurat trzeba by było sprawdzić)


Następnie
warunek typu

Kod: Zaznacz cały

if(statusB==1)
też po 4 razy powtórzony..

kod:

Kod: Zaznacz cały

  AStab[8] = AStab[7]+AStab[1];
też bym w pętli dał w celu elegancji i nie trzeba będzie w przyszłości doklejać kodu, na wydajności nie stracisz.

Kod: Zaznacz cały

  if(coma<1)coma=1;
  if(coma>MComa)coma=MComa;
też nie optymalnie(jesli dobrze zrozumiałem) , przecież jeżeli jest mniejszy to nie bedzie wiekszy czyli else if


&& andy nie będą wolniejsze, tylko trzeba dobrze kolejność zrobić

Ponadto jeżeli total() zawsze pryrównujesz do zera to na ch... petlisz się po wszystkich ordersach ;)

Nie bierz tego do siebie to rady no i zobaczyłem zaakcentowanie odnosnie optymalności i myślę sobie co tam będzie. I niestety jest dokładnie odwrotnie, zero optymalizacji...

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Tak, czy inaczej kod działa błyskawicznie i nie ma sie tu co kłucić o dodatkowe sekundy.
Proponuję zająć się dobraniem sygnałów wejścia.
Solą życia jest kasa.

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

personov pisze:Tak, czy inaczej kod działa błyskawicznie i nie ma sie tu co kłucić o dodatkowe sekundy.
Proponuję zająć się dobraniem sygnałów wejścia.
ee tam, nikt sie nie kłóci(ostatnio mam jakiś taki napastliwy ton :P, za co z góry przepraszam ), to raczej wskazówki które pomogą. (chociaz kładłbym nacisk na porządek w kodzie bardziej niż na optymalizację)

ODPOWIEDZ