Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

O jezykach programowania w platformach i nie tylko.
marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: marcin76 » 19 sty 2019, 16:14

Witam wszystkich , mam mały problem bo buduję EA do Hedgu na podstawie tego co załączyłem na zdjęciu i w pliku mql4 ,ale z nim jest mały problem bo otwiera pozycję tylko na jednej parze na innej już nie .Jest MagicNumber ale on nie reaguje tak jakby nie działał . Z tego co zauważyłem po otwarciu pozycji na 1 parze walutowej działa bez problemu , jeżeli uruchomię go na 2 parze walutowej już nie otwiera dopóki nie zamknę pozycji z 1 pary . Wychodzi na to , że zlicza otwarte już pozycje i nie pozwala otworzyć na innej parze chociaż jest inny MagicNumber dla 2 pary .

Może ktoś by mi pomógł rozwiązać ten mały problem by działał dla każdej pary z osobna.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1496
Rejestracja: 09 sie 2009, 21:27
Lokalizacja: Głogów

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: personov » 20 sty 2019, 01:15

Myślę, że problem tkwi w zapisie :

Kod: Zaznacz cały

int total = OrdersTotal();
Ten zapis mówi o wszystkich otwartych pozycjach na MT4,, a nie tylko tych o odpowiednim numerze magic.
Ja zawsze używam licznika do pozycji :

Kod: Zaznacz cały

int total(int cmd){
 int sum=0;int y;
 for(int i=0;i<=OrdersTotal();i++){
  y=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()==Symbol()&&cmd==OrderType()&&magic==OrderMagicNumber())sum++;}
 return(sum);}
A tą funkcję wywołuję np. :

Kod: Zaznacz cały

total(OP_BUY)
I wtedy wykazuje mi ilość BUYów o takim numerze magiic.
Solą życia jest kasa.

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: marcin76 » 20 sty 2019, 18:57

OK dzięki wielkie personov za pomoc zobaczę czy uda mi się to zmodyfikować tak by działało prawidłowo

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1496
Rejestracja: 09 sie 2009, 21:27
Lokalizacja: Głogów

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: personov » 20 sty 2019, 19:29

Pamiętaj, że ta funkcja jest funkcją zewnętrzną poza blokiem wykonawczym.
W bloku wykonawczym wywołujesz ją w taki sposób jak pokazałem.
Solą życia jest kasa.

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: marcin76 » 21 sty 2019, 13:58

personov pisze:Pamiętaj, że ta funkcja jest funkcją zewnętrzną poza blokiem wykonawczym.
W bloku wykonawczym wywołujesz ją w taki sposób jak pokazałem.

Dzięki Personov za pomoc , ale nie wiem czy dobrze to zrobiłem bo wywala mi błąd , kombinuje na różne sposoby i ciągle wywala mi błąd . Mam prośbę czy poprawił byś mi to w tym pliku mql4 , albo pokaż mi co mam zmienić na tym sreenie dzięki pozdrawiam .
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1496
Rejestracja: 09 sie 2009, 21:27
Lokalizacja: Głogów

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: personov » 21 sty 2019, 14:13

Całą funkcję total() umieść na końcu kodu, a nie w bloki OnTick().
To jest zewnętrzna funkcja.
Solą życia jest kasa.

marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Re: Proszę o pomoc EA otwiera tylko na 1 parze na 2 już nie

Nieprzeczytany post autor: marcin76 » 21 sty 2019, 15:52

personov pisze:Całą funkcję total() umieść na końcu kodu, a nie w bloki OnTick().
To jest zewnętrzna funkcja.

OK wielkie dzięki dałem na koniec , i jeszcze pokombinowałem i zadziałało tak jak powinno więc jest teraz ok :D :D :D jeszcze raz wielkie dzięki Personov za pomoc .

ODPOWIEDZ