专家社区 - 页 6

 
你想找什么差额? 阵列差额? 所以阵列不能加减。逐个元素找差额。
 
你想找什么差额? 数组差额? 所以我们不能对数组进行加减。逐个元素找差额。


只是我们不清楚,为什么你说我们要减去数组,我们是按MKL4字典中所示做的。


double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



请指教!

 
谢谢你,斯拉瓦,谢谢你的提示。

以下是出现错误的代码

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);
double ma_6C=iMAOnArray( ma_C, 0, 3*MA_period,0,MODE_SMA,1 );



这里有一位工人

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);

 ma_6C=ma_C[1];

for(i=2; i<(3*MA_period); i++)
   {
      ma_6O+=ma_O[i];
      ma_6C+=ma_C[i];
   }

ma_6C/=(3*MA_period);
 
 
 
 
给那些熟悉MKL4深度的人一个问题。

是否有任何标准命令允许专家
来查看平均数的交点。例如,第5期的平均数与第5期的平均数相交。
20期间的。专家顾问能否像人一样看到穿越的时刻。
是否有一个标准函数或命令来处理这种事情?

下图显示了红色和绿色平均数的交叉点为
这是一个例子,说明专家顾问应该看到这个信号并对其进行处理。
 
M1--第一次滑动。
M2是第二次滑动。

我们需要比较差异的符号(M1 - M2)。
在当前和之前的条形图上。
如果它们是不同的,那就意味着存在交叉感染。
特殊情况是当其中一个差异=0时。

你可以这样做
if ((M1[0] - M2[0]) != 0)
{ 
   double R = 0;
   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);
   if ((M1[0] - M2[0]) * R < 0)
   {
      // Знаки разные, есть пересечение ..........
   }
}



(我自己没有检查过)

 
...是否有任何标准命令允许Expert Advisor<br / translate="no">看到平均线的交叉点。

没有一个标准的。
专家顾问能否像人一样看到交叉的时间。
是否有一个标准的函数或命令来处理这些事情?

很容易
...作为专家顾问应该看到的例子,并在这个信号上工作。

见iMAOnArray字典,甚至还有一个相交的例子
以防万一
   double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



2Sysadmin,"回车 "按钮又被隐藏了。 另外,据我所知,[pre]已经被[code]取代?

 
你为什么要做这个手术,它有什么作用?

   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);