Errores, fallos, preguntas - página 1520
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
Todavía no hay otra manera.
Hemos discutido la introducción de un nuevo comando de salida que terminaría inmediatamente el programa, pero hay problemas no resueltos aquí
Es una pena. Sí, un exit() como en C++ estaría bien. Hoy en día, llevar la respuesta de las funciones anidadas a la que llama es bastante problemático. Y no hay bibliotecas universales.
Alternativamente, puedes crear una función separada para borrar todos los objetos del programa y llamarla cuando se cumpla la condición de borrar el programa de la terminal, seguida deExpertRemove(), en este caso debería terminar más rápido... aunque no es seguro :)
Como he escrito antes, y se sugirió antes en un artículo en este sitio, en caso de un error en una función anidada profunda, puede llamar a la división por 0 o salir fuera de la matriz. Pero no es agradable.
Sí, y no es sólo en OOP (por lo que entendí, te refieres a ello). Sencillamente, si un error no se puede arreglar, el programa se terminará.
Se detiene, pero no inmediatamente
No entiendo, ¿es correcto trabajar con ExpertRemove() en los indicadores o no?
Creo que hay una función para los indicadores, o ya no es relevante
ChartIndicatorDelete();
No entiendo, ¿es correcto trabajar con ExpertRemove() en los indicadores o no?
No. ExpertRemove() se superpone en los indicadores.
"Se detiene, pero no inmediatamente" se dice de ExpertRemove en general. Esta función no interrumpe el funcionamiento del programa.
No. ExpertRemove() se superpone en los indicadores.
"Se detiene, pero no inmediatamente" se dice de ExpertRemove en general. Esta función no interrumpe el funcionamiento del programa.
Por favor, ponga un ejemplo. Proporcione el código fuente del indicador para ilustrar el problema
Al mismo tiempo, la ayuda de la función IsStopped dice que la operación del programa se detiene después de 3 segundos si hay un comando para terminar un programa mql.
Y si se sustituye while(true) por while(!IsStopped()), el indicador se completa con éxito cuando se elimina del gráfico.
Una razón divertida para el error interno del compilador (función utilizada en el indicador):
void SaveData ( uint handle_, int wrdata_, int interv_, string dpath_, int tmode_, int tmult_, long ctime_, long& ltime_ )
{
int ierr, wrtint;
// ----
if ( interv_ > 0 ) // modo de trabajo
{
if ( MQLInfoInteger ( MQL_TESTER ) == 0 ) { wrtint = interv_; } // no tiene ningún significado
si no{ wrtint = interv_ * tmult_; } // no importa
//
if ( ( ctime_ - ltime_ ) >= ( wrtint * 60 ) ) // si se comenta esta línea, el error desaparecerá
{
// algo de código para guardar los datos ... no tiene ningún significado - probado
//
ltime_ = ctime_; // en general tampoco importa
} // si ( ( ctime_ - ltime_ ) >= ( wrtint * 60 )
} // si ( interv_ > 0 )
// ----
volver;
} // void GuardarDatos
( Lo siento, no he utilizado el botón SRC intencionadamente, porque no puedo seleccionar las partes necesarias del texto con él )
El remedio es obvio, pero deberías estar de acuerdo: es un fallo bastante divertido. :)))
Una empresa de corretaje tiene una comisión de 16x2 dólares para una facturación de 1 millón. Al parecer, han establecido una comisión de 16 dólares en la configuración del servidor. Y ahora durante la prueba en su servidor la comisión 16x2 se deduce de cada transacción independientemente de su tamaño de lote, es decir, la prueba adecuada se puede hacer sólo con 10 lotes.
¿Es su falta de habilidad para configurar los servidores o una limitación real de MT5? ¿Qué puedo aconsejarles que hagan en los servidores para que la comisión se procese correctamente en el probador?