[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 13

 


int handle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t")。
如果(handle<0)返回(0)。
//将头文件写入文件中
FileWrite(handle, "#", "Opening price", "Opening time", "Symbol", "Lots") 。
int total=OrdersTotal()。
//只将未结订单写进文件
for(int pos=0;pos<total;pos++)
{
如果(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) 继续。
FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(), OrderSymbol(),OrderLots())
}
FileClose(handle)。

请告诉我,如何在我的EA中使用它?

 
Roger:

你已经给出了自己的答案--也许需要在配置或其他方面的某个地方进行修复......?

配置在哪里?请告诉我!
 
sergey_r:


int handle=FileOpen("OrdersReport.csv",FILE_WRITE|FILE_CSV,"\t")。
如果(handle<0)返回(0)。
//将头文件写入文件中
FileWrite(handle, "#", "Opening price", "Opening time", "Symbol", "Lots") 。
int total=OrdersTotal()。
//只将未结订单写进文件
for(int pos=0;pos<total;pos++)
{
如果(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) 继续。
FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(), OrderSymbol(),OrderLots())
}
FileClose(handle)。

你能告诉我如何在我的EA中使用它吗?

复制-粘贴?

你必须以这种方式插入代码。


 
// 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);
}
 

我明白,但之后如何使用它。我必须要写一个条件吗?

 
sergey_r:

我明白,但之后如何使用它。我必须要写一个条件吗?

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

// 这个函数 返回专家顾问所开的订单总数
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);
}

而这个函数应该在你启动程序之前写好。

 
哪个方案?
 
borilunad:

这个配置在哪里?请指教!


阅读文章

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

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

 
int start()
{这里?