не могу открыть ордер

 

то ли дурак, то ли лыжи не едут. простите за тупой вопрос, но уже третий день бьюсь над вопросом: как ПРОСТО открыть и затем ПРОСТО закрыть ордер. обнакновенный рыночный ордер. пожалуйста, напишите код не с переменными, а с цифрами

 
int ticket=OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0);

OrderClose(ticket, 1, Bid, 0);

 

все равно не работает.. может, прога покалеченная. не посоветуете?

 

ошибка 4051

 
stasikan:

все равно не работает.. может, прога покалеченная. не посоветуете?


сменить вид деятельности
 

А так:

  if(OrdersTotal()==0)
{
OrderSend(NULL,OP_BUY,0.1,Ask,3,0,0,"",0,0,Green);
Sleep(30000);
OrderSelect(1, SELECT_BY_POS);
OrderClose(OrderTicket(), OrderLots(), Bid, 0,Red);
}
 
выдал ошибку синтаксиса, поставил закрывающую скобку после POS, после запуска программы ордер открылся, но не закрылся
 
stasikan:
выдал ошибку синтаксиса, поставил закрывающую скобку после POS, после запуска программы ордер открылся, но не закрылся

Ну хошь не хошь а усложнить придётся, не ведётся, зараза, на условие if(OrdersTotal()==0), всё равно открывает и дальше позиции )))

void start()
{
  if(OrdersTotal()==0)
{
  OrderSend(NULL,OP_BUY,0.1,Ask,3,0,0,"",0,0,Green);
Sleep(30000);
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(), 3,Red);
}
}
}
 

Хотя нет, всё работат и так, если только тупо открывать и сразу закрывать:

void start()
{
  int ticket=OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0);
 OrderClose(ticket, 1, Bid, 0);
}
 
Идеальный слив по спреду )))
 
все было бы замечательно, но GetLastError выдает 4051
Причина обращения: