Poniżej publikuję wersję funkcji sprzed kilku dni, tym razem określamy czas zamknięcia ostatniej pozycji (ostatniej chronologicznie). Natomiast w którymś z następnych wpisów pokażę, jak można tę funkcję wykorzystać do odsiewania błędnych sygnałów.
int lastCloseTime(int magic,int type) { int max=0; for(int i=0;i<OrdersHistoryTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderMagicNumber()==magic) { if(OrderType()==type || type<0) { max=MathMax(OrderCloseTime(),max); } } } } return(max); }
Na koniec mała uwaga: w Terminalu na zakładce Histora zleceń radzę ustawić zakres dat tak, aby obejmował czas do teraz, w przeciwnym wypadku mogą wystąpić błędy, ze względu na specyficzny sposób dostępu do historii z poziomu kodu.
Autor: Łukasz Tomaszkiewicz