Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1129

 

Bitte sagen Sie es mir. Es gibt zwei Puffer mit Werten im Indikator.

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

Ich versuche, den Wert des dritten Puffers zu ermitteln.

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

Nichts.

Was mache ich falsch?

Ich danke Ihnen.

 
Oleg Bondarev:

Bitte sagen Sie es mir. Es gibt zwei Puffer mit Werten im Indikator.

Ich versuche, den Wert des dritten Puffers zu ermitteln.

Nichts.

Was mache ich falsch?

Ich danke Ihnen.

Sie erhalten keine. Sie schreiben es auf.

 
Artyom Trishkin:

Sie erhalten keine. Sie schreiben es auf.

Das verstehe ich nicht.
 

Sie weisen dem 3. Puffer einen Wert zu. "Und nichts" ist was? )))

Wie versuchen Sie, diesen Wert zu erhalten?

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

Sie weisen dem 3. Puffer einen Wert zu. "Und nichts" ist was? )))

Wie versuchen Sie, diesen Wert zu erhalten?

Ich weise einen Quotienten aus der Division der Werte des zweiten und ersten Puffers zu.

Sie erhalten einen leeren Puffer.

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

Ich weise den Quotienten aus der Division der Werte des zweiten und ersten Puffers zu.

Der Puffer ist leer.

Vielleicht ist nicht der Puffer leer, sondern das Diagramm?)

 
Oleg Bondarev:

Ich weise den Quotienten aus der Division der Werte des zweiten und ersten Puffers zu.

Sie erhalten einen leeren Puffer.

So funktioniert es.

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
 
Сергей Таболин:

So funktioniert es.

Ich danke Ihnen, aber ich habe eine Frage. Die Puffer, die ich habe, sind indikativ und sehen so aus.

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

Wird es in dieser Form funktionieren?

 
Oleg Bondarev:

Ich danke Ihnen, aber ich habe eine Frage. Meine Puffer sind indikativ und haben einen Ausblick.

Wird es in dieser Form funktionieren?

Der Puffer ist ein reguläres Array. Ich glaube, Sie schreiben längere Fragen, als Sie mit einem einfachen Beispiel überprüfen können. Alles, was Sie geschrieben haben, wird funktionieren und kann sogar vereinfacht werden.

Buf1[0]+=delta1;
Buf2[0]+=delta2;
 
Ich danke Ihnen allen für Ihre Hilfe!