[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 284

 

Buy dovrebbe chiudere su Bid.
Seduto su Asc.

 
sergeev:


Buy dovrebbe chiudere su Bid.
Seduto su Asc.


OK, corretto.

C'è qualcos'altro che cattura la tua attenzione?

 
BBSL:


OK, corretto.

C'è qualcos'altro che cattura la tua attenzione?

Dannazione... :)))))))))))))))))
 
artmedia70:
I diavoli... :)))))))))))))))))

Con le falci?))
 
sergeev:


Buy dovrebbe chiudere su Bid.
Seduto su Asc.


Ancora non si chiude...

Anche se il segnale (scrivere tutto il file) per chiudere...

 
BBSL:


Ancora non si chiude...

Anche se il segnale (scrivere tutto il file) per chiudere...

errore
OrderSelect(order_id, SELECT_BY_POS)==true

o order_id con SELECT_BY_TICKET

o 0 con SELECT_BY_POS

In generale, spiegare - perché si fanno due OrderSelect consecutivi?

 
sergeev:
errore

o order_id con SELECT_BY_TICKET

o 0 con SELECT_BY_POS

E in generale, spiegate: perché fate due OrderSelect consecutivi?


Grazie, sergeev!

Secondo controllo))

Inesperienza, probabilmente dovrei rimuoverlo...

 
BBSL:


Grazie, sergeev!

Secondo controllo))

Inesperto, bisogno di rimuovere, credo...


Merda, mi dispiace, ma non si chiude di nuovo...

si prega di assistere

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

}
}
}
}

Il primo è OrderSelect(0,SELECT_BY_TICKET); ha bisogno di order_type == OP_BUY per funzionare, ma in questo caso non funziona.

Grazie per il vostro aiuto.