Comunidad de expertos - página 6

 
¿Qué diferencia quieres encontrar? ¿Diferencia de matrices? Las matrices no se pueden sumar ni restar.
 
¿Qué diferencia quieres encontrar? ¿Diferencia de arrays? Así que no podemos sumar o restar arrays. Encuentra la diferencia elemento por elemento.


Es que no nos queda claro chukchi por qué dices que estamos tratando de restar arrays, lo hacemos como se muestra en el diccionario MKL4:


double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



Por favor, ¡aconsejen!

 
Gracias, Slava, por el consejo.

Este es el código con el error

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);
double ma_6C=iMAOnArray( ma_C, 0, 3*MA_period,0,MODE_SMA,1 );



Y aquí hay un trabajador

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);

 ma_6C=ma_C[1];

for(i=2; i<(3*MA_period); i++)
   {
      ma_6O+=ma_O[i];
      ma_6C+=ma_C[i];
   }

ma_6C/=(3*MA_period);
 
El tema ha sido trasladado a http://forum.viac.ru/viewtopic.php?t=2973
 
El tema ha sido trasladado a http://forum.viac.ru/viewtopic.php?t=2973
 
El tema ha sido trasladado a http://forum.viac.ru/viewtopic.php?t=2973
 
Una pregunta para los que conocen las profundidades de MKL4.

¿Existe algún comando estándar que permita al experto
para ver la intersección de las medias. Por ejemplo, una media del periodo 5 se cruza con una media
del periodo 20. ¿Puede el Asesor Experto ver como una persona el momento del cruce,
¿existe una función o comando estándar para este tipo de cosas?

La figura siguiente muestra la intersección de las medias roja y verde como
Es un ejemplo de lo que el Asesor Experto debe ver y trabajar en esta señal.
 
M1 - primer deslizamiento,
M2 es el segundo deslizamiento.

Tenemos que comparar los signos de las diferencias (M1 - M2)
en las barras actuales y anteriores.
Si son diferentes, significa que hay un cruce.
El caso especial es cuando una de las diferencias = 0.

Puedes hacerlo así
if ((M1[0] - M2[0]) != 0)
{ 
   double R = 0;
   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);
   if ((M1[0] - M2[0]) * R < 0)
   {
      // Знаки разные, есть пересечение ..........
   }
}



(no lo he comprobado)

 
...¿Existe algún comando estándar que permita al Asesor Experto<br / translate="no"> ver el cruce de medias.

no hay uno estándar.
¿Puede el Asesor Experto ver el tiempo de cruce como un humano,
¿existe una función o comando estándar para estas cosas?

Fácilmente
...como ejemplo de lo que el Asesor Experto debería ver y trabajar en esta señal.

ver el diccionario iMAOnArray, incluso hay un ejemplo con la intersección
por si acaso
   double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
   double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
   double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
   double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
   //----
   if(maprev<maprevslow && macurrent>=macurrentslow)
     Alert("crossing up");



2Sysadmin, el botón de "entrar" vuelve a estar oculto. Además, según tengo entendido, [pre] ha sido sustituido por [código]?

 
¿Por qué se somete a esta operación y para qué sirve?

   for (int i = 1; i < Bars && R == 0; i++)  R = (M1[i] - M2[i]);