Ошибка 130 в OrderSend - страница 3

 
А как называется функция которая устанавливает стопы
 
Alp:
А как называется функция которая устанавливает стопы

bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
См. в справке
 

Я делаю так

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,slippage,0,0,"My order #1",1,0,Green);

if(ticket<0)

{

Print("OrderSend 1 failed with error #",GetLastError());

return(0);

}

else

{

// задаем стопы

OrderSelect(1,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-100*Point,Digits),NormalizeDouble(Bid+500*Point,Digits),0,Blue);

Print("OrderModify 1 failed with error #",GetLastError());

return(0);

}

Пишет 4051я ошибка не допустимое значение параметра функции

 
Alp:

Я делаю так

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,slippage,0,0,"My order #1",1,0,Green);

if(ticket<0)

{

Print("OrderSend 1 failed with error #",GetLastError());

return(0);

}

else

{

// задаем стопы

OrderSelect(1,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-100*Point,Digits),NormalizeDouble(Bid+500*Point,Digits),0,Blue);

Print("OrderModify 1 failed with error #",GetLastError());

return(0);

}

Пишет 4051я ошибка не допустимое значение параметра функции

а с чего вы решили, что он имеет номер 1?
 

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,slippage,0,0,"My order #1",1,0,Green);

А разве эта 1 не для этого?

 
Alp:

Я делаю так



OrderSelect(1,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-100*Point,Digits),NormalizeDouble(Bid+500*Point,Digits),0,Blue);

Print("OrderModify 1 failed with error #",GetLastError());

return(0);

}

Пишет 4051я ошибка не допустимое значение параметра функции

OrderSelect(ticket,SELECT_BY_TICKET);
 
Alp:

Я делаю так

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,slippage,0,0,"My order #1",1,0,Green);

if(ticket<0)

{

Print("OrderSend 1 failed with error #",GetLastError());

return(0);

}

else

{

// задаем стопы

OrderSelect(1,SELECT_BY_TICKET);

OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-100*Point,Digits),NormalizeDouble(Bid+500*Point,Digits),0,Blue);

Print("OrderModify 1 failed with error #",GetLastError());

return(0);

}

Пишет 4051я ошибка не допустимое значение параметра функции


Вы выбираете, скорее всего, несуществующий ордер. Поэтому и ошибка. Правильно будет:

OrderSelect( ticket, SELECT_BY_TICKET);
 
О спасибо за работало )))). только вот почему-то в первом ордере он не выставляет пределы, а в последующих выставляет. )))