почему эксперт выполняет не все действия в блоке "if", хотя условия для действий соблюдаются и ошибок в эксперте нет - страница 2

 
Nika писал (а) >>

ОК, исправляюсь.

Я пыталась сделать, чтобы поэтапно снималась прибыль при достижении определенных ценовых шагов. Эксперт делает максимум дейстий 6, а все остальные "этапы" посылает лесом, при этом не пишет никакой ошибки 8(

...

if(total==1)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY)
{

if(Shag==1&&(Bid-OrderOpenPrice())>=30*Point&&(Bid-OrderOpenPrice())<50*Point)

OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==2&&(Bid-OrderOpenPrice())>=50*Point&&(Bid-OrderOpenPrice())<70*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==3&&(Bid-OrderOpenPrice())>=70*Point&&(Bid-OrderOpenPrice())<90*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==4&&(Bid-OrderOpenPrice())>=90*Point&&(Bid-OrderOpenPrice())<110*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==5&&(Bid-OrderOpenPrice())>=110*Point&&(Bid-OrderOpenPrice())<130*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==6&&(Bid-OrderOpenPrice())>=130*Point&&(Bid-OrderOpenPrice())<150*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==7&&(Bid-OrderOpenPrice())>=150*Point&&(Bid-OrderOpenPrice())<170*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

if(Shag==8&&(Bid-OrderOpenPrice())>=170*Point&&(Bid-OrderOpenPrice())<190*Point)
OrderClose(OrderTicket(),Lot,Bid,0,Aqua);

и еще несколько других if в этом же блоке...

попробуйте вставлять исходник через SRC кнопку


- тут что бы что то сазать информации все равно мало

1 а он эти 6 действий на одном тике делает ?

2 вы уверенны что Shag у вас меняется ? после 6 шага

что бы понять какую ошибку возвращают операции работы с ордерами - если она возникает - поставьте анализ ошибки

GetLastError()