Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1129

 

Por favor, dígame. Hay dos buffers con valores en el indicador.

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

Intentando obtener el valor del tercer buffer.

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

Nada.

¿Qué estoy haciendo mal?

Gracias.

 
Oleg Bondarev:

Por favor, dígame. Hay dos buffers con valores en el indicador.

Intentando obtener el valor del tercer buffer.

Nada.

¿Qué estoy haciendo mal?

Gracias.

Usted no recibe. Lo estás escribiendo.

 
Artyom Trishkin:

Usted no recibe. Lo estás escribiendo.

No lo entiendo.
 

Se asigna un valor a la tercera memoria intermedia. ¿"Y nada" es qué? )))

¿Cómo intenta obtener este valor?

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

Se asigna un valor a la tercera memoria intermedia. ¿"Y nada" es qué? )))

¿Cómo intenta obtener este valor?

Estoy asignando un cociente a partir de la división de los valores del segundo y primer búfer.

Se obtiene un búfer vacío.

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

Asigno el cociente de dividir los valores del segundo y primer búfer.

El búfer está vacío.

Tal vez no sea el búfer el que está vacío, sino el gráfico).

 
Oleg Bondarev:

Asigno el cociente de dividir los valores del segundo y primer búfer.

Se obtiene un búfer vacío.

Así es como funciona.

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

Así es como funciona.

Gracias, pero tengo una pregunta. Los topes que tengo son orientativos y se parecen.

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

¿Funcionará de esta forma?

 
Oleg Bondarev:

Gracias, pero tengo una pregunta. Mis topes son indicativos y tienen una vista.

¿Funcionará de esta forma?

El buffer es un array regular. Creo que estás escribiendo preguntas más largas de lo que podrías comprobar con un simple ejemplo. Todo lo que has escrito funcionará e incluso se puede simplificar.

Buf1[0]+=delta1;
Buf2[0]+=delta2;
 
Gracias a todos por su ayuda.
Razón de la queja: