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

 
Koldun Zloy #:

我只是想了解一下,如果这个人想学点东西,那么我就可以帮忙。

我有时也做同样的事情,因为有时会发生这样的情况:你做了一个演讲,你浪费了时间,但你没有听到TC的声音,或者他不感兴趣。

如果他回应了,这意味着他已经准备好进行讨论,然后你就开始讨论。

 
Vitaly Muzichenko #:

我有时也做同样的事情,因为有时会发生这样的情况:你只是想解释自己,你浪费了时间,但你没有听到TC的消息,或者他不感兴趣。

如果他回应了,这意味着他已经准备好进行讨论,然后你就开始讨论。

一些编程的新手已经很有辨识度了。而最常见的是,你可以看到这个人是想学习还是只是顺便问问......在这种情况下,我肯定是有这个愿望的。

 
Alexey Viktorov #:

一些新加入的编程人员已经很有辨识度了。而大多数情况下,你可以看到一个人是想学习还是只是顺便问问......在这种情况下,我肯定是有愿望的。

晚上好!我想再次向所有对我的问题作出建设性回应的人表示衷心的感谢。

我将尝试简单地说明自己的情况。相当于一个老人。仍在工作(不是在工厂,但仍在工作)。2020年10月,我已经开始了MQL5编程语言的自我培训。在我的空闲时间,我开发了一个多货币专家顾问,现在已经安装并在一个真实账户上工作。我不时 尝试编写新的专家顾问(只为自己)。有时我 "跌跌撞撞",因为我对许多事情缺乏了解。我并不声称自己是专业人士。基本上就是这样了。

而最重要的是如果一个人联系MQL4和MQL5的新手的任何问题,帮助和讨论算法和代码, 他真的希望得到帮助!!。

真诚的,弗拉基米尔。

 
MrBrooklin #:

而最重要的是如果一个人申请到分支任何来自MQL4和MQL5的初学者的问题,对算法和代码的帮助和讨论, 他真的希望得到帮助!!!。

真诚的,弗拉基米尔。

不幸的是,人们希望得到各种各样的帮助。你想了解和掌握所有编程的微妙之处,而有些人认为并要求你 "你给我写一个函数。然后我会想出它应该如何运作......"。我希望你明白,这样的人不会把它整理出来,而只是使用现成的代码,就像乐高积木一样......有时他们甚至无法用这些积木组装出可以使用的东西。他们可能会弄错顺序...

 

出现了一个问题。在例子中使用引用论证的意义(神圣)是什么(费多谢耶夫Dm.教科书)?

bool hyperbola(double x,double &r){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

通过在全局范围内声明r,可以对一个参数x进行处理。

double r;
////
bool hyperbola(double x){
if(x==0){
return(false);
}
r=1.0/x;
return(true);
}

如果参数在函数中被计算或得到一个值并作为结果传递,这就更有必要了。

比如说。

int FileOpenF(string File_NameArg,int &HandleArg)
  {
   HandleArg=FileOpen(File_NameArg,FILE_CSV|FILE_WRITE,";");//Открытие файла
   if(HandleArg==-1) // Неудача при открытии файла
     {
      Alert("Ошибка при открытии файла. ",File_NameArg,// Сообщение об ошибке
            "Возможно, файл занят другим приложением Handle= ",HandleArg);
     }
   return(HandleArg);
  }

关于神圣的含义的一些困惑))))

 

请帮助我完成这项任务--我需要知道今天有多少个分钟条。

任务是找出一周中 的前一天有多少条--如果今天是星期二,那么就看上个星期二。

同时,如果没有一周中的前一天,比如说是周末,那么我们就看前一天的情况。

如何做到这一点?

到目前为止,工作思路是这样的--我们定义当前的星期,然后寻找相同的星期,用它来定义条数,但也许有更优雅的东西?

 
Valeriy Yastremskiy #:

那我对神圣的意义感到困惑))))。

如果没有全局变量,一个函数就会更加自主,因此也就更加通用。例如,一个函数可以在代码中20个独立的地方进行类似的计算,可以理解的是,结果不应该堆积在一个共同的全局变量x中。也可以用一个更复杂的结构或类来代替一个变量,或者例如几个类和几个结构,或者一个数组,所以你 不应该把所有东西都分配给一个返回值。返回值往往不是用来返回计算结果,而是该计算的成功/失败。

 
Nikolay Ivanov #:

没有全局变量,该函数的自主性更强,因此用途更广。例如,一个函数可以在代码中的20个独立的地方进行类似的计算,当然,结果不应该堆积在一个全局变量x中。也可以用一个更复杂的结构或类来代替一个变量,或者例如几个类和几个结构,所以你 不应该把所有东西都放在一个返回值上。

为了把它弄出来(r),它仍然需要在范围或全局中声明。

double r;
if(hyperbola(DBL_MIN,r)){
Alert("1/DBL_MIN=",r);
}
else{
Alert("Неправильный аргумент для функции hyperbola()");
}
 
Valeriy Yastremskiy #:

要把它拿出来(r),你仍然需要在范围或全局中声明它。

是的,你事先准备好变量,全局或局部,并把它作为函数中的一个参数。但函数本身不会被绑定到这些为存储而创建的变量上。

 
Nikolay Ivanov #:

是的,你事先准备好一个变量,可以是全局的,也可以是局部的,然后把它作为函数中的一个参数。但函数本身不会被绑定到这些为存储而创建的变量上。

问题不是关于这个。迪米特里的函数返回的不是一个参数的引用。为什么要使用引用的参数?是的,局部地区将能够在自己的地方声明一个变量,并在函数被调用后获得对该变量的响应。

就这样吗?

原因: