OrderSend()函数中的一个错误? - 页 4

 
hoz:
嗯,是的,我在视觉模式下做,看...那么它可能无法正确显示什么呢?毕竟,如果你在手表上或H4上滚动演示的TS,它可能会越冬几年:) .....:)这真让人无奈。

好吧,可视化工具似乎显示,但可能会错过一些东西,一般来说,你不能相信它或不相信所有的算法,它准确地描绘了正在发生的事情,最好是在演示中平行观察,圣杯 不是一天就能诞生的......。

P.S. 我写所有的想法主要是为了H1,但在Demo上比解决测试员的困惑要快...

 
hoz:

已经完成。我还增加了一点缩进变量,我们去....。我想这并不总是能够通过眼睛来判断。

我想知道,除了性能之外,lastBarTime 变量的全局化还会有什么影响?它的类型是静态的,这意味着该变量在程序的整个生命周期中存储其值...

还有一件有趣的事。如果我仍然在各种功能中使用魔杖,那么我在一开始就一次性宣布它是正确的吗?或者说,由于资源的消耗,在每一个tick上获取数值是不太合理的?


局部变量 是在一个函数中声明的变量。局部变量的范围是函数的主体,该变量在其中被声明。一个局部变量可以由一个常量或表达式初始化,与它的类型相对应。

全局变量 是一个在所有函数之外声明的变量。全局变量的范围 是整个程序。全局变量在任何级别上都没有被本地化。一个全局变量只能通过与其类型相对应的常量来初始化(但不能通过表达式)。全局变量在执行特殊函数之前被初始化一次。

如果程序中的控制权在一个函数内,在另一个函数中声明的局部变量的值是不可用的。任何全局变量的值都可以从任何特殊和用户函数中获得。

 
比这更简单。静态在MQL4中不起作用。
 
tara:
比这更简单。静态在MQL4中不起作用。

多久以前?
 
对不起,它根本就没有用。从C的开始:(
 
tara:
对不起,它根本就没有用。从C的开始:(
有没有其他程序员可以证实这一点?一张票是不够的。
 
tara:
比这更简单。静态在MQL4中不起作用。
我见过多少专业人士写的代码,他们的静态经常出现。但你说它不起作用。我现在应该相信什么?:(
 
hoz:
我见过多少由专业人士编写的代码,它们往往有静态的。而你却说它不起作用。现在该相信谁呢?:(
你不能相信任何人。
 
tara:
对不起,完全不工作。从C的开始:(

就个人而言,我从来没有遇到过不工作的statik。

这里有一个专家的例子,你要在图上检查一下。

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   static int cc=20;
   Print("cc = ",cc);
   cc++;
   
   return(0);
  }
 

静态的效果是100%。这里有一个测试。

int start()
  {
   static int i=0;
   while(i<3) {Print("K=",test());i++;}
   return(0);
  }
int test()
 {
  static int k=0;
  k++;
  return(k);
 }

而结果是。

靜態