TrailingStop работает только на Buy а на Sell нет

 

Прошу помощи у спецов написал код трейлинга для своего робота но не пойму почему ордера на Buy модифицируются а на Sell нет

 

 if (OrdersTotal ()==2&&TrailingStop==1)//определение количества открытых ордеров и разрешения на трейлинг

{Orders=OrderSelect(ordertreiling,SELECT_BY_POS,MODE_TRADES)==true;//выбор ордера 

Ticket_ordera_TRSTOP=OrderTicket();

if ((OrderType()==OP_SELL)&&(Ask<(OrderOpenPrice()-NormalizeDouble(TR_otstup*Point,5))&&((TrallStopLoss_Ask>(Ask+NormalizeDouble(Point*TR_otstup,5)))||(TrallStopLoss_Ask==0))))

{

TrallStopLoss_Ask=Ask+Point*TR_otstup;

Orders=OrderModify(Ticket_ordera_TRSTOP,OrderOpenPrice(),(Ask+NormalizeDouble(Point*TR_otstup,5)),OrderTakeProfit(),0,clrDarkViolet);

Print ("ошибка трейлинга- "+GetLastError());

}

if ((OrderType()==OP_BUY)&&(Bid>(OrderOpenPrice()+NormalizeDouble(TR_otstup*Point,5)))&&(TrallStopLoss_Bid<(Bid-NormalizeDouble(Point*TR_otstup,5))))

{

TrallStopLoss_Bid=Bid-Point*TR_otstup;

Orders=OrderModify(Ticket_ordera_TRSTOP,OrderOpenPrice(),(Bid-NormalizeDouble(Point*TR_otstup,5)),OrderTakeProfit(),0,clrDarkViolet);

Print ("ошибка трейлинга- "+GetLastError());

}

}

 

Зачем велосипед изобретать? Да ещё и не ездящий. Да ещё и отдельную тему создавать ради этого...

Orders=OrderSelect(ordertreiling,SELECT_BY_POS,MODE_TRADES)==true;

 Забавно ))) И как, компилятор не ругался?

 
evillive:

Зачем велосипед изобретать? Да ещё и не ездящий. Да ещё и отдельную тему создавать ради этого...

 Забавно ))) И как, компилятор не ругался?

А за что ему ругаться? В mql4 да ещё и без #property strict пофигу какому типу переменной присвоить bool false, выбрать ордер пофигу с каким индексом... ну тет такого и не надо...
 
AlexeyVik:
А за что ему ругаться? В mql4 да ещё и без #property strict пофигу какому типу переменной присвоить bool false, выбрать ордер пофигу с каким индексом... ну тет такого и не надо...
разве == присваивает что-то? это же сравнение (операции отношения )...
 
evillive:
разве == присваивает что-то? это же сравнение (операции отношения )...

Я говорил об этом присваивании

Orders=OrderSelect

А переменной Orders присваивается результат логической операции глупости. Получается в зависимости от результата выбора ордера, если OrderSelect то true == true и Orders = true  или  !OrderSelect  то false == true и Orders = false

Причина обращения: