MetaEditor build 1490 - 页 4

 
Andrey Dik:

不,这不正常。

有一个位置。我们将把专家顾问扔到图表上。所选职位没有交易历史。在这里什么是正常的?))

仓位已经开了好几秒了,交易数量还是零?
 
fxsaber:
一个仓位已经开了几秒钟,交易数量还是零?
正是如此。
 
Andrey Dik:
正是如此。
那么这对任何在MT5交易的人来说都是非常糟糕的。你如何复制它?
 
fxsaber:
那么这对任何在MT5交易的人来说都是非常糟糕的。如何繁殖?
在没有EA的情况下和有EA的情况下,在图表上开仓,加仓,减仓,翻仓。
 
Andrey Dik:
这个错误并不总是,也不是马上就能看出来的。 我在fibo模拟账户上试了一下,build 1490
请勿复制
void OnTick ()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
  {
    const ulong Ticket = PositionGetTicket(i);
    
    if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(Ticket);
  }
}
 
fxsaber:
不能重现。
void OnTick ()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
  {
    const ulong Ticket = PositionGetTicket(i);
    
    if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(Ticket);
  }
}
你的位置是 以不同方式选择 的。试试我的代码。
 
Andrey Dik:
你的位置是 以不同方式选择 的。试试我的代码。
而且,它并不以这种方式播放。
void OnInit()
{
  EventSetMillisecondTimer(1);
}

void OnTimer()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
    if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(PositionGetInteger(POSITION_TICKET));
}
 
fxsaber:
而且不玩了。
void OnInit()
{
  EventSetMillisecondTimer(1);
}

void OnTimer()
{
  const int Total = PositionsTotal();
  
  for (int i = 0; i < Total; i++)
    if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
      Alert(PositionGetInteger(POSITION_TICKET));
}

你试过我的代码吗?

以同样的方式重现,得到同样的日志。

 
Andrey Dik:

你试过我的代码吗?

以同样的方式重现,得到同样的日志。

试了一下--问题没有重现。
 
fxsaber:
我试过了--问题没有重现。

Strange....那么问题可能出在哪里呢?

在这里。做到这一点。在一个图表上开始了专家顾问。我手动开了一个头寸。我在一个位置上加了两次,减了一次。它在滞后期正确显示了4个交易。在那之后,我调转了位置,得到了一个问题:我有一个位置,但没有交易。

下面是最后两次操作后的日志。

2016.12.05 14:25:44.157 获取当前位置(GBPUSD,M5)的佣金 1

2016.12.05 14:25:44.157 获取当前位置(GBPUSD,M5)的佣金 GBPUSD

2016.12.05 14:25:44.157 获取当前佣金的位置(GBPUSD,M5) 发现位置

2016.12.05 14:25:44.157 获取当前仓位(GBPUSD,M5)的佣金 仓位中的总交易:4

2016.12.05 14:25:44.670 获取当前位置(GBPUSD,M5)的佣金 1

2016.12.05 14:25:44.670 获取当前位置(GBPUSD,M5)的佣金 GBPUSD

2016.12.05 14:25:44.670 获取当前佣金的位置(GBPUSD,M5) 发现位置

2016.12.05 14:25:44.670 获取当前仓位(GBPUSD,M5)的佣金 仓位中的总交易量:0

可以看出,在该位置没有看到任何交易。EA仍然挂在图表上,评论中出现了0。

我删除了EA并将其重置到图表上,它没有看到头寸的交易,评论是0。