[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 192

 

Se llama a NewBar(); pero si miras lo suficiente, no te complicarás las cosas :)

 

newbar https://book.mql4.com/ru/variables/arrays

Conceptualmente, no es diferente.

void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }

 
splxgf:

newbar https://book.mql4.com/ru/variables/arrays

Conceptualmente, no es diferente.


No conceptualmente, pero no funcionará - lo siento.
 
Sobre el indicador ADX se ha escrito mucho, pero hay una característica que me gustaría tener en cuenta, aquí en short....Y puede hacer que las barras se coloreen en este algoritmo: si el valor actual del ADX es mayor que el anterior y + (línea del plus) por encima de la línea del menos, la barra se pinta en verde, pero si el valor actual del ADX es menor que el valor anterior, la barra se pinta en gris (entonces no importa dónde esté la línea del plus), y finalmente si el valor actual del ADX es mayor que el anterior y - (línea del menos) por encima de la línea del plus, la barra se pinta en rojo. O, si quisiera cambiar el valor del ADX, podría simplemente establecerlo en un valor por encima del cual no se dibujarán las flechas.
 
splxgf:
double OpenBar=0; 
 
int start()
   {
    //Проверка на начало нового бара
    if (OpenBar==Time[0]) return; else OpenBar=Time[0];
   }

¡Yo no jugaría con una variable como el doble aquí! Necesitas más memoria. ;)))

¿Y cuando se produce la conversión del tipo int al tipo objetivo double, entiendo, no habrá dígitos extra después del punto decimal? Personalmente no me he encontrado con estos casos. Pero vale la pena preguntar.


tara:

Conceptualmente - nada, pero no funcionará, lo siento.
¿Qué código no funciona y por qué?
 

En el que has citado faltan algunas barras.

 
tara:

En el que has citado faltan algunas barras.


Proponga su propia variante y explique por qué es mejor. Hasta ahora son sólo palabras.
 

1. La parte que falta será la de las barras, ya que el resultado de la comparación double==int depende del valor int concreto que se haya colocado previamente en double. Esto es exactamente lo que ocurre aquí: el tiempo (int) se escribe en double - para todos los números que no son grados de dos hay una pérdida de precisión, lo que resulta en double3 != int3, aunque double4 == int4.

2. Entiendo que esto es sólo un error técnico de alguien, que luego se propaga repetidamente. En realidad, debería corregir el tipo de OpenBar a datetime o int. Pero - el sueño de la mente engendra monstruos: es más fácil simplemente repetir el código de otra persona y cerrar los ojos :)

3. Solución incorrecta en términos de asignación de memoria: una variable local estática es suficiente aquí, la variable global extra es inútil - basura de software, aunque es una nimiedad :(

 
tara:

1. La parte que falta será la de las barras, ya que el resultado de la comparación double==int depende del valor int concreto que se haya colocado previamente en double. Esto es exactamente lo que sucede aquí: el tiempo (int) se escribe en double - para todos los números que no son grados de dos hay una pérdida de precisión, lo que resulta en double3 != int3, aunque double4 == int4.

2. Entiendo que esto es sólo un error técnico de alguien, que luego se propaga repetidamente. En realidad, sólo debe fijar el tipo de OpenBar en doble. Pero el sueño de la razón engendra bestias: es más fácil repetir el código de otro y cerrar los ojos :)

3. Solución incorrecta en términos de asignación de memoria: una variable local estática es suficiente aquí, la variable global extra es inútil - basura de programa, aunque es una nimiedad :(


Todavía hay que citar algunos códigos. Estoy cansado de repetir lo mismo cinco páginas después. Sobre todo porque la solución adecuada es fácil de encontrar a través de una búsqueda
 

¡Buenos días a todos!

Pregunta sobre los EA. Mirando a través de un montón de EAs, quiero entender cómo las operaciones se hacen automáticamente. Creo que he configurado todo correctamente, permito que el EA opere, entiendo la idea, pero no hay operaciones por alguna razón. ¿Quizá se aplica a un determinado símbolo? ¿O un marco temporal? ¿Cómo puedo averiguarlo?

Razón de la queja: