Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 845
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
Pokrov, te dije lo que estás viendo...
Aquí está la respuestahttps://www.mql5.com/ru/forum/131277/page295#455199
Gracias al autor.
¿Puede decirme si el bloque de gestión de errores que aparece a continuación está bien escrito o si hay algo que no funciona? No jures de inmediato ))))
¿Cómo puede el indicador guardar el historial de valores en un archivo (y cargarlo más tarde)? ¿Existe alguna solución preparada?
¿Puede decirme si el bloque de gestión de errores que aparece a continuación está bien escrito o si hay algo que no funciona? No jures de inmediato ))))
En mi opinión, el manejo de errores debe ser en forma de una función definida por el usuario, que debe ser llamada después de cualquier acción relacionada con el acceso al servidor.
Por ejemplo, OrderSend() devuelve el ticket del pedido o -1 en caso de fallo, es decir, en caso de error. Por lo tanto, debe llamar al manejador de errores en caso de que no se ejecute el comando y pasarle el código de error. Y en el manejador de errores, debemos proporcionar un valor de retorno en el cual se repite la acción fallida o en otro valor se detiene.
Por ejemplo, los precios han cambiado, RefreshRates(); e inténtelo de nuevo, y si no hay suficiente dinero es probablemente mejor dejar de intentarlo.
En mi opinión, el manejo de errores debe ser en forma de una función definida por el usuario, que debe ser llamada después de cualquier acción relacionada con el acceso al servidor.
Por ejemplo, OrderSend() devuelve el ticket del pedido o -1 en caso de fallo, es decir, en caso de error. Por lo tanto, debe llamar al manejador de errores en caso de que no se ejecute el comando y pasarle el código de error. Y en el manejador de errores, debemos proporcionar un valor de retorno en el cual se repite la acción fallida o en otro valor se detiene.
Por ejemplo, los precios han cambiado, RefreshRates(); y volver a intentar, y en caso de falta de fondos es probablemente mejor dejar de intentar.
Tengo GetLastError después de las funciones y si se produce un error, ¿no irá a este bloque (como está escrito) y no se ejecutarán los comandos? Entiendo la cadena, por ejemplo, OrderSend() -> GetLastError -> bloque de error Sleep(3000) RefreshRates() -> salir del bloque y si las condiciones permanecen OrderSend() se solicita de nuevo. O mis razonamientos y conceptos son erróneos. Entiendo que quiere escribir el valor de retorno 1 o 0 en el bloque, pero mis funciones son simples no relacionados con los valores booleanos como SignalBuy, si entiendo correctamente, los valores de retorno debe ser devuelto allí.