Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1231
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Estoy intentando hacer una entrada sencilla. Como quería - si el precio de apertura es menor que el precio de cierre por el número de puntos (en la barra anterior), entonces compra al principio de una nueva barra, teniendo en cuenta el take profit y el stop loss. Pero parece que algo está funcionando de una manera diferente a la que yo quería. Ayúdame a entender
Estoy intentando hacer una entrada sencilla. Como quería - si el precio de apertura es menor que el precio de cierre por el número de puntos (en la barra anterior), entonces compra al principio de una nueva barra, teniendo en cuenta el take profit y el stop loss. Pero parece que algo está funcionando de una manera diferente a la que yo quería. Por favor, ayúdenme a entender
Error 1: Está copiando UN elemento, por lo que el índice del elemento será [0].
Apertura 100, cierre 105 - barra de toros. Abrir - Cerrar = 100 - 105 = - 5. '-5' siempre será menor que el valor establecido, ya que el resultado es un número negativo.
Apertura 110, cierre 103 - barra bajista. Abrir - Cerrar = 110 - 103 = 7. El '7' es un número positivo y esto ya funcionará correctamente.
En resumen: corregir la referencia al índice (en lugar de [1] deberíamos referirnos al índice [0]. Antes de calcular, considere el tipo de vela: si es alcista o bajista.
Continuación del tema de las construcciones DRAW_HISTOGRAM2.
Ejemplo:
En el indicador presentado fue posible construir ambos histogramas. Una peculiaridad inesperada fue la siguiente:
Para las líneas normales en las entradas #property indicator_colorn, #property indicator_typen etc. el valor de n es 1 más que el índice del buffer.
Además, este requisito se mantiene aunque no se especifiquen los índices de los búferes en una fila y haya espacio libre entre los adyacentes.
Por ejemplo, si se utilizan los índices 0, 1, 2, 3, 8, se mostrarán las cinco líneas.
Un requisito diferente es para las construcciones de tipo DRAW_HISTOGRAM2, a saber:
Si se especifican histogramas en una fila, las entradas #property indicator_colorn, #property indicator_typen etc.
n valor se calcula a partir de un recuento y no de un índice de búfer. En el ejemplo, se especifican los índices 5 y 6, aunque lógicamente se esperan 5 y 7.
Todo este despropósito hace que no se entienda en absoluto cuál debe ser el valor de n para la línea regular (roja) que sigue a los dos histogramas.
En este ejemplo se especifica el valor de n=9, pero no funciona, por lo que se comentan todas las líneas relativas al buffer 8. Tampoco funcionó para otros valores de n.
Conclusión: todos los histogramas deben ser especificados en una fila al final de la lista del buffer. Además, sus valores deben calcularse sólo en una fila por recuento cuantitativo (a pesar de sus índices de amortiguación).
Es imposible entender esto, pero es posible vivir con ello.
Por cierto: no se ha detectado ningún efecto del orden de los buffers INDICATOR_CALCULATIONS e INDICATOR_DATA.
Gracias a Vladimir Karputov y Artem Trishkin por su participación en la solución del problema.
Continuación del tema de las construcciones DRAW_HISTOGRAM2.
Ejemplo:
En el indicador presentado fue posible construir ambos histogramas. Una peculiaridad inesperada fue la siguiente:
Para las líneas normales en las entradas #property indicator_colorn, #property indicator_typen etc. el valor de n es 1 más que el índice del buffer.
Además, este requisito se mantiene aunque no se especifiquen los índices de los búferes en una fila y haya espacio libre entre los adyacentes.
Por ejemplo, si se utilizan los índices 0, 1, 2, 3, 8, se mostrarán las cinco líneas.
Un requisito diferente es para las construcciones de tipo DRAW_HISTOGRAM2, a saber:
Si se especifican histogramas en una fila, las entradas #property indicator_colorn, #property indicator_typen etc.
n valor se calcula a partir de un recuento y no de un índice de la memoria intermedia. En el ejemplo, se especifican los índices 5 y 6, aunque lógicamente se esperan 5 y 7.
Todo este despropósito hace que no se entienda en absoluto cuál debe ser el índice de la línea regular (roja) que sigue a los dos histogramas.
En este ejemplo se especifica el valor n=9, pero no funciona, por lo que se comentan todas las líneas relativas al buffer 8. Tampoco funcionó para otros valores de n.
Conclusión: todos los histogramas deben ser especificados en una fila al final de la lista del buffer. Además, sus valores deben calcularse sólo en una fila por recuento cuantitativo (a pesar de sus índices de amortiguación).
Es imposible entender esto, pero es posible vivir con ello.
Por cierto: no se ha detectado ningún efecto del orden de los buffers INDICATOR_CALCULATIONS e INDICATOR_DATA.
Gracias a Vladimir Karputov y Artem Trishkin por su participación en la solución del problema.
No hay de qué. Pero no ha resuelto el problema.
No hay ninguna dependencia del orden de los diferentes tipos de tampón en los indicadores. Sólo los calculados deben estar después de los dibujados.
De nada. Pero no has resuelto la cuestión.
Los indicadores no dependen del orden de los diferentes tipos de búferes. Sólo los calculados tienen que ser posteriores a los sorteados.
Sin mucha certeza, pero sigo creyendo que ambas afirmaciones son erróneas.
En cuanto a la "no dependencia". No conseguí ninguna forma de mapear el 8º buffer en el último ejemplo . Cuál debería ser el orden... ¿Tal vez puedas hacerlo?
Sobre "calculado... después de dibujado". Mi indicador utiliza más de 200 buffers, de los cuales los 100 primeros son buffers calculados.
En mi caso, todas son líneas simples, por lo que n para #propiedad se calcula a partir del valor del índice del buffer: n=b+1. Y se muestran líneas simples. La confusión comienza con la aparición de los histogramas.
Sin mucha certeza, pero sigo creyendo que ambas afirmaciones son erróneas.
En cuanto a la "no dependencia". No conseguí ninguna forma de mapear el 8º buffer en el último ejemplo . Cuál debería ser el orden... ¿Tal vez puedas hacerlo?
Sobre "calculado... después de dibujado". Mi indicador utiliza más de 200 buffers, de los cuales los 100 primeros son buffers calculados.
En mi caso, todas son líneas simples, por lo que n para #propiedad se calcula a partir del valor del índice del buffer: n=b+1. Y se muestran líneas simples. Los malentendidos comienzan con la aparición de los histogramas.
No voy a discutir. Creo los buffers para que se dibujen en cualquier secuencia. Pero en cuanto añado un buffer de cálculo entre ellos, el trazado gráfico de los indicadores a dibujar no se muestra en el gráfico. Sus valores permanecen en la ventana de datos. He realizado muchas pruebas para describir la creación de indicadores y sus topes en los artículos. He llegado a la conclusión de que sólo los búferes calculados (su ubicación en el orden de declaración de los búferes indicadores) afectan de alguna manera a la visualización/no visualización de los dibujados.
No voy a discutir. Creo buffers de dibujo en absolutamente cualquier secuencia. Pero en cuanto añado un buffer de cálculo entre ellos, las construcciones gráficas de los indicadores a dibujar no se muestran en el gráfico. Sus valores permanecen en la ventana de datos. He realizado muchas pruebas para describir la creación de indicadores y sus topes en los artículos. He llegado a la conclusión de que sólo los búferes calculados (su ubicación en el orden de declaración de los búferes de los indicadores) afectan de alguna manera a la visualización/no visualización de los dibujados.
Yo tampoco estoy seguro.
Desde hace algún tiempo (los últimos 3-4 meses) se están produciendo algunos fenómenos incomprensibles y alarmantes en la ventana de símbolos en general.
En primer lugar, me he dado cuenta de que el dibujo del indicador puede desplazarse simplemente hacia cualquier dirección, por ejemplo hacia abajo o hacia la derecha, sin razón aparente. Justo en un nuevo tick todo el indicador se desliza repentinamente hacia abajo. Lo mismo ocurre a veces cuando se enciende el PC por primera vez.
En segundo lugar, si se borran algunos búferes y luego se compilan, los "rastros" de estas construcciones borradas permanecen hasta algunos eventos inexplicables (TF de ida y vuelta, nueva recompilación, actualización de los ajustes, etc.). ) Probablemente, hay "rastros" en la ventana de datos, que son memoria de días pasados (técnicamente los arrays se limpian sólo a la fuerza, y en MT 5 si el array no es necesario, simplemente se "desregistra", pero los datos permanecen; por supuesto, todo esto es un fallo de MT5)
--
Hay un chiste: la historia de nuestra patria no es predecible. Lo mismo se puede decir de MT5: demasiado misterioso:)
--
Por cierto, he hecho algunos cambios en mi indicador real, de acuerdo con mi última declaración. No funciona. He añadido DRAW_HISTOGRAM2 e INDICATOR_CALCULATIONS para las matrices de reflexión - funciona.
No hay necesidad de ser aficionado - cree el Asesor Experto en blanco usando el Asistente MQL5 - de esta manera cometerá el menor número de errores posibles al declarar las construcciones gráficas y las matrices de indicadores.
Yo tampoco estoy seguro.
Desde hace algún tiempo (los últimos 3-4 meses) se están produciendo algunos fenómenos incomprensibles y alarmantes en la ventana de símbolos en general.
En primer lugar, he observado que la construcción del indicador puede desplazarse simplemente en cualquier dirección, por ejemplo, hacia abajo o hacia la derecha, sin razón aparente. Justo en un nuevo tick todo el indicador se desliza repentinamente hacia abajo. Lo mismo ocurre a veces cuando se enciende el PC por primera vez.
En segundo lugar, si se borran algunos búferes y luego se compilan, los "rastros" de estas construcciones borradas permanecen hasta algunos eventos inexplicables (TF de ida y vuelta, nueva recompilación, actualización de los ajustes, etc.). ) Probablemente, hay "rastros" en la ventana de datos, que son memoria de días pasados (técnicamente los arrays se limpian sólo a la fuerza, y en MT 5 si el array no es necesario, simplemente se "desregistra", pero los datos permanecen; por supuesto, todo esto es un fallo de MT5)
--
Hay un chiste: la historia de nuestra patria no es predecible. Lo mismo se puede decir de MT5: demasiado misterioso:)
--
Por cierto, he hecho algunos cambios en mi indicador real, de acuerdo con mi última declaración. No funciona. He añadido DRAW_HISTOGRAM2 e INDICATOR_CALCULATIONS para las matrices de reflexión - funciona.
No sobre mí.
El resto - sus errores y falta de atención (excepto el cambio de línea del indicador, pero creo que se arregló, si la memoria no me falla).
¿Qué tipo de construcción tienes?
No hay necesidad de ser aficionado - cree un Asesor Experto en blanco utilizando el Asistente MQL5 - de esta manera usted hará el menor número de errores posibles al declarar las construcciones gráficas y las matrices de indicadores.
¿Pueden decirme cómo reflejar correctamente el 8º búfer en mi último ejemplo? ¿Sin ningún tipo de amateurismo?
¿Puede decirme las reglas?
No sobre mí.
El resto son errores y desatenciones tuyas (excepto el cambio de línea del indicador, pero creo que se arregló, si la memoria no me falla).
¿Cuál es su constitución?
¿Pueden decirme cómo reflejar correctamente el 8º búfer en mi último ejemplo? ¿Con el debido cuidado?
¿Y dar razones?
Construir 2530.
--
Todavía estoy aprendiendo, así que estaría muy agradecido si ustedes, caballeros, pudieran indicarme dónde leer todo esto en la documentación.