Pisze sobie prosciutenki EA, a poniewaz dopiero sie wdrazam w MQL4 chcialbym prosic o mala porade natury praktycznej.
Otoz moj EA ma za zadanie wykonac pewna sekwencje zlecen nastepujacych po sobie i potrzebuje ustalic sobie jakis marker dla zakonczenia zlecenia biezacego tak by EA moglo "odpalic" zlecenie nastepne. Probowalem w tym celu wykorzystac funkcje OrderClosePrice() w nastepujacy sposob :
// Inicjalizacja transakcji : -------------------------------------
//-----------------------------------------------------------------
if (vTakePrft == vStopLoss) {
...
vTrdeTckt=OrderSend(...);
...
if(OrderSelect(vTrdeTckt, SELECT_BY_TICKET) != true) {
Print("OrderSelect failed error code is",GetLastError());
} else {
Print("Order Select succeded !!!");
}
}
Tak zeby nastepnie sledzic wartosc zmiennej "vTrdeClsePrce" i w zaleznosci od jej wartosc odpalac ponownie zlecenie :
vTrdeClsePrce = OrderClosePrice();
if (vTrdeClsePrce != 0) vTakePrft = vStopLoss;
Niestety schody dotycza funkcji OrderSelect(...) - z tego co wiem niezbednej do poprawnego odpalenia OrderClosePrice().
Dziennki nie generuje zadnej informacji na temat jej wykonania, a OrderClosePrice() od poczatku do konca zlecenia generuje wartosc "0".
Moje pytanie brzmi nastepujaco :
Czy ktos moze mi wyjasnic dlaczego tak sie dzieje lub doradzic w jaki inny sposob okreslic sobie marker zakonczenia zlecenia ?
Z gory dziekuje i pozdrawiam.
-- Dodano: 24 sty 2013, 10:47 --
Ok, poradzilem sobie z OrderSelect(...) ale problem pozostal bowiem wartosc OrderClosePrice() zmienia sie dynamicznie wg aktualnego stanu na rynku, a ja nadal potrzebuje pomyslu na ustalenie jednoznacznego markera sygnalizujacego koniec zlecenia.
Czy ma ktos jakis pomysl na to ?
-- Dodano: 24 sty 2013, 11:18 --
Ok poradzilem sobie z tym przy uzyciu zmiennej
int HistoryTotal().
Jej zmiana bedzie sygnalem do odpalenia nastepnej transakcji, moze kiedys sie to komus przyda
