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

 
大家好,问题是这样的。
我正在和马丁做一个造网者,但不是一次一个,而是一般的(所有的订单和网格都作为信号打开,不是一次一个)!我遇到了一个问题....,当一个订单或其网格触发时,一切都很正常,但当一个订单或其网格打开后,在同一时间(或稍后)另一个订单及其网格打开时,马丁开始继续第一个网格的工作!这是不可能的。可能是什么问题?
 
Artyom Trishkin:

好的。但我只能在闲暇时看看--工作、家、家庭、猫和孩子/孙子。岳母,是的...

是的,猫...

我今天去了一个地方,去做一个垃圾。

一个美丽的苏格兰小女孩,喜欢仰卧睡觉 :)

 
Artyom Trishkin:

好吧,看看代码--维塔利直接发布了它

我的问题与维塔利的代码没有关系。现在我自己想明白了......原来是库中的代码控制了重新计算的深度本身。也就是说,第一次运行会重新计算整个缓冲区,而在随后的运行中则是恰到好处......这就是我想听你说的。我就是这样懒惰。询问比自己想办法更容易......但有时我必须............。

 
Alexey Viktorov:

我的问题与维塔利的代码没有关系。现在我自己想明白了......原来是库中的代码控制了重新计算的深度本身。也就是说,第一次运行会重新计算整个缓冲区,而在随后的运行中则是恰到好处......这就是我想听你说的。我就是这样懒惰。询问比自己想办法更容易......但有时我必须............。

所以,维塔利的代码复制了你所问的SB的这个功能--一切都在明处--看一眼就足以理解你问题的答案。

 
Artyom Trishkin:

因此,Vitaly的代码复制了你所问的SB的这个功能--一切都在明处--只要看一眼就能明白你的问题的答案。

你看到原作中的细微差别了吗?

 
Vitaly Muzichenko:

你看到原作有多艰难了吗?

我并没有真正比较。在我看来,这两个文件中都有微小的问题。而且逻辑一点也不清楚--当条件为空,用空值填充缓冲区时,就会从条件的括号中取出。好吧,我的工作是让它达到A。我不在乎它是如何运作的--让它像现在这样。

 
Artyom Trishkin:

我没有做过什么比较。我认为这两个文件中都是一团糟。而且逻辑一点也不清楚--当条件为空,用空值填充缓冲区时,就会从条件的括号中取出。好吧,我的工作是让它达到A。我就不说了,就这样吧。

我的任务是从这段代码中理解如何替换iMAOnArray

也就是说,尽可能少地修改现有的代码,并让
 
Artyom Trishkin:

因此,在维塔利的代码中,这个功能是从你所问的SB中复制出来的--一切都在明处--只需看一眼 就能明白你问题的答案。

好吧,你抓住了......我不知道该怎么做。我必须在理解的基础上彻底浏览所有的代码。

 
Vitaly Muzichenko:

我的任务是了解如何在这段代码中替换iMAOnArray

也就是说,对现有的代码进行尽可能少的修改,并利用它来

试图理解这个问题,我看到以下情况。

在你的代码中是这样说的

buf_3[i] = iMAOnArray(Array_1, 0, per, 0, MODE_SMMA, i);

以及在文件中

double  iMAOnArray( 
   double       array[],          // массив 
   int          total,            // количество элементов 
   int          ma_period,        // период 
   int          ma_shift,         // сдвиг средней 
   int          ma_method,        // метод усреднения 
   int          shift             // сдвиг 
   );
阵列中的iMAOnArray

共计

[in] 要计算的元素的数量。0表示数组的所有元素

事实证明,每次调用该函数时,整个数组都要重新计算。这正是我问Artem的问题......但事实证明,mql5提供了加速的一切,而在mql4中你必须自己处理。但我没有看到任何关于如何正确操作的信息。


至于以最小的改动重做,你错了。把算法拿出来重做更容易。

 

下午好,请帮助我了解...

   HighForFutureSession=MathMax(high[rates_total-1],high[rates_total-2]);

MathMax返回两个数值的最大值,即它从两个相同的数组high[rate_total]中返回最大的数值,其差值为-1和-2条?

简单地说:在第一个数组12345和第二个数组1234中,函数将返回5?

原因: