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

 
double func(double x1=0, double x2=0, ну и далее сколько надо аналогично, double x20=0)
{
   double s=0; int k=0;
   if(x1 != 0) { s+=x1; k++; }
   if(x2 != 0) { s+=x2; k++; }
ну и далее сколько надо аналогично
   if(x20 != 0) { s+=x20; k++; }
   if(!k)return 0;

   double rez=s/k;
   Alert("Количество = ", k, "   Результат = ", rez);
   return rez;
}
 
STARIJ:
在这种情况下,不能计算所有传输值的平均值
 
Artyom Trishkin:

如果事先不知道集合和数字的数量,那么每一个新的集合就没有足够的函数。

我看到又有很多误解了。

关于交易、自动交易系统和策略测试的论坛

新手对MQL4的任何问题,对算法和代码的帮助和讨论

罗曼-罗特, 2018.01.05 11:56


我需要向一个函数传递几个参数,但在不同的情况下,我需要传递不同的数量,事先知道的
然后在函数中处理这些参数

例如,在C语言中,它是这样实现的

int func(int a, int b, ...)
而我们像往常一样与心灵感应俱乐部的成员竞争......
 
Alexey Viktorov:

在我看来,又出现了很多混乱的情况。

和往常一样,我们正在与心灵感应俱乐部的成员竞争......
好吧,说实话,我还是不明白手头的任务。很多公约都是抽象的,你自己是不会猜到的。
如果事先知道这些数字,那是一回事。没有人知道有多少,这决定了解决问题的方法。
 
Alexey Viktorov:

在我看来,这一切又是误解的结果。

而我们像往常一样与心灵感应俱乐部的成员竞争...

我个人将完成我的咖啡,尝试猜测咖啡渣,和代码(或至少是一块),因为这样我们似乎没有看到,所以,它是更清晰的舞蹈=)

 

有事发生了...

void OnTick()
  {
     int num = MathRand()%10+1;
     double bars[];
     if( CopyOpen( Symbol(), 0, 0, num, bars ) == num )
          func((int)SymbolInfoInteger(Symbol(), SYMBOL_DIGITS), bars);
  }

int func(int digit, double &array[])
  {
     int num = 0;
     for(int i=0; i<ArraySize(array); i++)
     {
          /* что-то делаем */
     }
     return(num);
  }

虽然很久以前就向你提供了这个选择,但也许知名度会有帮助。

 

大家好。请你告诉我可能是什么问题。

我在MT4测试器中测试一个专家顾问,从Alpari网站下载。昨天一切正常,但今天MetaEditor突然停止编译代码(不启动编译过程)。

点击编译按钮后,什么也没有发生。按钮保持在压低状态。我试图关闭编辑器......光标变成了一个时钟,编辑器说没有反应,但编辑器没有关闭。即使通过任务管理器,它也不会关闭。重新启动计算机--一切都完全一样。

我从Alpari网站安装了另一个终端,并打开了MetaEditor。试图编译内置的EA。这也是....它在编译时不会出现错误。编辑器冻结了。

我在使用XP操作系统。

谢谢你的帮助。

 

XP,或爱称Hrusha,是过去的事情了。需要在新电脑、新操作系统、新思维方面进行新的投资

 
STARIJ:

XP,或爱称Hrusha,是过去的事情了。需要在新电脑、新操作系统、新思维方面进行新的投资

但为什么昨天它编译得很好。今天,它停止了。我还没有更新终端。我甚至没有连接到服务器,我也没有。
 

问候。你能告诉我如何创建 一个图形对象(如mt4终端内置的斐波那契水平),该对象由一组图形对象(如线、圆等)组成。

原因: