文章 "通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)" - 页 2

 
Vasiliy Sokolov:
在这种情况下,majics 是 CExpert 的要求,信号本身继承自 CExpert。信号不需要它,至少在 CStrategy 中是这样,因为它不挂单。不过,为了以防万一,还是指定了一些魔法。

也就是说,使用的魔法是否就是初始化 CStrategy 实例时传递的魔法?毕竟,CTrade 类 也需要有效的魔法才能工作。

附:另一个问题:"在图片中,您显示了指标信号(箭头),或信号出现的高亮条形图。这是内置信号类的工作方式(绘制)吗?还是手动绘制?我为什么这么问?- 在我的程序库(MT4)中,信号是绘制的,而且还有 "连续检查多少个条形图信号 "的设置。

 
Гога:

也就是说,使用的魔法是在初始化 CStrategy 实例时传递的魔法吗?毕竟,CTrade 类要 工作,也需要一个有效的 magick。

附:另一个问题:"在图片中,您显示了指标信号(箭头),或信号出现的高亮条形图。这是内置信号类的工作方式(绘制)吗?还是手动绘制?我为什么这么问?- 在我的程序库(MT4)中,信号是绘制的,而且还有 "连续检查多少个条形图信号 "的设置。

不,这些箭头不是信号,而是策略测试箭头。这是它显示开仓或平仓的方式。如果您指的是图 3 中的箭头,那只是一种绘图设计。
 
Vasiliy Sokolov:
在这种情况下,majics 是 CExpert 的要求,信号本身继承自 CExpert。信号不需要它,至少在 CStrategy 中不需要,因为它不挂单。不过,为了以防万一,还是指定了某种魔法。

我重复我的问题:"那么,在初始化 CStrategy 实例时传递的魔法会被使用吗?毕竟,CTrade 类 也需要有效的魔法才能工作"。

附注:请查看您的邮件。

 
Гога:

我再重复一遍问题:"那么在初始化 CStrategy 实例时使用的是传递的魔法吗?毕竟,CTrade 类 也需要有效的 magick 才能工作"。

附注:请查看您的邮件。

是的,使用的是传递给 CStrategy 的魔力。不使用其他拦截器,尽管它们用于填充信号。
 

可以组合模式。例如,要将 3 号模式与 2 号模式结合使用,就需要创建一个位域,其第四位和第三位数字等于 1:1010。

这里到底有没有错别字?

 
newnek:

可以组合模式。例如,要将 3 号模式与 2 号模式结合使用,就需要创建一个位域,其第四位和第三位数字等于 1:1010。

这里到底有没有错别字?

是的,确实有一个错字。更正为

例如,要将模式 3 与模式 2 结合使用,就需要组成一个位域,其第四位和第三位数字等于 1:1100。同样的数值用十进制格式表示就是数字 12。

 

感谢瓦西里的贡献。我学到了很多。我下载了所有代码,但在 Panel.mqh 文件中出现了编译错误:

At' - object pointer expected Panel.mqh 210 39

At' - 预期对象指针 Panel.mqh 228 37

能否请您检查一下

 

无法编译....

'CSeries' - identifier already used     Series.mqh      18      7
see previous declaration of 'CSeries    Series.mqh      11      7
'm_symbol' - struct member already defined      Series.mqh      25      22
'CSeries' - member function already defined     Series.mqh      32      22
'~CSeries' - member function already defined    Series.mqh      33      22
'~CSeries' - member function not defined        Series.mqh      72      11


 

干得好您的教程很棒。

但我在编译 StrategySignals.mq5 时遇到了麻烦。错误日志如下

无法将 "DoubleValue "转换为 "ULongValue" Dictionary.mqh 226 14

无法将'DoubleValue'转换为'ULongValue' Dictionary.mqh 226 14

 
igorsds:

干得好您的教程很棒。

但我在编译 StrategySignals.mq5 时遇到了麻烦。错误日志如下

无法将 "DoubleValue "转换为 "ULongValue" Dictionary.mqh 226 14

无法将 "DoubleValue "转换为 "ULongValue" Dictionary.mqh 226 14

Dictionary.mqh 的第 226 行,我替换了

lValue=(ULongValue)dValue;


lValue.value=(ulong)dValue.value;

我想现在可以了。