Помогите исправить ошибку в процедуре. Процедура перебирает открытые ордера и если у них установлен стоп или профит, то смотрит, не пора ли их закрыть. Иногда стопы, или профиты не срабатывают сами, при чем стопы срабатывают, а вот профиты нет. Такое бывает редко, но все равно пару раз сталкивался с этой проблеммой.
Ошибка, по какой то, загадочной причине, процедура пытается закрыть ордер в любой момент, если у него есть стоп, или профит. Странность в том, что Bid, или CLose[0], показывают какую то чушь, не те цены, что должны показывать. Может кто сталкивался и сможет помочь, я сам уже мозг сломал.
MQL код:
void SLorTPControlOrders(){
int OrdersNum = OrdersTotal();
if (OrdersNum<=0){return ;}
for (int i=0;i<=OrdersNum;i++){
RefreshRates();
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
if (OrderStopLoss()>0){
if (OrderType()==OP_BUY){
Прокомментировать: