初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1495

 
Sergey Izhutov #:

我今晚也是这么想的,我应该把它收起来。我还没和指数交上朋友。我只依稀记得,在第 4 版中,我只写了 Close > MA,然后就成功了。我会试着注释掉句柄,看看结果如何。

有人曾建议我与 MetaEditor 调试器 "交朋友"。在我大致熟悉了调试器之后,99.9% 的问题都自动消失了。你可以将任何变量放入观察中,查看它们的值,然后进行比较,了解代码中的问题所在。这是一个非常方便的工具。我向您推荐它。

弗拉基米尔

 
MrBrooklin #:


谢谢,我会看看的)

 
如果暂时将测试仪最小化,工作速度就会加快。
 
Ivan Ivanov #:
如果将测试仪最小化一段时间,工作速度就会加快。

一直都是这样。

 
Help , in the indicator if it is started in the tester does not work
void OnDeinit(const int Reason)

是否有其他方法可以通过指标知道测试已经完成?

 
EgorKim #:
请问,如果指标在测试器中运行,

是否有其他方法可以通过指标知道测试已完成?

通常没有。不标准,直观查看更容易。测试仪的日志文件应该停止增长,这仍然是一项需要跟踪的任务。测试完成的日期也不容易查到。
 
Valeriy Yastremskiy #:
不正常。不标准,直观查看更方便。测试人员的日志文件应该停止增长,跟踪日志文件是个挑战。要找到测试结束日期也不容易。

打勾到达?

 
Artyom Trishkin #:

有滴答声传来?

时间是模拟的)))),如何控制?,测试人员的工作就结束了!测试人员在5ka中对我来说事情就是)))),当然不会在指标中调用ondeinit,只是悲伤而已。

 

Meta Editor 在为以下代码中的 PrevClose 变量赋值时,会产生"ArrayMinimum"(不能修改常量)和 "ArrayMaximum"(不能修改常量)错误,以及"="(非法操作)错误:

ulong copied = CopyTicksRange(Symbol(), ticks, COPY_TICKS_INFO, t0, t1); 
ArrayResize(ticks, copied, 100000);
double PrevClose = ticks[copied-1]; // Получаем последний элемент массива как значение PrevClose
double highestHigh = ArrayMaximum(ticks, 0, copied - 1); // Находим максимальное значение в массиве ticks
double lowestLow = ArrayMinimum(ticks, 0, copied - 1); // Находим минимальное значение в массиве ticks
 
maxvoronin74 "ArrayMinimum"(不能修改常量)和 "ArrayMaximum"(不能修改常量)错误,以及"="(非法操作)错误:

"查找 ticks 数组中的最大值"- 最大值是什么?

ticks[copied-1].bid 或 ticks[copied-1].flags

开玩笑)))))


您很可能将 CopyTicks 与 CopyRates 混淆了,虽然在 CopyRates 中也有一个结构数组,但您需要指定结构中的哪个元素。

double PrevClose = rates[copied-1].close;

您的代码中多了一行

ArrayResize(ticks, copied, 100000);
你不需要它,因为CopyTicks 和CopyRates 在复制时会自行分配数组大小