zgadza się, powinno być w nawiasie, jednak jeśli przeczytałeś do końca, to widzisz że użycie w o1 ceny Bid rozwiązuje sprawę.To masz błąd:
o1 = OrderSend(Symbol(), OP_BUYSTOP, lots, Ask-spread+dystans*Point, 0, 0, 0);
Powinno być:
o1 = OrderSend(Symbol(), OP_BUYSTOP, lots, Ask-(spread+dystans)*Point, 0, 0, 0);
Tylko czy jest sens to robić, skoro zlecenie oczekujące zrealizuje się tak na prawdę poniżej ustalonego poziomu? Bo zrealizuje się po cenie Ask. Zatem nasz ustalony dystans zostanie pomniejszony o wartość spreadu.