El lienzo es genial. - página 21

 
Nikolai Semko:

Sí, hubo un pequeño inconveniente. Lo he arreglado.

Gracias.

Por favor, ¿has rehecho el último archivo?

Oh, ya veo, sí, ¡todo está bien ahora!
 
Nikolai Semko:

Para ilustrar la velocidad...

Cambio de dos parámetros a través del puntero del ratón

X - cambios en el periodo máximo de MA

Y - paso del periodo МА cambiando


Nikolay, sólo por interés: ¿Qué sentido tienen esos indicadores? Entiendo que es un ejemplo, entiendo que no es para comerciar, pero ... El indicador debe permitir recibir sus datos desde el exterior. Por lo demás, es una imagen preciosa. Y el ámbito de aplicación de los indicadores sin recibir sus datos se reduce enormemente.

Sería más interesante crear métodos para devolver los datos de dichos indicadores.

 
Artyom Trishkin:

Nikolay, sólo por interés: ¿qué sentido tienen esos indicadores? Entiendo que es un ejemplo, entiendo que no es para comerciar, pero ... El indicador debe permitir recibir sus datos desde el exterior. Por lo demás, es una imagen preciosa. Y el ámbito de aplicación de los indicadores sin recibir sus datos es muy estrecho.

Una pista sobre la creación de métodos para dar datos de tales indicadores - eso sería más interesante.

Hay un gran problema para encontrar la forma de enviar los datos de los indicadores "kanvas". Veo muchas variantes.

Además, el 99,9% de las operaciones reales sólo requieren los valores del cero y de la primera barra. ¿Es realmente un problema pasar estos valores? ¿Cuál es el problema de poner los datos del indicador en un array o en un buffer? También hay recursos disponibles.

Este ejemplo fue demostrado con un propósito: - Demostrar que la implementación de indicadores a través de canvas es rápida, mucho más rápida que los métodos clásicos. Y es una flexibilidad absoluta.

Además, la gran pregunta es: "¿realmente necesito tomar datos del indicador?

Si tengo mi propio indicador único, necesito el indicador sólo para la visualización. ¿Qué sentido tiene calcular los valores del indicador para las barras que están fuera de la ventana? Lo encuentro absolutamente innecesario. Pero si necesito los valores del indicador para el algotrading, ¿no sería más fácil integrar el cálculo del indicador en el cuerpo de un búho a través de una instancia de una clase.

 
Nikolai Semko:

Establecer formas de dar datos de los indicadores "canva" no es un gran problema. Veo muchas opciones.

Además, para el comercio real en el 99,9% de los casos sólo se necesitan los valores de cero y de la primera barra. ¿Es realmente un problema pasar estos valores? ¿Cuál es el problema de poner los datos del indicador en un array o en un buffer? También hay recursos disponibles.

Este ejemplo fue demostrado con un propósito: - Demostrar que la implementación de indicadores a través de canvas es rápida, mucho más rápida que los métodos clásicos. Y es una flexibilidad absoluta.

Además, la gran pregunta es: "¿realmente necesito tomar datos del indicador?

Si tengo mi propio indicador único, necesito el indicador sólo para la visualización. ¿Para qué sirve el cálculo de los valores de los indicadores de las barras fuera de la ventana? Creo que es absolutamente innecesario. Pero si necesito los valores del indicador para el algotrading, ¿no sería más fácil integrar el cálculo del indicador en el cuerpo del búho?

Estoy de acuerdo. Pero hay una categoría de usuarios que lo necesitan de manera diferente.

¿Pero qué pasa si el indicador canva devuelve más de 512 datos? Los topes no ayudarán aquí. Y los usuarios sólo quieren obtener datos de indicadores en sus programas. Y no quieren incrustarlas en el cuerpo del Asesor Experto (me ahorraré un búho - que vuele sin cascabeles en ...). Y quieren recibir datos sobre cualquier barra que se solicite, no sólo sobre las visibles. Y esto está justificado. Y se justifica no sólo por la pereza y el deseo de que todo sea fácil y sencillo, sino también por las exigencias del TS.

 
Artyom Trishkin:

Estoy de acuerdo. Pero hay una categoría de usuarios que lo necesitan de forma diferente.

¿Qué pasa si los datos devueltos por el indicador de lona superan los 512? Los topes no ayudarán en este caso. Y los usuarios sólo quieren obtener datos de indicadores en sus programas. Y no quieren incrustarlas en el cuerpo del Asesor Experto (me ahorraré un búho - que vuele sin cascabeles en el ...). Y quieren recibir datos sobre cualquier barra que se solicite, no sólo sobre las visibles. Y esto está justificado. Y se justifica no sólo por la pereza y el deseo de que todo sea fácil y sencillo, sino también por las exigencias del TS.

Si hablamos de la gran mayoría de usuarios que no son programadores, necesitan el búho o el indicador. No necesitan un indicador para el búho.

Sólo he dado algunos datos para reflexionar, no estoy imponiendo nada. Dejemos que los programadores decidan por sí mismos lo que es conveniente y lo que no. Sin embargo, personalmente dudo que vaya a utilizar la función iCustom en mis EAs.

 
Nikolai Semko:

Establecer formas de dar datos de los indicadores "canva" no es un gran problema. Veo muchas opciones.

Además, para el comercio real en el 99,9% de los casos sólo se necesitan los valores de cero y de la primera barra. ¿Es realmente un problema pasar estos valores? ¿Cuál es el problema de poner los datos del indicador en un array o en un buffer? También hay recursos disponibles.

Este ejemplo fue demostrado con un propósito: - Demostrar que la implementación de indicadores a través de canvas es rápida, mucho más rápida que los métodos clásicos. Y es una flexibilidad absoluta.

Además, la gran pregunta es: "¿realmente necesito tomar datos del indicador?

Si tengo mi propio indicador único, necesito el indicador sólo para la visualización. ¿Para qué sirve el cálculo de los valores de los indicadores de las barras fuera de la ventana? Creo que es absolutamente innecesario. Si necesito los valores del indicador para el algotrading, ¿no es tan sencillo integrar el cálculo del indicador en el cuerpo del búho a través de la instancia de la clase?

En mi opinión, los indicadores también deberían escribirse a través de una instancia de la clase. Entonces será posible hacer un indicador o un Asesor Experto refiriéndose a esta clase. Tengo una de estas clases en mi colección. Me ha gustado mucho.

 
Nikolai Semko:

Para ilustrar la velocidad...

Cambio de dos parámetros a través del puntero del ratón

X - cambios en el periodo máximo de MA

Y - paso del periodo de MA


Bien hecho, Nikolay. Así se hace.

 
Alexey Viktorov:

En mi opinión, los indicadores también deberían escribirse a través de una instancia de la clase. Entonces será posible hacer un indicador o un Asesor Experto refiriéndose a esta clase. Tengo una de estas clases en mi colección. Me ha gustado mucho.

Estoy de acuerdo.
 
Por cierto, otra buena ventaja de utilizar los indicadores de canva es el hecho de que el código es casi multiplataforma.
 
Реter Konow:

Bien hecho, Nikolai. Así se hace.

Observa, Peter, cómo he implementado un multigradiente de 6 colores.

uint Grad(double p)
  {
   static uint Col[6]={0xFFFF0000,0xFFFF00FF,0xFF0000FF,0xFF00FFFF,0xFF00FF00,0xFFFFFF00};
   p=p*5;
   int n=(int)p;
   if(n==5) return Col[5];
   double k=1-p+(int)p;
   argb c1,c2;
   c1.clr=Col[n];
   c2.clr=Col[n+1];
   return ARGB(255,c2.c[0]+uchar(k*((int)c1.c[0]-(int)c2.c[0])+0.5),
               c2.c[1]+uchar(k*((int)c1.c[1]-(int)c2.c[1])+0.5),
               c2.c[2]+uchar(k*((int)c1.c[2]-(int)c2.c[2])+0.5));
  }

Donde p cambia de 0 a 1.

ZS Pero hay un problema con el color más externo, que aún no he podido arreglar.