错误、漏洞、问题 - 页 3078

 
fxsaber #:

可视化器远远没有与交易环境同步。也就是说,它可能显示旧的信息。最新的那个总是在EA。

这是一个非常常见的问题,当EA说的是一件事,但展示台显示的是另一件事。

我有个好主意。我知道了,谢谢你。基本上,EA在逻辑上继续工作,订单确实被执行了,但从视觉上看,它只是后来才被看到。

 
Igor Petrov #:

好的。明白了,谢谢。基本上,EA在逻辑上进一步工作,订单只在视觉上被执行,以后可以看到。

为了在正确的时刻看到同步的情况,你需要在停止测试器后等待下一个刻度。

例如,你可以在有趣的时刻之前快进五秒,然后按暂停和F12来尝试每一个下一个刻度。所有这些刻度线将被正确呈现。


可以通过对当前tick时间的评论(精确到毫秒)以及与可视化器的市场观察窗口中显示的内容进行比较来识别滞后。如果有差异,就是不同步。


如果有差异,那就是调试器停止时(或按下暂停键时)可视化器的不同步,当然,很早以前就应该这样做。

 
Igor Makanu #:

BarsCalculated()https://www.mql5.com/ru/docs/series/barscalculated

它的回报是什么?- 是不是在OnCalculate()计算后,指标返回到return(rate_total)的一个数字?

检查一下 - 是的BarsCalculated()是返回(rate_total )。

ind A:

int OnCalculate...
{
   static int cnt = 0;
   cnt++;
   Print("cnt = ", cnt);
   return(cnt);
}

ind B:

int OnInit()
{
   handle = iCustom(NULL, PERIOD_M1, "tst_code\\A");
   return(INIT_SUCCEEDED);
}
int OnCalculate...
{
   double tmp[];
   int bc = BarsCalculated(handle);
   if(bc == -1) return(rates_total);
   int copy = CopyBuffer(handle, 0, 0, 1, tmp);
   Print("BarsCalculated = ", bc);
   return(rates_total);
}

在H1指标B上运行,对数。

2021.09.02 16:11:44.872 A (EURUSD,M1) cnt = 1

2021.09.02 16:11:44.873 A (EURUSD,M1) cnt = 2

2021.09.02 16:11:44.998 A (EURUSD,M1) cnt = 3

2021.09.02 16:11:44.998 B (EURUSD,H1) BarsCalculated = 3

2021.09.02 16:11:46.617 A (EURUSD,M1) cnt = 4

2021.09.02 16:11:46.617 B (EURUSD,H1) BarsCalculated = 4

2021.09.02 16:11:46.663 A (EURUSD,M1) cnt = 5

2021.09.02 16:11:46.663 B (EURUSD,H1) BarsCalculated = 5

2021.09.02 16:11:46.671 A (EURUSD,M1) cnt = 6

2021.09.02 16:11:46.671 B (EURUSD,H1) BarsCalculated = 6

2021.09.02 16:11:46.684 A (EURUSD,M1) cnt = 7

2021.09.02 16:11:46.685 B (EURUSD,H1) BarsCalculated = 7

2021.09.02 16:11:46.697 A (EURUSD,M1) cnt = 8

2021.09.02 16:11:46.697 B (EURUSD,H1) BarsCalculated = 8

2021.09.02 16:11:47.008 A (EURUSD,M1) cnt = 9

2021.09.02 16:11:47.008 B (EURUSD,H1) BarsCalculated = 9

2021.09.02 16:11:47.029 A (EURUSD,M1) cnt = 10

2021.09.02 16:11:47.029 B (EURUSD,H1) BarsCalculated = 10

2021.09.02 16:11:47.502 A (EURUSD,M1) cnt = 11

2021.09.02 16:11:47.502 B (EURUSD,H1) BarsCalculated = 11

2021.09.02 16:11:47.614 A (EURUSD,M1) cnt = 12

2021.09.02 16:11:47.614 B (EURUSD,H1) BarsCalculated = 12

2021.09.02 16:11:47.620 A (EURUSD,M1) cnt = 13

2021.09.02 16:11:47.620 B (EURUSD,H1) BarsCalculated = 13

2021.09.02 16:11:47.667 A (EURUSD,M1) cnt = 14

2021.09.02 16:11:47.667 B (EURUSD,H1) BarsCalculated = 14

2021.09.02 16:11:47.713 A (EURUSD,M1) cnt = 15

2021.09.02 16:11:47.713 B (EURUSD,H1) BarsCalculated = 15

2021.09.02 16:11:47.726 A (EURUSD,M1) cnt = 16

2021.09.02 16:11:47.726 B (EURUSD,H1) BarsCalculated = 16

 

下午好,我似乎无法解决这个问题。

我需要在第一次运行时处理所有的柱子,之后只处理最后一个柱子。

起初,它打印0,然后在每个新条形上只打印最后一个条形,不打印中间条形。

问题是什么?

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

      for(int i = prev_calculated; i <= prev_calculated && i < rates_total && !IsStopped(); i++)
        {
         Print(i);
        };
   return(rates_total);
  }
 
SEM #:

下午好,我似乎无法解决这个问题。

我需要在第一次运行时处理所有的柱子,之后只处理最后一个柱子。

首先,它打印0,然后在每个新条形上只打印最后一条,它不打印中间条形。

错误是什么?

无论是i--还是i等于0的周期1表达式)都能正确打印出来。)
这是为第一次运行。然后是经典的新酒吧抓人。
 
SEM #:

下午好,我似乎无法解决这个问题。

我需要在第一次运行时处理所有的柱子,之后只处理最后一个柱子。

首先,它打印0,然后在每个新条形上只打印最后一条,它不打印中间条形。

错误是什么?


对于初学者来说,我会尝试这样纠正它。

      for(int i = prev_calculated; i >= prev_calculated && i < rates_total && !IsStopped(); i++)
        {
         Print(i);
        };
 

祝大家今天愉快。有谁遇到过这个问题?在今天10msk之前,mt5一切正常。我开了订单并设置了止损和利润。

当开立一个订单,在10msk后设置止损或盈利时,我的订单在排队等待,10分钟或更长时间后,它被放置。而现在的情况仍然如此。

 
Михаил Савченко #:

祝大家今天愉快。有谁遇到过这个问题?在今天10msk之前,mt5一切正常。我开了订单并设置了止损和利润。

晚上10点以后,当我开了一个订单并设置了止损或盈利,我的订单在排队等待,10分钟或更长时间后,订单被打开。而现在的情况仍然如此。

手动交易?哪个经纪人?
 
mktr8591 #:
手动交易?什么经纪人?
是的,我从市场上手动输入。菲纳姆。
 
mktr8591 #:

首先,我会尝试这样纠正它。

谢谢你!这很有帮助。