График М1 пропажа баров - страница 4

 
DanLett:
а как тогда повторить запрос на открытие ордера, ну к примеру если нет бара 8 34 а что бы открыл в 8 35....?!
Ставьте диапазон, например - открыть ордер не в 34 минуты, а с 33-й по 35-ю, например.

((Minute()>=33) && (Minute()<=35))
 
DanLett:
Открывает или нет?
 
DmitriyN:

Упростил до предела. Поставьте своё время на минуту большее, чем на сервере. И запустите:

У вас ордера этот код открывает вообще?

У меня открывает.

весь код


int start()

{

//----

if ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13))

OrderSend(Symbol(),OP_SELL,0.01,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0);

Print(GetLastError());

//----

return(0);

}



Он у меня выдает постоянно

2012.06.27 22:17:00 wesfsdf EURUSD,M1: 0

PS wesfsdf-название советника)


 
DanLett:

весь код


int start()

{

//----

if ((OrdersTotal()==0 && Hour()==21) && (Minute()>=13))

OrderSend(Symbol(),OP_SELL,0.1,Bid,0,Ask+100*Point,Ask-100*Point,"DLSexp",123,0);

Print(GetLastError());

//----

return(0);

}



Он у меня выдает постоянно

2012.06.27 22:17:00 wesfsdf EURUSD,M1: 0

PS wesfsdf-название советника)


В тестере-то ошибок нет, эт понятно, нужно смотреть журнал реала (лучше сначала демо, а то робот сливает круто, с реалом не торопись).
 
кажись действительно в лотах с плечами проблема, надо как то узнать какое плечо на тестере...как это сделать...?!
 
DanLett:
кажись действительно в лотах с плечами проблема, надо как то узнать какое плечо на тестере...как это сделать...?!


Попробуйте вот это запустить. Может у вас стопы потом нужно устанавливать.

int start()
{
if (OrdersTotal()==0)

OrderSend(Symbol(),OP_SELL,0.01,Bid,0,0,0,"DLSexp",123,0);
Print(GetLastError());

return(0);

}
 
Ёшкин кот...
А где в строчке с OrderSend
получение кода возврата и анализ ошибки???
 
jartmailru:
Что там анализировать, там ошибка 130 - ясен пень.
 

Все понял я свою ошибку,

if (OrdersTotal()==0) у меня было открыто 4 сделки, вот он и не открывал:) огромное спасибо за помощь!

еще последний вопрос остался

Как можно открыть только одну сделку этим советником?!

Пример: открываем 1 сделку или Buy или Sell после закрытия по TP или Sl потом открыть еще одну сделку по условию,

ну т.е. если условие 1: то Buy

если условие 2: то Sell и именно их закрыть...

Но что бы мои сделки открытые ранее не закрывал?!

 
DanLett:

Но что бы мои сделки открытые ранее не закрывал?!

А у вас советник и не закрывает ордера - закрывашки в нём нет. У вас ордера закрываются по ТР или SL.
Если условие OrdersTotal()==0 открытие будет, если ордеров нет, т.е. их кол-во равно 0.
Если условие OrdersTotal()<2 открытие будет, если ордеров меньше 2.

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