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);
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);
// 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);
}
// 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.
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.
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!
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:
Lo entiendo, pero cómo utilizarlo después. ¿Tengo que escribir una condición?
Lo entiendo, pero cómo utilizarlo después. ¿Tengo que escribir una condición?
// 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.
¿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
{¿Aquí?