[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 644
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
El asunto es que no soy muy bueno en la programación de MQL y mi EA se basa en los principios de BASIC =) Se asigna una variable a una orden abierta. El terminal dice que se me ha vuelto a registrar y el valor de esta variable desaparece al abrir la orden. Si esto ocurre, el terminal debería comprobar las posiciones abiertas y asignar esos valores a las variables que han sido asignadas por el robot. Y el Asesor Experto muestra buenas lecturas en la prueba.
Dependiendo de lo que se quiera almacenar (qué información), se pueden utilizar diferentes opciones:
Si no te importa, aquí tienes un ejemplo. Por lo que entiendo, los datos no se actualizarán hasta que se ejecute el bucle?
¿Se utilizarán sólo los mismos datos durante este ciclo interminable? ¿Se actualizarán los datos con un nuevo tick o no?
Lo que pasa es que no soy muy bueno en programación MQL y mi EA se basa en los principios de Bacyca =) Se asigna una variable a una orden abierta. El terminal dice que se me ha vuelto a registrar y el valor de esta variable desaparece al abrir la orden. Me pregunto cómo hacer para que compruebe las posiciones abiertas si hay un overlog y asigne esos valores a las variables que han sido establecidas por un robot.
¿Estás hablando de un número mágico? No hay suficiente información para ayudarte... cuál es la variable y cómo se asigna, de ahí tienes que partir.
Pero mi Asesor Experto está mostrando buenos resultados en la prueba.
¿Se utilizarán sólo los mismos datos durante este ciclo interminable? ¿Se actualizarán los datos con un nuevo tick o no?
¿Se utilizarán sólo los mismos datos durante este ciclo interminable? ¿Se actualizarán los datos con la nueva garrapata o no?
Por favor, avise si hay una función incorporada, que pueda ejecutar alguna función, escrita por mí, sólo en la apertura de cada barra, no en cada tick. No es difícil de escribir a mano, pero cuando ejecuto algún código por ticks y otros por barras, se vuelve muy confuso) Muchas gracias)
así que sólo tienes que determinar cuándo se abre una nueva barra y realizar tu función.
Puede determinar la aparición de una nueva barra memorizando la hora de apertura de la barra y comparándola con la hora actual de la barra 0. Si el nuevo tiempo es más largo que el anterior, entonces tenemos una nueva barra.
sergeev gracias por el consejo, parece que funciona)
Ok, una cosa más.
En mi EA tengo esta ramificación:
if(period=="M15")
{
//comprobar para abrir la compra
Alert(buysell);
if(buysell=="buy")
Alerta(1);
.............
}
Básicamente, un if anidado. PERO. la condición if(period=="M15") se cumple y la alerta da un resultado, y compra, pero la condición if(buysell=="buy") no se cumple y el comando Alert(1) ni siquiera se inicia. diablos, ambas condiciones son incluso sintácticamente iguales, pero ¿por qué una se cumple y la otra no?
así que sólo tienes que determinar cuándo se abre una nueva barra y realizar tu función.
Puede determinar la aparición de una nueva barra memorizando la hora de apertura de la barra y comparándola con la hora actual de la barra 0. Si el nuevo tiempo es más largo que el anterior, entonces tienes una nueva barra.
Lo escribiré: