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

 

请告诉我。有两个缓冲区的数值在指标中。

Buf1[0]=12.00000;
Buf2[0]=0.00045;

试图获得第三个缓冲区的值。

Buf3[0]=Buf2[0]/Buf1[0];

没有什么。

我做错了什么?

谢谢你。

 
Oleg Bondarev:

请告诉我。有两个缓冲区的数值在指标中。

试图获得第三个缓冲区的值。

没有什么。

我做错了什么?

谢谢你。

你没有收到。你在写下它。

 
Artyom Trishkin:

你没有收到。你在写下它。

我不明白。
 

你给第3个缓冲区分配一个值。"没有什么 "是什么?)))

你是如何试图获得这个价值的?

 
Сергей Таболин:

你给第3个缓冲区分配一个值。"没有什么 "是什么?)))

你是如何试图获得这个价值的?

我正在分配一个由 第二和第一缓冲区的值除以 的商数。

获得一个空的缓冲区。

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Операция инкремента и декремента применяются только к переменным, к константам не применяются. Префиксныe инкремент (++i) и декремент (--k) применяются к переменной непосредственно перед использованием этой переменной в выражении. Могут возникнуть вычислительные проблемы при переносе вышеуказанного выражения из одной среды программирования в...
 
Oleg Bondarev:

我把第二个和第一个缓冲区的值除以商 数。

缓冲区是空的。

也许不是缓冲区空了,而是图形空了?)

 
Oleg Bondarev:

我把第二个和第一个缓冲区的值除以商 数。

获得一个空的缓冲区。

这就是它的作用。

void OnStart()
{
   double   Buf1[];
   double   Buf2[];
   double   Buf3[];
   
   ArrayResize(Buf1,1);
   ArrayResize(Buf2,1);
   ArrayResize(Buf3,1);
   
   Buf1[0]=12.00000;
   Buf2[0]=0.00045;
   
   Buf3[0]=Buf2[0]/Buf1[0];
   
   ArrayPrint(Buf3);
}
2020.04.18 21:19:09.970 test (EURUSD,H1)        0.00004
 
Сергей Таболин:

这就是它的作用。

谢谢你,但我有一个问题。我手上的缓冲器是指示性的,看起来像。

Buf1[0]=Buf1[0]+delta1;
Buf2[0]=Buf2[0]+delta2;

在这种形式下,它是否能发挥作用?

 
Oleg Bondarev:

谢谢你,但我有一个问题。我的缓冲区是指示性的,有一个观点。

在这种形式下,它是否能发挥作用?

缓冲区是一个普通的数组。 我想你写的问题比你用一个简单的例子所能检查的要长。你所写的一切都会有效,甚至可以简化。

Buf1[0]+=delta1;
Buf2[0]+=delta2;
 
谢谢大家的帮助!
原因: