[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 284

 

Бай должен закрываться по Бид.
Сел по Аск

 
sergeev:


Бай должен закрываться по Бид.
Сел по Аск


Ок, исправлено.

Еще, что нибудь бросатся в глаза?

 
BBSL:


Ок, исправлено.

Еще, что нибудь бросатся в глаза?

Черти... :)))))))))))))))))
 
artmedia70:
Черти... :)))))))))))))))))

С косами?))
 
sergeev:


Бай должен закрываться по Бид.
Сел по Аск


Все равно не закрывает...

Хотя сигнал (зписываю все файл) к закрытию...

 
BBSL:


Все равно не закрывает...

Хотя сигнал (зписываю все файл) к закрытию...

ошибка
OrderSelect(order_id, SELECT_BY_POS)==true

или order_id с SELECT_BY_TICKET

или 0 с SELECT_BY_POS

А вообще объясните - зачем вы два раза подряд делаете OrderSelect ?

 
sergeev:
ошибка

или order_id с SELECT_BY_TICKET

или 0 с SELECT_BY_POS

А вообще объясните - зачем вы два раза подряд делаете OrderSelect ?


Спасибо, sergeev!

Второй контрольный))

По не опытности, нужно убрать, наверное...

 
BBSL:


Спасибо, sergeev!

Второй контрольный))

По не опытности, нужно убрать, наверное...


Блин, я извиняюсь, но опять не закрывает...

please assist

 
показывайте
 
sergeev:
показывайте
int send_orders(bool signal, int position_limit, string file_name){

int ticket_count = OrdersTotal();


if (ticket_count < position_limit){

Print("send_orders ticket_count = ", ticket_count);

if (signal == true){

Print("send_orders, signal BUY");

   order_id = OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,Green);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
}if (signal == false){

Print("send_orders, signal SELL");

   order_id = OrderSend(Symbol(),OP_SELL,1.0,Bid,3,0,0,"expert comment",255,0,Red);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
     }

}if (ticket_count == position_limit){

OrderSelect(0,SELECT_BY_TICKET);

order_type = OrderType();

order_id = OrderTicket();

//----

Print("send_orders,  order already open");

if ((signal == false) && order_type == OP_BUY){

Print("send_orders,  is closing position");

if(OrderSelect(0, SELECT_BY_TICKET)==true){

OrderClose(OrderTicket(),1,Bid,3,Red);

}

}if ((signal == true ) && order_type == OP_SELL){

Print("send_orders,  is closing position");

if(OrderSelect(order_id, SELECT_BY_TICKET)==true){

OrderClose(OrderTicket(),1,Ask,3,Red);

}
}
}
}

Первый - OrderSelect(0,SELECT_BY_TICKET); нужен для того чтобы order_type == OP_BUY сработал, но в ляюом случае не работвает

Спасибо за помощь

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