新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 186

 
Artyom Trishkin:
数量1
2
3
4
5
6
7
8
9
10
索引0
1
2
3
4
5
6
7
8
9

正如你所看到的--有10个订单,但它们的索引少了1,因为在任何数组中都是从0开始计数的。

OrdersTotal()是10,但是如果你用OrdersTotal()开始一个循环,它将进入数组 之外--没有订单10的索引--最大的索引是9--所以OrdersTotal()-1


谢谢你...明白了...谢谢你。
 
Vitalie Postolache:

这是因为它是从0开始计算的。如果你有10个订单,那么计数序号应该是0...9,也就是0...(10-1),其中OrdersTotal()=10

编写程序时记住这一点即可。


谢谢你...得到了它...
 
Vitaly Muzichenko:
通过Print()打印,你就不会有这些问题了,这并不难。

谢谢...明白了...我只是认为OrdersTotal 的计数也包括零......然后我就错了,我这样写int i=OrdersTotal(); i>-1; i--) ,结果没正常工作


 
你好!
在文档中,在 "实例中的指标样式 "一文中,它说:
默认情况下,指标缓冲区被用来存储要绘制的数据(INDICATOR_DATA)。

如果指标值的计算需要进行中间计算,并为每个柱状体存储一个辅助值,你可以在绑定时声明这样一个数组作为计算缓冲器(INDICATOR_CALCULATIONS)。

MQL5中 给出的18个结构 实例中,没有一个演示了 计算缓冲阵列 INDICATOR_CALCULATIONS)。
请告知在哪里可以读到关于这个主题的信息?
 
Leo59:
你好!
在文档中,在 "实例中的指标样式 "一文中,它说:
默认情况下,指标缓冲区被用来存储要绘制的数据(INDICATOR_DATA)。

如果指标值的计算需要进行中间计算,并为每个柱状体存储一个辅助值,你可以在绑定时声明这样一个数组作为计算缓冲器(INDICATOR_CALCULATIONS)。

MQL5中 给出的18个结构 实例中,没有一个演示了 计算缓冲阵列 INDICATOR_CALCULATIONS)。
请告诉我在哪里可以读到这些信息?
可以把它看作是一个普通的动态数组,用于存储中间计算数据。你只是不需要增加/减少它的大小--客户终端会帮你做。这样的数组缓冲区的数据不会显示在图表上--这就是数据和CALCULATIONS的区别。
 
Artyom Trishkin:
可以把它看作是一个普通的动态数组,用于存储中间计算结果。你只是不需要控制它和增加/减少它的大小--终端将为你做这些。这样的数组缓冲区的数据不会显示在图表上--这就是数据和CALCULATIONS的区别。
哪里有一个清晰的示例代码?
 
Artyom Trishkin:
可以把它看作是一个普通的动态数组,用于存储中间计算结果。你只是不需要控制它和增加/减少它的大小--终端将为你做这些。这样一个数组缓冲区的数据不会被打印在图表上--这就是数据和CALCULATIONS的区别。
如果指标的#属性 indicator_chart_window - 这一点是正确的,它不会被输出。但如果指标#属性 indicator_separate_window - 它的输出是出于某种原因。
 
Leo59:
哪里有一个工作代码的例子来说明问题?
DemoBufferPattern
DemoBufferPattern
  • 投票: 21
  • 2010.03.24
  • Loong
  • www.mql5.com
Пример использования нескольких индикаторных буферов(Candles+Fractals+ZigzagColor+ColorMaLine).
 
Artyom Trishkin:
谢谢你!
 
Artyom Trishkin:
Artyom, please, a WORKING code example is needed!!!!

而你给的那个....例如第87行:maHandle=iMA(Symbol(),0,ExtPeriod,0,MODE_EMA,PRICE_CLOSE);
嗯,这有什么关系呢?
原因: