Tytułowe funkcje zarządzania zleceniami są wbudowane w język MQL i pozwalają na lepszą kontrolę oraz modyfikację otwartych pozycji na rynku. Do wyboru mamy wiele funkcji (patrz: http://bossa.pl/index.jsp?layout=2&page=0&news_cat_id=1145), do których użycia wystarczy wywołanie w kodzie. My zajmiemy się tylko wybranymi, które są niezbędne, by tworzony przez nas robot działał prawidłowo.
Przypomnijmy, że w naszej strategii sygnałem kupna jest sekwencja trzech świec wzrostowych, a sygnałem sprzedaży sekwencja trzech świec spadkowych. Zanim dojdzie jednak do otwarcia pozycji, robot powinien sprawdzić, czy przypadkiem nie jesteśmy już na rynku. Nie chcemy bowiem mieć dwóch przeciwstawnych pozycji ani dwóch w tym samym kierunku, a przecież może do tego dojść, jeśli sekwencje świec będą się na przemian powtarzać albo przedłużać.
Aby temu zapobiec, możemy wykorzystać jedną z wbudowanych w język MQL funkcji zarządzania zleceniami, a mianowicie – funkcję „OrdersTotal()". Dzięki jej wywołaniu program zwraca liczbę aktualnie otwartych pozycji wraz ze zleceniami oczekującymi (zwracany typ danych to „int", bo liczba pozycji jest liczbą całkowitą). Jeśli chcemy, by robot otwierał pozycje tylko wtedy, gdy żadne inne pozycje nie są otwarte, wystarczy w naszym kodzie umieścić warunek, by funkcja „OrdersTotal()" przyjmowała wartość zero (stąd operator relacji "=="). Kod...