[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 57

 
有两个功能。
// заполняет массив фракталами, найденными в пределах заданного количества баров
double FractalsUP[], FractalsDN[];
void FractalsMassive(string symb, int timeframe, int bars)
 {
  int fr, frtUP=0, frtDN=0;
  for(fr=3; fr<=bars; fr++)
   {
    if(iFractals(symb,timeframe,MODE_UPPER,fr)>0)
     {
      ArrayResize(FractalsUP,frtUP+1);
      FractalsUP[frtUP]=iFractals(symb,timeframe,MODE_UPPER,fr);
      frtUP++;
     }
    if(iFractals(symb,timeframe,MODE_LOWER,fr)>0)
     {
      ArrayResize(FractalsDN,frtDN+1);
      FractalsDN[frtDN]=iFractals(symb,timeframe,MODE_LOWER,fr);
      frtDN++;      
     }
   }
 }
double ExtremeFractalUP(double& fractalup[])
 {
  int masrange, efup;
  masrange=ArrayRange(fractalup,1);
  
  for(efup=0; efup<masrange; efup++)
   {
    if(fractalup[efup]>fractalup[efup+1])
     {
      return(fractalup[efup]);
     }
    else continue;
   }  
 }

在EA中尝试编译时出现 "FractalsUP - 不兼容的类型 "错误。

   FractalsMassive(Symbol(),0,100);
   double extr=ExtremeFractalUP(FractalsUP[]);

如果有的话,函数和声明的数组都存储在include文件中。

 
silhouette:
我在写作前阅读了教科书,我看到了下划线,但在实践中我无法实现它 - 它说的是不兼容的类型。


我看到一个通过引用传递 数组元素值参数 的工作实例(带&前缀)。

 
silhouette:
有两个功能。

当试图在EA中编译时,出现错误 "FractalsUP - 不兼容的类型"。

如果有的话,函数和声明的数组都存储在include文件中。


上帝保佑,这应该是可行的。至少它的编译没有错误。

int start()
{
 double FractalsUP[], FractalsDN[];
 ExtremeFractalUP(FractalsUP);// Передаем ссылку на один массив
 ExtremeFractalUP(FractalsDN);// Передаем ссылку на другой массив
}
//
double ExtremeFractalUP(double& fractalup[]) // В параметрах указываем что будет передаваться ссылка на массив
 {
  int masrange, efup;
  masrange=ArrayRange(fractalup,1);
  
  for(efup=0; efup<masrange; efup++)
   {
    if(fractalup[efup]>fractalup[efup+1])
     {
      return(fractalup[efup]);
     }
    else continue;
   }  
 }
 
Sepulca:


上帝保佑,这应该是可行的。至少它的编译没有错误。

谢谢你的帮助,原则问题似乎已经解决了。
 

亲爱的程序员们,你们好!

你能告诉我,我做错了什么吗?

我有一个int类型的外部变量,在程序中它应该设置双倍类型的 数组中有多少个元素。

我是按照下面的方法做的,但是编译器还是产生了错误,我已经试着写了一个双倍类型的外部变量,但是我还是得到了错误。

请告知。

extern int       max_count=4;

int start()
{
   static double A[max_count];

误区

 
SvSerg:

亲爱的程序员们,你们好!

你能告诉我我做错了什么吗?

我有一个int类型的外部变量,在程序中它应该设置双倍类型的数组中有多少个元素。

我是按照下面的方法做的,但是编译器还是产生了错误,我已经试着写了一个双倍类型的外部变量,但是我还是得到了错误。

请告知。

用一个明确的双A[4]的值初始化数组

然后用ArrayResize()调整其大小。

 
artmedia70:

用一个明确的双A[4]的值初始化数组。

然后用ArrayResize()调整其大小。



谢谢你!

我在想,如果我们初始化一个空数组double A[];,那么通过循环就可以放多少就放多少?

我对新的问题表示歉意,但数组对我这个初学者来说是个麻烦。

 
SvSerg:


谢谢你!

我想,如果你初始化一个空数组double A[];,那么你可以通过循环把多少个数组放入其中,对吗?

我对新的问题表示歉意,但数组对我这个初学者来说是个麻烦。

你可以在任何数组中塞入你需要的内存,主要的是不要忘记调整它的大小。特别是当数组是空的时候。
 
artmedia70:
只要你记得调整它的大小,任何数组都可以填满它所需要的内存。特别是当数组是空的时候。


再次感谢!很遗憾,你不能给我一个+。
 

下午好!

亲爱的程序员!你需要写一个专家顾问

可提供的描述。

条件是什么?有什么保证?

问候,马克西姆。