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
Acabo de empezar a aprender MQL, y por eso escribí un EA que dibuja un iMA y dibuja una tangente (muy cercana) al gráfico en el iMA en el punto donde el puntero del ratón está en el eje del tiempo.
Problema uno. El Asesor Experto es MUY lento. Significa que la tangente se redibuja durante mucho tiempo y no sigue el movimiento del ratón...
Mira mi versión:
En mi portátil, ¡todo vuela!
Obtengo el error 5040 (parámetro corrompido de tipo cadena) la primera vez que llamo a una función de creación de objetos
Si antes de una llamada se establece
nTL="";
error 4002 (parámetro no válido al llamar internamente a la función de terminal de cliente)
Si se establece antes de la llamada
nTL="a";
el primer objeto se llamará a.
Yo lo llamo así
¿Podría decirme dónde hay un error?
En la versión antigua.
nunca ha tenido ningún fallo.
¿Es un error en el código o en el terminal?
¿Puede decirme dónde está el error?
Obtengo el error 5040 (parámetro corrompido de tipo cadena) la primera vez que llamo a la función de creación de objetos
Si antes de una llamada se establece
error 4002 (parámetro no válido al llamar internamente a la función de terminal de cliente)
Si se establece antes de la llamada
el primer objeto se llamará a.
Yo llamo así
¿Puede decirme dónde está el error?
¿Está preocupado porque Get LastError imprime algo distinto de cero? Si es así, sólo debe llamar a un error si la función informa de un fallo. Y no deberías pedir un error al final de la trama, podrías obtener un valor basura. Así es en MT4, tal vez sea diferente aquí.
Pseudocódigo:
Obtengo el error 5040 (parámetro corrompido de tipo cadena) la primera vez que llamo a la función de creación de objetos
Si antes de una llamada se establece
error 4002 (parámetro no válido al llamar internamente a la función de terminal de cliente)
Si se establece antes de la llamada
el primer objeto se llamará a.
Yo lo llamo así
¿Podría decirme dónde está el error?
Prueba a "pegar" las cadenas mediante StringConcatenate()
No sé dónde está el error, pero el manejo de los nombres de los objetos es muy cuestionable por decirlo suavemente.
No está claro por qué necesitas un número aleatorio en el nombre del objeto, podría dar lugar a un error.
¿Hay otra opción para un par de cientos de objetos con nombres únicos?
(Un grupo de objetos debe tener la misma parte de la cadena en el nombre, para eliminar el grupo).
¿Está preocupado porque Get Last Errors imprime algo distinto a cero? Si es así, sólo debe pedir un error si la función informa de un fallo. Y no deberías pedir un error al final de la trama, podrías obtener un valor basura. Así es en MT4, tal vez sea diferente aquí.
¿Está preocupado porque Get Last Errors imprime algo distinto a cero?
Bueno, lógicamente, si la función establece el último error, entonces al finalizar con éxito la función debería haber un error cero o el valor descrito en la documentación. No hay otra manera.
Es decir, si la llamada fue exitosa y el error es distinto de cero, este caso debe ser descrito en la documentación.
Me devanaré los sesos de esta manera durante otra semana. ¿Puedo darle más detalles? (Puedes ser burdo :))
Pues normalmente los nombres de los objetos del mismo tipo se forman a partir de la parte común, para facilitar la eliminación ("nTL_" en su caso) y las diferencias. También uso el identificador de módulo, si puede haber más de uno de estos mismos módulos a la vez en el gráfico.
La diferencia puede ser cualquier cosa, incluso un contador, que se incrementa cada vez que se crea un objeto. Pero es mejor hacer distinciones por lógica -- tiempo del objeto, coordenada del objeto, el objetivo es lograr una unicidad garantizada. El efecto secundario es que al construir un nombre de nuevo, se pueden cambiar las propiedades de un objeto ya creado.
El azar no proporciona esta "garantía de unicidad".