struct BarData
{
datetime time; // время начала периода double open; // цена открытия double high; // наивысшая цена за период double low; // наименьшая цена за период double close; // цена закрытия long tick_volume; // тиковый объем
};
Структура исторических данных - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
在这期间
不明白吗?
历史上最近的最小值小于Low_1_Level ,这将是 。
运行该代码,看看它是如何工作的。
我在整个期间都没有错误
我将日志附在后面
我在整个期间都没有错误
我把日志附在后面。
似乎没有错误,但在日志中出现了
你的日志中19:31:53.126 2016.12.15 00:00:00 Array EURUSD,H1: i = 456 Bar_data_D1 [i][2] = 1.04789
因为我的价格Min_D:104789比low_D1 1.03660高,按照惯例不可能是这样。
如果我替换了for循环,就会有一个错误,而且是正确的。
实际上表达式2只是掩盖了一个错误
有一个问题。为什么你从第一个元素开始循环,而不是从零开始?
如果你不介意给我一个例子,如何正确书写?
我有一些交易经验,但我才开始学习MQL4。
如果你使用MqlRates,那么声明一个数组。
MqlRates Bar_data_D1[];
也就是说,你得到的是一个一维数组而不是一个二维数组。MqlRates是一个标准的结构(在MQL4参考中的 "Basics of Language"-"Data Types"-"Structures, Classes, Interfaces "中描述)。在这种情况下,它有你需要的所有字段。你可以这样称呼他们。
i是数组的索引。
以同样的方式,你可以创建自己的结构来记录蜡烛图的参数。它将比Mqlrates小两个字段(spread和real_volume),你不需要这些。该结构将看起来像这样。
声明此类结构的数组看起来像这样。
访问该结构的成员与访问MqlRates结构的 成员类似。
正是如此!
如果通过MqlRates,你像这样声明数组。
也就是说,你得到的是一个一维数组而不是一个二维数组。MqlRates是一个标准的结构(在MQL4参考中的 "语言基础"-"数据类型"-"结构、类、接口 "中描述)。在这种情况下,它有你需要的所有字段。你可以这样称呼他们。
i是数组的索引。
以同样的方式,你可以创建自己的结构来记录蜡烛图的参数。它将比Mqlrates小两个字段(spread和real_volume),你不需要这些。该结构将看起来像这样。
声明此类结构的数组看起来像这样。
对该结构成员的访问与对MqlRates结构 成员的 访问相似。
好的,我明天就去试试 !
谢谢你的帮助。当我想出办法时,我会让你知道。