MetaEditor build 1463 - 页 15

 
fxsaber:
ArrayPrint - 类似。
下面是一个例子https://www.mql5.com/ru/forum/160673/page2#comment_3827986
MetaEditor build 1467
MetaEditor build 1467
  • www.mql5.com
Объясните, почему вот этот текст, отформатированный исключительно пробелами, нет ни одного -tab-,: после применения стилизатора, преобразуется в та...
 
Rashid Umarov:
下面是一个例子https://www.mql5.com/ru/forum/160673/page2#comment_3827986

这与你自己在上面写的 没有区别。

不过,ArrayPrint还有很多输入参数。最后一个参数flags是值得关注的。

 

一般来说,只要测试人员挂了电话。我已经能够确定导致它的几个功能。最常见的是评论

这里尝试在测试器中运行这样一个指标。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

速度不是最大的,所以测试需要一些时间,在这个过程中会挂掉。的确,并不总是如此--我不明白它取决于什么,是鼠标移动还是其他什么。一般来说,你可以测试几次,它应该挂掉。

 
ArrayPrint 功能 于今晚在网站上提供
 
Alexey Navoykov:

一般来说,只要测试人员挂了电话。我已经能够确定导致它的几个功能。最常见的是评论。

这里尝试在测试器中运行这样一个指标。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

速度不是最大的,所以测试需要一些时间,在这个过程中会挂掉。的确,并不总是如此--我不明白它取决于什么,是鼠标移动还是其他什么。一般来说,你可以测试几次,它应该挂掉。

有三种测试速度。

  • 最大限度
  • 最大限度地减去一个步骤
  • 最多减去两个步骤
测试仪中的日志标签显示会冻结,因为考虑到在这种速度下,打印的输出会非常慢,而且追踪开/关机的信息也根本不现实。

一般来说,更精确地提供证据,说明什么是你的 "测试者冻结"。

新增: 并更精确地描述情况:版本、构建、服务器、符号、时间范围、测试模式......。

补充:妈的,我的编辑和测试员被挂了。蜱虫生成模式为 "所有蜱虫"。

 
Alexey Navoykov:

一般来说,只要测试人员挂了电话。我已经能够确定导致它的几个功能。最常见的是评论。

这里尝试在测试器中运行这样一个指标。

#property indicator_separate_window

int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
  {
   Comment("OnCalculate");
   return rates_total;
  }

速度不是最大的,所以测试需要一些时间,在这个过程中会挂掉。的确,并不总是如此--我不明白它取决于什么,是鼠标移动还是其他什么。一般来说,你可以测试几次,它应该挂掉。

这里又是什么呢。

   return rates_total;

?

 

的确如此。

//+------------------------------------------------------------------+
//|                                               Indicator_Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
                 )
  {
   Comment("OnCalculate");
   return (rates_total);
  }

以最大速度测试,"所有刻度 "刻度生成模式- 测试仪挂起。绞刑是指下列情况。

悬挂式

如果你注释掉注释行,一切都可以测试。

附加的文件:
 
Vladimir Karputov:

以最大速度测试,"所有刻度 "刻度生成模式- 测试仪挂起。

它不取决于速度、模式或时间框架。在任何情况下,它都可能冻结。

顺便说一下,其他一些函数,例如ChartGetInteger(0, CHART_WIDTH_IN_BARS)也导致了我的程序挂起。但我无法用他们重现一个孤立的例子。然而,我认为评论就足够了。

 

这是什么?

HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\EURUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\GBPUSD, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDCHF, last access time 2016.04.12 10:37
HistoryCenter   delete old files from C:\Program Files\BCS Broker MetaTrader 5 Terminal\bases\FxPro-ECN\history\USDJPY, last access time 2016.04.12 10:37
 
fxsaber:
请将MqlTick 改为
struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   datetime_msc time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags          // Флаги тиков
  };
也就是说,引入一个新的datetime_msc类型。
最好是只做msc字段,并将毫秒(0-999)单独写入那里。