Errores, fallos, preguntas - página 821

 
IgorM:

Eso es exactamente lo que estoy buscando:

¿alguien ha resuelto este problema?

El caso es que me gustaría portar el código a mql5 c++, pero una vez más me tropiezo con el rastrillo de los arrays dinámicos en mql5

PD: Me gustaría iniciar un tema con la esperanza de que superemos colectivamente este problema...

He perdido el incentivo para resolver en esta misma formulación. El interés deportivo se ha desvanecido, y para la práctica la construcción será muy lenta (probada), porque tengo que hacer todo a través de los punteros, y funcionan lentamente en mql5, porque no son punteros en absoluto, sino handles que hacen referencia a la tabla oculta del sistema de punteros reales.

Pero esto sólo se refiere a la "implementación universal", para arrays con dimensión arbitraria desconocida de antemano. En cuanto a los casos especiales de arrays con dimensión fija (2x, 3x, 4x, 5x, etc. -dimensionales), la implementación de alta velocidad es posible para ellos, y con un empaquetamiento ajustado de los elementos. Yo he hecho uno de dos dimensiones para mí, no he necesitadograndes dimensiones todavía. Para el mercado, tal vez lo haría, pero hasta que no se implementen las bibliotecas de la clase ex5, no se puede ocultar la implementación. Por lo tanto, tiene que hacerlo usted mismo o hacer un pedido. Hay muchos artesanos capaces de hacer esto, y no soy el único. Pero en principio, podría hacerlo por un buen precio.

 
MetaDriver: Todavía no quiero hacerlo gratis para el público.
Ya veo, gracias, pero quiero volver a dejar MT5 por un par de meses, así que usaré la .dll de C++ como antes
 

A mi post anterior = adenda...

Parece que toda la memoria está fuera después de las compilaciones... Instancias antiguas de EA - ¿no se borran?

Las cartas y los registros se limpian cuando no se necesitan...

El bot sólo tiene 480 bytes de memoria intermedia y una docena de variables.


 
IgorM:
Ya veo, gracias, pero me gustaría dejar MT5 por un par de meses, así que usaré .dll de С++ como antes.

¿Qué me impide hacerlo yo mismo? ¿Falta de habilidades? ¿Y cómo vas a aumentar tu cualificación si no vas a asumir nuevas tareas?

No hay nada complicado en ello. Siéntate, piénsalo y hazlo.

--

En cuanto a la DLL - las máscaras multidimensionales no son el caso en el que tiene sentido meterse con la DLL. Pero si te metes con DotNET, puedes usarlo, tiene unas librerías de contenedores impresionantes para todo tipo de casos inimaginables.

 
MetaDriver:

¿Qué le impide hacerlo usted mismo? ¿Falta de habilidades? ¿Y cómo vas a desarrollar tus habilidades si no vas a aceptar nuevos retos?

No hay nada difícil de hacer. Siéntate, piénsalo y hazlo.

Nada me detiene, sé que puedo hacerlo, debo estar tratando conscientemente de bajar mis calificaciones )))) - Me he vuelto perezoso este verano, ahora es el momento de empezar a programar de nuevo

¡Gracias por la oportuna patada en los pantalones! :)

SZZ: Acabo de notar que mql5 tiene una nuevasobrecarga de funciones, mientras que recuerdo que Rashid dijo específicamente queno haysobrecarga de funciones y que nunca la habrá.

Документация по MQL5: Основы языка / Функции / Перегрузка операций
Документация по MQL5: Основы языка / Функции / Перегрузка операций
  • www.mql5.com
Основы языка / Функции / Перегрузка операций - Документация по MQL5
 
OrderSendAsync - ¿está previsto, en el probador de estrategias, ponerlo al día?
 
IgorM:

SZZ: Acabo de notar que mql5 ahora tieneuna sobrecarga de operaciones, mientras que recuerdo que Rashid dijo claramente que no haysobrecarga de operaciones y no habrá ninguna

Si ocurriera lo mismo con la gestión de las excepciones, sería genial.

Hace más de tres meses que no consigo captar un fallo, sin origen aparente, en el EA - más o menos una o dos veces por semana aparece un mensaje que dice "array fuera de rango".

He intentado todas las comprobaciones posibles en esta área - es inútil, y cuando el Asesor Experto se borra con este mensaje, ¡cómo puedo saber por qué ha ocurrido!

¡Joder sabe cómo lidiar con ello! No hay excepciones, ¡dé otro mecanismo!

Que detenga el EA para que pueda ver el estado de las variables.

Hombre, es lo suficientemente loco, terco como ...

 
falkov:

Desde hace más de tres meses no consigo captar un error, de origen desconocido, en el EA - más o menos una o dos veces por semana aparece un mensaje de "array fuera de rango".

¿No indica este error el número de línea y la posición en la que se ha producido?

 
marketeer:

¿No indica este error el número de línea y la posición en la que se ha producido?

Sí, por supuesto, pero ¿y qué? Puse todo tipo de controles en este lugar.

Conozco el lugar, ¡no entiendo por qué sucede!

Compruebo el tamaño del array antes de esta línea y otras variables en busca de valores atípicos.

Pero aún así el Asesor Experto se bloquea un par de veces a la semana.

Lo más probable es que sea un error mío, y no estoy en contra de ello. Estoy en contra del hecho de que no tengo ningún mecanismo para averiguar dónde está enterrado el perro.

Al mismo tiempo, existe un mecanismo de exclusión sencillo y cómodo. Se introdujeron justo para estos casos.

Renat me contestó que si introducen este mecanismo, los programadores imprudentes empezarán inmediatamente a cometer errores y tendrán que limpiarlo.

Ese es un argumento ridículo, en mi opinión.

 
Mierda... Cuanto más se adentra en el bosque, más grande es la leña. El problema es que en el probador de estrategias, OrderSendAsync funciona como OrderSend. Además, ni OnTrade ni OnTradeTransaction reaccionan a las recotizaciones. En el servidor en vivo OnTradeTransaction devuelve una recotización.