Errores, fallos, preguntas - página 533

 

hay una pregunta más floja.

Al hacer ArrayResize array de objetos (punteros), CheckPointer no devuelve ==POINTER_INVALID y !=POINTER_DYNAMC.
Es decir, un array de punteros del tipo normal.

¿es un error?

ayuda si todos los nuevos elementos=NULL, pero los nuevos punteros creados deben devolver POINTER_INVALID al menos
Creo que es un error. Los punteros están inicialmente en blanco... (aunque no se establezca explícitamente a NULL por ArrayResize)

 
marketeer:
Otra pregunta relacionada: las posiciones de venta se muestran en el gráfico con líneas azules y las de compra con líneas rojas. En MT4 era al revés. ¿Cuál es la idea?
El error ha sido corregido. La corrección estará disponible en la próxima versión.
 
Rosh:
No puedo ver la historia completa . Tal vez el tamaño de la posición abierta a la venta era mucho mayor de lo que luego se compró. Así que después de la operación de compra la posición seguía siendo corta. En este caso es difícil adivinar por la captura de pantalla cómo eran las cosas.
Puede verlo usted mismo: es el Campeonato 800170. La posición se abrió inmediatamente y se cerró por completo al instante. Más aún debería ser rojo si se vendió más de lo que se compró.
 

Hablando de fractales... https://www.mql5.com/ru/code/30.

Según la definición, "un fractal alcista es una serie de al menos cinco barras consecutivas con dos barras de máximos inferiores delante y detrás del máximo." ¿He entendido bien que los máximos -2 y +2 no tienen por qué ser aún más bajos que los -1 y +1 respectivamente? Es decir, lo principal es que los máximos -2º, -1º, +1º, +2º están estrictamente por debajo del 0º (el más alto, el del medio), pero entre ellos los dos máximos de la izquierda, así como los dos máximos de la derecha, pueden tener una altura relativa arbitraria? Esta es la primera pregunta.

Segunda pregunta: aunque se responda a la primera pregunta que los fractales de los lados extremos no tienen que alinearse por debajo del penúltimo, describiendo en conjunto estrictamente una pirámide de 5 barras consecutivas, en cualquier caso se debe considerar que al menos 5 barras consecutivas forman un fractal. Entonces, ¿cómo se explica esto?

¡¿También son fractales?!

Pero si hay una explicación razonable para esto también, entonces hay una tercera pregunta para un aperitivo: ¿puede un fractal estar arriba y abajo en una barra a la vez?

ambos fractales en la misma barra

A primera vista, todas las condiciones parecen cumplirse, es sólo una rara coincidencia. Sin embargo, ¿no contradice no la definición técnica, sino el sentido común o alguna lógica oculta y fundamental?

Fractals
Fractals
  • votos: 8
  • 2010.01.26
  • MetaQuotes Software Corp.
  • www.mql5.com
Фракталы (Fractals) — это один из пяти индикаторов торговой системы Билла Вильямса, позволяющий обнаруживать дно или вершину.
 

x100intraday:

¿no contradice no la definición técnica, sino el sentido común o alguna lógica oculta?

es todo eso, contradictorio.
 
sergeev:
Es el análisis de la situación. Es todo tan contradictorio.

Entonces replanteemos la pregunta: ¿se refiere Bill Williams a lo mismo en su descripción del sistema de toros de cinco partes? Porque él está hablando de Thomas, pero los programadores que implementaron este indicador están hablando de Eureka... No vamos a molestar a Bill, por eso dirigiremos la pregunta a quienes conozcan sus trabajos teóricos.

Además, este indicador es clásico, por eso la contradicción no está en primer lugar.

 

En general, si se indaga en el código bastante simple del indicador fractal, es simétrico respecto al centro (el propio fractal) como para High:

         if(High[i]>High[i+1] && High[i]>High[i+2] && High[i]>=High[i-1] && High[i]>=High[i-2])
así como para Low. Y, a primera vista, las zonas resaltadas con rectángulos rojos no deberían surgir...

Sospechoso >/>=.

 

Buenas tardes.

Punto interesante: en mql4 la variable al final del bloque { int var; } no se destruye, de ahí la pregunta de si es correcto declarar la variable en un bucle?

Ejemplo:

for(int i = 0; i < 500; i ++)

{

int var; // ¿qué pasa con la variable durante la iteración?

}

Disculpas por estar un poco fuera de lugar, pero no sé dónde más hay un diálogo con los desarrolladores.

Gracias.

 
220Volt:

Buenas tardes.

Punto interesante: en mql4 la variable al final del bloque { int var; } no se destruye, de ahí la pregunta de si es correcto declarar la variable en un bucle?

Ejemplo:

for(int i = 0; i < 500; i ++)

{

int var; // ¿qué pasa con la variable durante la iteración?

}

Disculpas por estar un poco fuera de lugar, pero no sé dónde más hay un diálogo con los desarrolladores.

Gracias.

En cada integración del bucle en este caso la variable se restablecerá. Esto depende de la tarea. Si está organizando cualquier contador, la variable debe ser declarada fuera del bucle

int var=0;

for(int i = 0; i < 500; i ++)
{
 var++;
}
 
sergey1294:

La variable se pondrá a cero en cada integración del bucle. Esto depende de la tarea. Si se está organizando algún contador, la variable debe declararse fuera del bucle

no lo hará

Справочник MQL5 / Основы языка / Переменные / Инициализация переменных      
  

Инициализация переменных

Любая переменная при определении может быть инициализирована. Если не произведена явная инициализация переменной, то значение, 
хранящееся в данной переменной может быть каким угодно. Неявная инициализация не производится.