Marker zamkniecia zlecenia

O jezykach programowania w platformach i nie tylko.
tj_gumis
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 sty 2013, 16:27

Marker zamkniecia zlecenia

Nieprzeczytany post autor: tj_gumis »

Witam

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 :).

Awatar użytkownika
Mustafa
Pasjonat
Pasjonat
Posty: 777
Rejestracja: 20 lip 2010, 10:54

Re: Marker zamkniecia zlecenia

Nieprzeczytany post autor: Mustafa »

Kod: Zaznacz cały

for(i=0;i<OrdersHistoryTotal();i++) {
     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
        if(OrderSymbol()==Symbol()){
            vTrdeClsePrce = OrderClosePrice();
        }
    }
}
możesz wybrać po dacie cenie itd.

http://docs.mql4.com/trading/OrderClosePrice
http://bossa.pl/index.jsp?layout=2&page ... at_id=1145
Nie chodzi o to czy masz rację czy nie, tylko o to, co robisz kiedy masz rację lub jak się zachowujesz jeżeli racji nie masz.

tj_gumis
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 sty 2013, 16:27

Re: Marker zamkniecia zlecenia

Nieprzeczytany post autor: tj_gumis »

Bardzo Ci dziekuje :).

ODPOWIEDZ