[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 13

 


int handle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t");
if(handle<0) return(0);
//escribir la cabecera en el archivo
FileWrite(handle, "#", "Opening price", "Opening time", "Symbol", "Lots");
int total=Total de pedidos();
// escribir sólo las órdenes abiertas en el archivo
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots())
}
FileClose(handle);

Por favor, dígame cómo usarlo en mi EA.

 
Roger:

Tú mismo has dado la respuesta - ¿Tal vez haya que arreglar algo en alguna parte de la configuración o lo que sea...?

¿Dónde está la configuración? ¡Por favor, dígame!
 
sergey_r:


int handle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t");
if(handle<0) return(0);
//escribir la cabecera en el archivo
FileWrite(handle, "#", "Opening price", "Opening time", "Symbol", "Lots");
int total=Total de pedidos();
// escribir sólo las órdenes abiertas en el archivo
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots())
}
FileClose(handle);

¿Puedes decirme cómo utilizarlo en mi EA?

¡¿Copiar y pegar?!

Debe insertar el código de esta manera:


 
// This function returns the total amount of orders the expert advisor has open  
int TotalOpenOrders()
{
  Cnt=OrdersTotal();
  int TotalOpenOrders = 0;
  if(Cnt==0)
  {
    return(0);
  }
    else
    {
    for(;Cnt>=0;Cnt--)
    {
      RefreshRates();
      OrderSelect(Cnt,SELECT_BY_POS);
      if(OrderMagicNumber()==Magic)
      {
      TotalOpenOrders++;
      }
    }
  }
  return(TotalOpenOrders);
}
 

Lo entiendo, pero cómo utilizarlo después. ¿Tengo que escribir una condición?

 
sergey_r:

Lo entiendo, pero cómo utilizarlo después. ¿Tengo que escribir una condición?

//-------------------------------------------------------------------+
extern int    TotalOrders    = 1;
//-------------------------------------------------------------------+
    // only perform analysis and open new order if we have not reached our TotalOpenOrders max
    if(TotalOpenOrders() < TotalOrders)
    {
 

// Esta función devuelve la cantidad total de órdenes que el asesor experto ha abierto
int TotalOpenOrders()
{
Cnt=OrdersTotal();
int TotalOpenOrders = 0;
if(Cnt==0)
{
return(0);
}
else
{
for(;Cnt>=0;Cnt--)
{
RefreshRates();
OrderSelect(Cnt,SELECT_BY_POS);
if(OrderMagicNumber()==Magic)
{
TotalOpenOrders++;
}
}
}
return(TotalOpenOrders);
}

Y esta función debe escribirse antes de iniciar el programa.

 
¿Qué programa?
 
borilunad:

¿Dónde está esta configuración? Por favor, aconséjeme.


Leer los artículos

https://www.mql5.com/ru/articles/1490

https://www.mql5.com/ru/articles/1417

 
int inicio()
{¿Aquí?