[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 284

 

A compra deve fechar no Bid.
Sentou-se em Asc.

 
sergeev:


A compra deve fechar no Bid.
Sentou-se em Asc.


OK, corrigido.

Há mais alguma coisa que chame sua atenção?

 
BBSL:


OK, fixo.

Há mais alguma coisa que chame sua atenção?

Maldição... :)))))))))))))))))
 
artmedia70:
Os demônios... :)))))))))))))))))

Com foices?))
 
sergeev:


A compra deve fechar no Bid.
Sentou-se em Asc.


Ainda não fecha...

Embora o sinal (escrever todo o arquivo) para fechar.

 
BBSL:


Ainda não fecha...

Embora o sinal (escrever todo o arquivo) para fechar...

erro
OrderSelect(order_id, SELECT_BY_POS)==true

ou peça_id com SELECT_BY_TICKET

ou 0 com SELECT_BY_POS

Em geral, explique - por que você faz duas OrderSelect consecutivas ?

 
sergeev:
erro

ou peça_id com SELECT_BY_TICKET

ou 0 com SELECT_BY_POS

E em geral, explique - por que você faz duas OrderSelect consecutivas ?


Obrigado, Sergeev!

Segunda verificação))

Inexperiência, eu provavelmente deveria removê-la...

 
BBSL:


Obrigado, Sergeev!

Segunda verificação))

Inexperiente, precisa remover, acho eu...


Merda, sinto muito, mas não está fechando de novo...

por favor, ajude

 
show
 
sergeev:
show
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);

}
}
}
}

A primeira é OrderSelect(0,SELECT_BY_TICKET); precisa de Order_type == OP_BUY para funcionar, mas neste caso não funciona.

Obrigado por sua ajuda.