Pozdrawiam
OrderSend() - minimalny sl. Problem
OrderSend() - minimalny sl. Problem
Witam. Mam pewien problem z funkcją "OrderSend()". Byłbym wdzięczny jakby ktoś poświęcił pewnie około minuty
na to żeby mi pomóc. Wyjaśnię o co chodzi. Mój broker (XM) umożliwia ustawienie sl oraz tp w minimalnej odległości 4 pipsów od ceny rynkowej. Jak składam zlecenie ręcznie a następnie ustawiam mu sl oddalony o 4 pipsy to wszystko jest ok. Ten sl uwzględnia spread co dla mnie w miarę ważne bo wtedy mogę sobie łatwo wyliczyć tp który ma być 4 razy większy czyli w moim przypadku 16 pipsów. No i wszystko śmiga. Chciałem sobie zrobić EA który mi to będzie robił automatycznie ale za nic w świecie nie mogę poprzez "OrderSend()" ustawić minimalnego sl. Czy ktoś mógłby napisać poprawne wywołanie "OrderSend()" tak aby ustawiała minimalnego sl (uwzględniającego spread) oraz 4 razy większego tp. Byłbym naprawdę wdzięczny.
Pozdrawiam
Pozdrawiam
Re: OrderSend() - minimalny sl. Problem
Tak w skrócie, najprościej :
Kod: Zaznacz cały
double TP=16;
double SL=4;
OrderSend(Symbol(),OP_BUY,lot,Ask,2,Ask-SL*Point,Ask+TP*Point,"",MagicNumber,0,Green);
OrderSend(Symbol(),OP_SELL,lot,Bid,2,Bid+SL*Point,Bid-TP*Point,"",MagicNumber,0,Red);Solą życia jest kasa.
Re: OrderSend() - minimalny sl. Problem
Powinno być:
Kod: Zaznacz cały
double TP=160;
double SL = 40;
Re: OrderSend() - minimalny sl. Problem
Dzięki za odpowiedzi. Faktycznie powinno być 40 i 160 bo notowania mają pięć cyfr. Nie zmienia to faktu, że dalej i tak nie wiem dlaczego jak wysyłam zlecenie to muszę zawsze doliczyć spread. Czyli w moim wypadku SL = 40 + spread i to może być minimalny SL. I jeszcze miałbym jedno pytanie. Jak sprawdzić czy ostatnia zamknięta pozycja była zyskowna czy stratna? Próbowałem w sposób znaleziony gdzieś w necie ale jest chyba błędny:
bo za każdym razem zwraca mi to samo. To nie jest tak samo jak z tickami, że 0 to ostatni?
Pozdrawiam
Kod: Zaznacz cały
OrderSelect(0, SELECT_BY_POS, MODE_HISTORY);
Pozdrawiam

