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

 
ZZuretc: Sí, el "sombrero" es un poco misterioso. He estado curioseando y no consigo entenderlo. Miraré las huellas, tendrá más sentido.

Envíame todo el código a tu bandeja de entrada o publícalo aquí. Voy a echar un vistazo. La corrección del EURUSD parece haber terminado... Y hazme saber lo que necesito. Lo he estado viendo durante un tiempo...

 
ZZuretc:

Mmmm... Sí... "el sombrero es una gran cosa". Hice todo lo que pude y no encontré la respuesta que buscaba. Miraré las huellas, es más claro así.

Aquí hay una captura de pantalla del momento de la depuración. El punto de interrupción está en la línea 15

Foro sobre trading, sistemas de trading automatizados y comprobador de estrategias

Sugerimos utilizar MT5 como un terminal para programadores, no para traders

Alexey Viktorov, 2018.01.09 18:57

No debes usar LASTBAR_DATE lo he entendido muy bien. Todo lo demás es malo.

iBarSift() devuelve el número de barra con el tiempo especificado, la indexación comienza desde cero.

Bars() devuelve el número de barras de fecha a fecha. Al igual que en todas las demás funciones, como OrdersTotal() PositionsTotal() y otras, el número de barras con el tiempo especificado será menos 1.

Como puede ver en el ejemplo, la función también está disponible en mql4

 
ZZuretc:
¿Qué tiene que ver LASTBAR_DATE?

No tiene nada que ver. Las palabras de allí están dirigidas a ti.

Alexey Viktorov:

Aquí hay una captura de pantalla del momento de la depuración. El punto de interrupción está en la línea 15.

En general, la ayuda del meta-editor lo describe todo muy bien.

 

Hola) Ayúdenme en esto. El Asesor Experto dibuja dos tipos de objetos del archivo: líneas verticales y horizontales. El Asesor Experto tiene tres botones: 1 - borrar todas las líneas, 2 - borrar las líneas horizontales, 3 - borrar las líneas verticales. Quiero hacer que al soltar el botón se vuelvan a dibujar las líneas eliminadas al pulsar el botón correspondiente - 1 - todas, 2 - horizontales, 3 - verticales. ¿Qué camino tomar? Escribir un ciclo completo Mientras que para cada empuje para abrir el archivo con los datos y luego volver a crear el objeto correspondiente? No entiendo cómo hacerlo correctamente. ¿En qué dirección cavar?

 
Юра куксов:

Sí, y esto no es - hasta el siguiente tick, etc., hasta que esta condición sea verdadera, momento en el que se cumplirá lo que has escrito en esta condición. Es decir, su cuerpo. ¡¿Así?!

Yura, sigue escribiendo aquí. Allí es más interesante.

 
WinProject:

Hola) Ayúdenme en esto. El Asesor Experto dibuja dos tipos de objetos del archivo: líneas verticales y horizontales. El Asesor Experto tiene tres botones: 1 - borrar todas las líneas, 2 - borrar las líneas horizontales, 3 - borrar las líneas verticales. Quiero hacer que al soltar el botón se vuelvan a dibujar las líneas eliminadas al pulsar el botón correspondiente - 1 - todas, 2 - horizontales, 3 - verticales. ¿Qué camino tomar? Escribir un ciclo completo Mientras que para cada empuje para abrir el archivo con los datos y luego volver a crear el objeto correspondiente? No entiendo cómo hacerlo correctamente. ¿En qué dirección debo cavar?

Creo que deberíamos indagar en la dirección de las propiedades de los botones

if(ObjectGetInteger(0, name, OBJPROP_STATE) == true) // кнопка нажата

Y, puede que tengamos que añadir una bandera de secuencia. Para poder formular una condición, fue presionado se convirtió en presionado y viceversa, fue presionado se convirtió en presionado.

 
Alexey Viktorov:

Creo que hay que indagar en las propiedades del botón

Y puede que tengamos que añadir una bandera de secuencia. Para poder formular una condición, fue presionado se convirtió en presionado y viceversa, fue presionado se convirtió en presionado.


Gracias, no debo haber formulado bien mi pregunta. No está claro cómo redibujar racionalmente los objetos borrados al pulsar el botón. Y adjuntar el código que necesito a la pulsación del botón no es un problema.

 
WinProject:

Hola) Ayúdenme en esto. El Asesor Experto dibuja dos tipos de objetos del archivo: líneas verticales y horizontales. El Asesor Experto tiene tres botones: 1 - borrar todas las líneas, 2 - borrar las líneas horizontales, 3 - borrar las líneas verticales. Quiero hacer que al soltar el botón se vuelvan a dibujar las líneas eliminadas al pulsar el botón correspondiente - 1 - todas, 2 - horizontales, 3 - verticales. ¿Qué camino tomar? Escribir un ciclo completo Mientras que para cada empuje para abrir el archivo con los datos y luego volver a crear el objeto correspondiente? No entiendo cómo hacerlo correctamente. ¿En qué dirección cavar?

En lugar de borrar un objeto, puedes hacer que su color sea el del fondo - se ocultará. Puedes ocultarlas de la pantalla y luego ordenarlas. Los datos del archivo pueden guardarse en una matriz de estructuras. Si el archivo cambia con frecuencia, puede comprobar cuándo se creó. Si el objeto vuelve a aparecer cuando se suelta el botón, sólo estará ausente durante el tiempo que el botón esté pulsado...

 
WinProject:

Gracias, probablemente no he formulado bien la pregunta. No está claro cómo redibujar racionalmente los objetos borrados al pulsar el botón. Y adjuntar el código que necesito a la pulsación del botón no es un problema.

En este caso no hay suficiente información.

Aunque, puede mantener los tiempos de las líneas verticales en la matriz y los precios de las líneas horizontales en otra matriz. Pero el objetivo es abstracto y la solución puede ser errónea.

 
¿Existe una función que devuelva el tipo de variable?

Por ejemplo, usted escribe.

int a=10;

y luego escribes:

functia(a);

y dice: ¡INT!

:)