Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1245
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
no, por ejemplo, pasar primero el caso 1, luego el caso 2, etc.
Los casos ejecutan una orden de apertura
El pedido se abre en más de un sitio. Hay que pensar exactamente como se piensa en este código, y es difícil.
Hay más de un hueco. En un código así, hay que pensar exactamente como se piensa, y eso es difícil.
Si hay un bucle dentro del OnTick del EA que lleva una cantidad de tiempo decente, ¿se ejecutará completamente o la llegada de un nuevo tick interrumpirá todo eso?
Yo tampoco entiendo, en mi caso se abre el bucle y no se abren todas las órdenes, algunas se abren dos veces y otras se saltan, entiendo que un nuevo tick desencadena el inicio y el código suspende su ejecución y vuelve a funcionar
Entiendo que un nuevo tick desencadena un inicio y el código pausa su ejecución y comienza a ejecutarse de nuevo
no te lo inventes.
leer la ayuda, está claramente escrito allí que si hay cálculos complejos en EA, la nueva garrapata se saltará
en algún lugar del artículo sobre las funciones de manejo de eventos o tal vez en las operaciones comerciales o en RefreshRates
busque un error lógico en su código
HH: switch() - no se usa case para condiciones lógicas complejas, mejores combinaciones de if() else - así se obtienen ramas lógicas más inequívocas
no te lo inventes.
lea la ayuda, dice claramente que si hay cálculos complejos en el EA, se saltará el nuevo tick
en algún lugar del artículo sobre las funciones de manejo de eventos o tal vez en las operaciones comerciales o en RefreshRates
busque un error lógico en su código
SZY: switch() - no se utiliza case para condiciones lógicas complejas, mejores combinaciones de if() else - así se obtienen ramas lógicas más inequívocas
Sí, gracias, ya he decidido escribir todo a través de if-else también
¿Por qué has añadido el interruptor aquí? Es más fácil introducir la dirección de la operación y el número de aperturas necesarias en la función y abrir tantas aperturas como se especifique en el bucle.
Por eso digo que entender su lógica está más allá de mi mente. ¿Por qué tanto lío?
¿Por qué has añadido el interruptor aquí? Es más fácil introducir la dirección de la operación y el número de aperturas necesarias en la función y abrir tantas aperturas como se especifique en el bucle.
Por eso digo que entender su lógica está más allá de mi mente. ¿Por qué tanto lío?
Bueno, mi código acaba de aumentar de tamaño, y pensé que sería mucho más fácil.
En realidad, sería más sencillo y compacto si tuviéramos la oportunidad de llamar a case tantas veces como quisiéramos durante la ejecución de una función.
No necesito abrir operaciones similares en un bucle y se abren para diferentes símbolos simultáneamente (en la medida de lo posible) al producirse una señal.
caso 1 - compra de audusd
caso 5 - compra de gbpusd
caso 9 - compra de eurusd
etc.
En el primer caso tengo una hoja con el caso y la segunda con el análisis, si interactuaran serían 500 líneas.
La segunda variante implica prescribir una apertura de orden específica dentro de la función con análisis y el total de líneas sería de 1200+, lo que acabaría afectando a la velocidad de ejecución del programa
¿Puede ayudarme, por favor? El Asesor Experto utiliza el indicador Envelopes con cálculo dinámico de la desviación. Pero cuando se visualiza en el gráfico muestra toda la dinámica de la desviación del indicador en todas las barras anteriores.
1. ¿Hay alguna manera de hacer que el indicador dibuje correctamente? Es decir, dibujaría el indicador con su desviación sólo en su propia barra.
2. ¿Cómo puedo desactivar el dibujo del indicador en un Asesor Experto, dejando sólo sus cálculos? Quiero activar para desactivar el dibujo del indicador en la configuración de expertos )
Pues bien, al final mi código no ha hecho más que aumentar de tamaño, mientras que yo pensaba que sería más sencillo.
De todos modos, si fuera posible llamar a case tantas veces como sea necesario durante la ejecución de una función, sería más fácil y el código sería más compacto.
No necesito abrir operaciones similares en un bucle y se abren para diferentes símbolos simultáneamente (en la medida de lo posible) al producirse una señal.
caso 1 - compra de audusd
caso 5 - compra de gbpusd
caso 9 - compra de eurusd
etc.
En el primer caso tengo una hoja con el caso y la segunda con el análisis, si interactuaran serían 500 líneas.
La segunda variante implica prescribir una apertura de orden específica dentro de la función con análisis y el total de líneas sería de 1200+, lo que en definitiva afectaría a la velocidad de ejecución del programa
¿Con qué estás escribiendo tantas líneas de código? Aquí está uno de mis últimos EA, funciona con un conjunto de valores en FORTS
Cuantos más valores se coticen, más se negociarán. Y este EA con control de dos timeframes de trading, con trailing y por supuesto con análisis, sólo 326 líneas.
Si desea utilizar el interruptor, no tiene que añadir la apertura de la posición en cada variante. Basta con especificar el nombre del símbolo, el tipo de operación comercial y el
Pero sería mejor, en mi opinión, envolverlo todo en una función definida por el usuario.