错误、漏洞、问题 - 页 2624

 
Михаил:

我不经常寻找箭头代码,但它们在帮助中令人难以置信地难以找到!"。

它是一个带有星号、圆圈等的表格。

而搜索的结果除了正确的之外,还有任何东西!

咏叹调
 

关于交易、自动交易系统和策略测试的论坛

图书馆:HistoryTicks

fxsaber, 2020.01.09 14:43

没有注意到KB的版本是旧的。不幸的是,没有办法更新。KB机给出了这样的结果
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
一切都在ME中编译,没有错误。
 
Stanislav Korotky:

为什么在第3行。

"符号不匹配 "警告?

Datetime应该是一个无符号的数字(8个字节,如ulong)。给我举一个否定日期的例子。

可能是因为没有单独的时间戳类型,而且datetime 也被用来存储时间差。
 
你能告诉我,当按下 "停止 "按钮时,在测试器中产生了哪个事件(如果有的话)?
 
再一次,帮助!我不知道如何恢复更好的连接,更换账户也无济于事。
附加的文件:
Mc3FTItT2F8.jpg  18 kb
 

对当前数据进行调试时,在OnInit 指标 应用ChartSetSymbolPeriod,出现了一个奇怪的现象--在OnTick()中,旧TF的rate_total和新TF的时间序列阵列

datetime shift,arr[],arr2[];
void OnInit()
  {
 if (ChartPeriod()!=PERIOD_D1)
 {
     ChartSetSymbolPeriod(0,Symbol(),PERIOD_D1);
     CopyTime(Symbol(),PERIOD_D1,0,iBars(Symbol(),PERIOD_D1),arr);     
     ChartRedraw();
     Sleep(100);
  }  
 CopyTime(Symbol(),PERIOD_H1,0,iBars(Symbol(),PERIOD_H1),arr2); 
  }

这里我们看到Daytime的Time[x]和H1的rate_total,在调试器窗口中,图表的TF改为Daytime


 
Aleksey Mavrin:

对当前数据进行调试时,在OnInit 指标 应用ChartSetSymbolPeriod,出现了一个奇怪的现象--在OnTick()中,旧TF的rate_total和新TF的时间序列阵列

这里我们看到Time[x]来自Daytime,rate_total来自H1,而在调试器窗口中,图表的TF已经变成了Daytime


当你改变时间框架时,指标会被完全重新创建。也就是说,以前的指标柄被删除,新的指标柄被创建。
但有一个 "但是"。之前的指标仍然存在一段时间。

难道不是因为...

 
Aleksey Mavrin:

对当前数据进行调试时,在OnInit 指标 应用ChartSetSymbolPeriod,出现了一个奇怪的现象--在OnTick()中,旧TF的rate_total和新TF的时间序列阵列

在这里,我们看到Daytime的Time[x]和H1的rate_total,在调试器窗口中,图表的TF改为Daytime

指标发布

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
//|                                        Test_IndicatorRelease.mq5 | //|                        Copyright 2010, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
Artyom Trishkin:

当时间框架改变时,指标会被完全重新创建。这意味着以前的指标柄被删除,新的指标柄被创建。
但是有一个 "但是"。之前的指标仍然存在一段时间。

难道不是因为...

是的,根据我的实验理解,在ChartSetSymbolPeriodOnInit完成,有一次(至少在调试模式 下)OnCalculate被执行(此刻它被捕获)。也就是说,它不会干扰在线操作。

事实上,不同时间段的数据可能会到达OnCalculate,我认为这只是一个错误。

 
这是ArraySwap 的一个缺陷吗?
void OnStart()
{
  int ArrayStatic[1];
  int ArrayDynamic[];
  
  ArrayResize(ArrayDynamic, ArraySize(ArrayStatic));
  
  Print(ArraySwap(ArrayStatic, ArrayDynamic)); // false
}