[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 21

 
你不需要事后调整它的大小,只要在你把数据放进去之前声明它并确保它足够大。
 
   
   
   ArrayResize(SMA,limit);     //--- Размер различный задавал от 1 до Bars 
   ArrayInitialize(SMA,0);
   for(i=0;i<limit;i++){// bla bla bla
   SMA[i]=...........; // --- Заполнение массива.
   MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----MA1 буферный.
 
好的,知道了,谢谢。但是,如果我只需要数组中的一个变量,我如何确定大小足够?有必要初始化为0吗?
 
Fox_RM:

我通常用一个无缓冲的做这个。

要计算iMAOnArray,第一个值是不够的!!。请阅读这个功能(我在上一篇文章中给出了一个链接)。
 
为了得到一个平均值,你需要分析输入数据的周期 ,所以初始数组SMA[]的大小不应小于limit+period - 所以我在这里犯了一个错误ArrayRezize(SMA,limit+period);你不需要初始化,反正你不会走得太远。
 

周期中的指标如何定义新一天的开始,我是这样安排的。

if(TimeDay(Time[i]) != TimeDay(Time[i+1]));// новый день
有没有人有比这更好的设计?
 
这一切都很清楚。谢谢大家!
 
你能告诉我在哪里可以得到自回归、外推法等等等等的源代码,不一定要用mql。
 

你好!我的目标是通过创建一个函数将该指标转移到EA中。

第一步,也就是创建函数,已经完成。但是下一个--测试--并不奏效。

指示器绘制了通道。它有4个缓冲区和大量的变量。我已经把它全部放在函数中。

但是,当创建一个测试专家顾问,通过比较指标和我的函数来确保它完全工作时,我无法实现编译。

外部变量的不断错误,在我创建函数时并不存在,但在EA中突然出现。

请给我一些建议或提供一个例子的链接。我已经使用了GODZILLA的文章,但他的例子与我的不同。

 
帮助我写一个条件,使EA在开出n个订单后将手数乘以2倍。