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

 
Vladimir Karputov :

问题在哪里?究竟是什么错误?对不起,所有的心灵感应者都在度假。

这就是问题所在。我也不明白这个错误是什么。你认为如果我知道错误是什么,我还会把它放在这里吗?我甚至没有收到这个错误。 只有这条信息,没有其他内容。

 
jaffer wilson:

这就是问题所在。我也不明白错误是什么。你认为如果我知道错误是什么,我还会把它放在这里吗?我甚至没有收到这个错误。只有这条信息,没有其他内容。

点击

 
Vladimir Karputov :

问题在哪里?究竟是什么错误?对不起,所有的心灵感应者都在休假。


好的,知道了。

EURUSD, H1 (netting)进行测试 Tradestatisticspanel (EURUSD, H1) OnInit的返回代码为-1 不能初始化指标不一致

 

请给我一个提示!

帮助说,一个结构的实例是一个变量。例如,我们有一个结构

struct STRUCT_POSITION {
   double            volume;                 
   double            lot_coefficient;        
   bool              waiting_transaction;    
   ulong             waiting_order_ticket;   
   bool              transaction_confirmed;  
   }

然后我们通过声明其类型的变量来创建一个结构的实例。

STRUCT_POSITION SPosition;

但我在代码中发现了这个问题

STRUCT_POSITION SPosition[];

而这让我感到困惑。我没有在任何地方看到你可以声明一个结构类型的数组。这个阵列现在会有什么属性?它可以被称为 "结构实例 "吗? 也许你知道在哪里可以读到更多关于它的信息?

 
odyn:

请给我一个提示!

帮助说,一个结构的实例是一个变量。例如,我们有一个结构

然后我们通过声明其类型的变量来创建一个结构的实例。

但我在代码中发现了这个问题

而这让我感到困惑。我没有在任何地方看到你可以声明一个结构类型的数组。这个阵列现在会有什么属性?它可以被称为 "结构实例 "吗? 你能告诉我在哪里可以读到更多这方面的信息吗?

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

初学者的常见问题 MQL5 MT5 MetaTrader 5

Alexey Viktorov, 2020.02.23 08:29

声明结构STRUCT_POSITION {...},这是创建一个自定义的数据类型。而STRUCT_POSITION SPosition[];是一个用户类型的变量的声明。方括号[]表示该变量是一个数组。 你可以像其他类型的变量一样声明多个用户类型的变量。

double a, b[];

STRUCT_POSITION Pos, SPosition[];// при условии, что структура уже создана.
在这个条目类型 中,变量数组

哦...我没有马上注意到,是你有这个确切的答案。

更详细地说:一个数组只是一组有索引的变量。最基本的是,我们有两个变量p1和p2,或者我们有数组p[2],在这种情况下,我们把值存储在变量p1或数组p[0]的一个单元中,或者存储在变量p2或数组p[1]中,都没有关系。

当你需要2-3个,或最多5个变量时,你可以用变量来做,但如果你需要100个,甚至是未知数量的变量...这就是数组的魅力所在。

 
Alexey Viktorov:

哦...我没有立即注意到你是那个有答案的人。

更详细地说:一个数组只是一组有索引的变量。最基本的是,我们有两个变量p1和p2,或者我们有数组p[2],在这种情况下,值是存储在变量p1还是数组p[0]的一个单元中,还是存储在变量p2还是数组p[1]中,都不重要。

如果你需要2-3个或最多5个变量,你会用变量来做,但如果你有100个甚至未知数量的所需变量...这就是数组的魅力所在。

阿列克谢,我是否正确理解了数组与变量不同,它所包含的不是结构的字段,而是结构的实例,其数量从零到几?

P.S. : 代码不是STRUCT_POSITION Pos,SPosition[]

STRUCT_POSITION SPosition[]。

没有变量。

 
odyn:

阿列克谢,我是否正确理解了数组与变量不同,它所包含的不是结构的字段,而是结构的实例,其数量从零到几?

一条总线(具有结构类型总线的变量)有三个字段。
1.驱动程序
2.指挥者
3.乘客[]。
一个巴士车队(巴士结构阵列)有120辆巴士,每辆车都有相同的字段。
1.驱动程序
2.指挥者
3.乘客[]。
但每辆巴士的这些字段与其他巴士不同。
一句话:巴士车队是一个巴士类型字符串的阵列。
 
Artyom Trishkin:
一条总线(具有结构类型总线的变量)有三个字段。
1.驱动程序
2.指挥者
3.乘客[]。
一个巴士车队(巴士结构阵列)有120辆巴士,每辆车都有相同的字段。
1.驱动程序
2.指挥者
3.乘客[]。
但每辆巴士的这些字段与其他巴士不同。
一句话:巴士车队是一个巴士类型字符串的阵列。

谢谢你,这很清楚。:) 所以它是一个Struts的阵列。 我明白了。

 
odyn:

谢谢你,这很清楚。:) 这是一个巨大的结构,我明白了。

在我不在的时候,Artem对它进行了很好的解释。我只想补充一下你的理解:你得到一个包含乘客数组的结构数组。

阵列的每个单元有一个驱动器,一个导体和许多乘客(阵列)。

 
Artyom Trishkin:

这里

你正在创建一个基类对象。相应地--你到处都有一个基类。

但是否有可能将一个类声明为基类,然后根据条件,将其覆盖为继承类之一?

任务是在代码中保持类的名称不变。

另外,请告诉我们应该用哪条指令来定义测试器。

#ifdef MQL_TESTER || MQL_VISUAL_MODE

有可能这样做吗?