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

 

He buscado por todo el foro, no he podido encontrar una forma de calcular automáticamente el desplazamiento de las flechas/iconos en el indicador (cuando se cambia el TF hay que ajustar el desplazamiento), pero sé que hace unos meses alguien publicó una función preparada

POR FAVOR! )))

 
Igor Makanu:

He buscado por todo el foro, no he podido encontrar una forma de calcular automáticamente el desplazamiento de las flechas/iconos en el indicador (cuando se cambia el TF hay que ajustar el desplazamiento), pero sé que hace unos meses alguien publicó una función preparada

POR FAVOR! )))

¿Esto?

Как увеличить размер Wingdings-символа?
Как увеличить размер Wingdings-символа?
  • 2018.09.09
  • www.mql5.com
Смотрю я на свойства. Нет там, вроде бы, нужного...
 
Artyom Trishkin:

¿Esto?

¡guay!

ZS: Una cosa que no entiendo es por qué busqué durante unos 20 minutos y creí recordar que Vitaly lo había publicado (busqué en sus posts), pero tú lo encontraste y yo no (((((

 
Igor Makanu:

¡guay!

ZS: No entiendo una cosa, por qué busqué durante 20 minutos y recordé con seguridad que Vitaly lo publicó (busqué entre sus posts), pero tú lo encontraste y yo no (((((

El rompecabezas sólo abre: el bloc de notas y un archivo llamado "Utilidad". Lo que veo que puede ser útil para alguien en algún lugar, y no es trivial, escribo el enlace a la publicación y una breve descripción. Ha sido así durante años... Estamos aquí para ayudar a la gente, no sólo para "cuidar" el orden

 
Ghabo:

Gracias. Mis músculos no son suficientes) No es difícil fijar el momento en que el color rojo cambia a azul, pero cómo saber que en ese momento, la línea azul está cubierta por el negro, no tengo ni idea. ¿Qué condición hay que añadirle:-

para excluir la señal cuando la barra cruza la línea negra? En tu captura de pantalla cuenta el último cruce hacia arriba y no cuenta el cruce de las tres barras anteriores.

Es más fácil, mientras las barras se cierran por encima de la línea EMA(21), se escriben en un buffer (azul), por debajo se escriben en otro (rojo). Para excluir la señal de los cruces de esta línea, al menos dos barras seguidas deben cerrarse al alza o a la baja.
Para el código sería lo siguiente:

        bool
        b = false,
        s = false; //обе эти переменные должны быть объявлены за пределами всех блоков программы

        BUY_1=NormalizeDouble(iCustom(NULL,0,"4X Pip Snager Trend",1,1),Digits);
        
        if(BUY_1 != EMPTY_VALUE)
          {
                // первичный вход в этот блок означает, что 1 бар закрыт выше линии, но действие при этом не выполняется т. к. b == false (либо изначально, либо было сброшено в блоке else)
                // вторичный и все последующие подряд входы в этот блок означают, что, как минимум 2 бара подряд закрыто выше линии и действие будет выполнятся т. к. в предыдущем входе b присвоено значение true
                if(b)
                  {
                // ДЕЙСТВИЕ ДЛЯ СИНЕЙ ЛИНИИ
                  }     
                b = true;
                s = false;
          }
        elae
          {
                // аналогично, как и в блоке выше
                if(s)
                  {
                // ДЕЙСТВИЕ ДЛЯ КРАСНОЙ ЛИНИИ
                  }
                b = false;
                s = true;
          }
 
Igor Makanu:

¡guay!

ZS: una cosa que no entiendo es por qué busqué durante 20 minutos y creí recordar que Vitaly lo había publicado (busqué en sus posts), pero tú lo encontraste y yo no (((((

Pero este método no tiene en cuenta el desplazamiento del gráfico por parte del usuario, que es el objetivo. Ponga el indicador en un período volátil y luego desplácese a un período plano, o viceversa.
En ese sentido, tiene más sentido basarse en algunos datos de ATR para calcular la distancia.
Si no quiere seguir el desplazamiento del gráfico por parte del usuario para reordenar todas las flechas en función de los nuevos precios extremos del gráfico.

 
He aquí un ejemplo basado en un fractal. He hecho 2 topes adicionales. Para el fractal es innecesario, ya que puede utilizar el precio de las velas como referencia, pero para su tarea esta variante puede ser necesaria.
Archivos adjuntos:
 
Nikolay Khrushchev:
He aquí un ejemplo basado en un fractal. Hice 2 topes adicionales. Para un fractal, es redundante porque se puede referir simplemente al precio de una vela. Pero esta variante puede ser útil para su tarea.

Gracias.

Sí, de hecho tengo una tarea mucho más simple - firmo unos 30 nodos ZigZag con números de nodo, sin etiquetas de texto en la historia más adelante


Artyom Trishkin:

El rompecabezas se abre simplemente: el bloc de notas y el archivo con el nombre "Utilidad". Lo que veo que puede ser en alguna parte útil para alguien, y no es trivial - pongo un enlace al post y una breve descripción. Ha sido así durante años... Estamos aquí para ayudar a la gente, no sólo para "cuidar" el orden

persuadido, en la utilidad KB para llenar, no decir que lo siento, por lo que no comparten, sólo acompañar a sus códigos, no estoy seguro de que lo haré, y discutir qué y cómo ya cansado

ZS: de los interesantes y listos, alrededor del 98%:

1 . el acceso a los vértices de ZigZag como una matriz de estructuras (lista dinámica y sobrecarga de operadores [] ), todo parece volar y es muy conveniente que se escriba ZZ[2].precio... ZZ[i]. up = true

2. segundo gráfico mediante MT4

fuera de esto (1-2), ¿hay algo interesante para el foro? - o es como en todas partes, danos un código 100% listo, no haremos nada por nuestra cuenta ((((

 
Igor Makanu:

Gracias.

Sí, de hecho tengo una tarea mucho más fácil - firmo unos 30 vértices ZigZag con números de vértice, sin etiquetas de texto en la historia más adelante


persuadido, en la utilidad KB para llenar, no decir que lo siento, por lo que no comparten, sólo acompañar a sus códigos, no estoy seguro de que lo haré, y discutir qué y cómo ya cansado

ZS: de los interesantes y listos, alrededor del 98%:

1 . el acceso a los vértices de ZigZag como un array de estructuras (lista dinámica y sobrecarga de operadores [] ), todo parece volar y es muy conveniente que escribas ZZ[2].precio... ZZ[i]. up = true

2. segundo gráfico mediante MT4

fuera de esto (1-2), ¿hay algo interesante para el foro? - o es como en todas partes, danos un código 100% listo, no haremos nada por nuestra cuenta ((((

Pues bien, de cada código se puede obtener algo útil y a veces incluso insólito.

Codebase está diseñado para este propósito, no para lo que dos personas hagan con él.

P.D. Esto me da una buena idea, tendré que reescribirlo a un array de estructuras también, por alguna razón no lo había pensado antes.
 
Vitaly Muzichenko:
P.D. Esto me ha dado una buena idea, debería reescribirlo en la matriz de estructura también, nunca lo había pensado.

La estructura array es un poco más simple, pero la funcionalidad es menor, lo hice a través de listas dinámicas CList - la implementación es bastante simple, pero es difícil acostumbrarse a trabajar con punteros en MQL, voy a tratar de finalizar el código y publicarlo en KB

Razón de la queja: