Funkcja informujaca o zmianie zlecenia z oczekujacego na wyk

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
enjoy_xx
Stały bywalec
Stały bywalec
Posty: 37
Rejestracja: 23 maja 2010, 21:31

Funkcja informujaca o zmianie zlecenia z oczekujacego na wyk

Nieprzeczytany post autor: enjoy_xx »

Witam, czy jest możliwe w MT4 aby w w strategii informował mnie ze moje zlecenie oczekujące osiągnęło poziom otwarcia pozycji i przekształciło w zlecenie wykonane? Ordertotal nie odróżnia oczekujących od otwartych.
Obrazek

quad-core
Stały bywalec
Stały bywalec
Posty: 71
Rejestracja: 13 kwie 2013, 14:38

Re: Funkcja informujaca o zmianie zlecenia z oczekujacego na

Nieprzeczytany post autor: quad-core »

ale OrderType() już odróżnia pozdr :D
mowa jest milczeniem a srebro złotem :)

Awatar użytkownika
enjoy_xx
Stały bywalec
Stały bywalec
Posty: 37
Rejestracja: 23 maja 2010, 21:31

Re: Funkcja informujaca o zmianie zlecenia z oczekujacego na

Nieprzeczytany post autor: enjoy_xx »

Ok, poczytałem i fakt OrderType() i OrderSelect() załatwia mi temat. Niestety nie potrafię odnosić się wprost do konkretnej pozycji.

Jeżeli miałem w danej chwili 2 zlecenia oczekujące to w jaki sposób sprawdzić, które akurat się zmieniło na wykonane?
Mam 2 zlecenia OP_BUYLIMIT i rozumiem że muszę sprawdzić kiedy zamienią się na OP_BUY. Tylko jeżeli chcę to sprawdzić do jakiegoś konkretnego zlecenia to muszę się odnieść wprost do niego. I właśnie z tym mam problem. W jaki sposób to zrobić? Myślałem o nr zlecenia ale one przecież są nie do przewidzenia bo są przypisywane globalnie dla wszystkich użytkowników i ich wartość nie zmienia się o i++.

Jest to ważne dla mnie dlatego bo jeżeli najpierw zmieniła typ pierwsza pozycja to jest do wykonania inna instrukcja niż jakby najpierw zmieniła się druga pozycja.
Obrazek

quad-core
Stały bywalec
Stały bywalec
Posty: 71
Rejestracja: 13 kwie 2013, 14:38

Re: Funkcja informujaca o zmianie zlecenia z oczekujacego na

Nieprzeczytany post autor: quad-core »

Jeżeli miałeś więcej niż jedno zlecenie i chcesz na bieżąco monitorować je wszystkie to myślę, że sprawę rozwiązać powinna pętla, np. for (i=OrdersTotal()-1; i>=0; i--). W pętli umieszczasz warunek, który sprawdza typ poszczególnych zleceń i jeżeli któreś zmieni typ na OP_BUY lub OP_SELL, za pomocą OrderTicket() możesz sprawdzić jego ticket (pozycja będzie miała ten sam numer co pending order).
mowa jest milczeniem a srebro złotem :)

ODPOWIEDZ