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

 
Prix:
下午好。如果有人知道在哪里可以下载一个ZIGZAG指示器,用来标记新的光束出现的点(如不同颜色)。如果有的话...

寻找DT_ZZ_Nen
 
Vinin:

寻找DT_ZZ_Nen

谢谢,我现在就去试试。
 
帮助我处理传递给iMAOnArray函数的数组。
由于某些原因,这个函数只对缓冲区阵列起作用(在VMA的例子中)。
而不会与 "常规"(例如SMA)一起工作。

下面是我在节目中如何做的概要。怎么了?

double MA1[],MA2[],VMA[],SMA[];

int init()
{

   SetIndexBuffer(0,MA1);
   SetIndexBuffer(1,MA2);
   SetIndexBuffer(2,VMA);
   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0);
   SetIndexEmptyValue(2,0.0);  
   ArrayResize(SMA,1);  
   ArrayInitialize(SMA,0);

 return(0);
}

int start() 
{  
 
SMA[i]=...........;
VMA[i]=...........;

MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----этот вариант НЕ работает
MA2[i]=iMAOnArray(VMA,0,8,0,0,0); //----этот вариант всегда работает  
   
  return(0);
}

 

我已经给你写过这方面的信,但你选择了忽略它。

当声明一个不是指示器缓冲区 的数组时,你必须指定它的大小,最好是更大的,这样解释器就会分配内存空间

 
Vinin:

寻找DT_ZZ_Nen

如果我理解正确的话,该点显示的不是新射线出现的时间,而是它出现的蜡烛的最大值或最小值......。但也不坏......谢谢......
 
Fox_RM:
帮助我处理传递给iMAOnArray函数的数组。
由于某些原因,这个函数只对缓冲区阵列起作用(在VMA的例子中)。
而不会与 "常规"(例如SMA)一起工作。

下面是我在节目中如何做的概要。怎么了?

假设你声明了一个 "非缓冲区 "数组的大小,那么从这段代码片段中,SMA[]和VMA[]数组的准备顺序并不清楚。

这些数组必须首先被填充数据,然后必须使用iMAOnArray()创建数组MA1[]和MA2[]。

 
FAQ:

我已经给你写过这方面的信,但你选择了忽略它。

当声明一个不是指示器缓冲区的数组时,你必须指定它的大小,最好是更大的,这样解释器就会分配内存空间

我给了它一个从1到Bars的尺寸。在声明和ArrayResize 过程中,都没有任何变化;(
 
double SMA[];

int init()
{
   ArrayResize(SMA,1);     //--- Размер различный задавал от 1 до Bars 
   ArrayInitialize(SMA,0);

 return(0);
}

int start() 
{  
 
SMA[i]=...........; // --- Заполнение массива.

MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----MA1 буферный.
   
  return(0);
}

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

 
double MA1[],MA2[],VMA[],SMA[3000];<= вписать размер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
FAQ:

我明白你的意思。)我给了它一个从1到Bars 的尺寸。在ADArrayResize 都是如此。也许错误出在别的地方?