El problema de la transferencia de MT4 a MT5. O, más precisamente, la incapacidad de ejecutar algunos algoritmos en MT5 sin'err. - página 6

 
¿Por qué no crear su propio terminal en primer lugar?
 
Artyom Trishkin:
Hay que contar todas las series de tiempo una vez, y luego sólo complementarlas. Esto puede hacerse en la ventana.
Sí, en sus matrices. Puedes usar el SB. La clase de series de tiempo es propia.

¡Esto no tiene sentido!

¿Para qué sirven entonces el terminal y el MQL? ¿Para escribir todo tú mismo? ¿Y enviar las órdenes por fix directamente al broker?

 
Eugeni Neumoin:

¿Así que sugieres no usar buffers, sino trabajar con tus arrays?

¿Para qué sirven entonces los topes?

Así que propones hacer tu propia muleta, en lugar de topes :(

Y en lugar de iTime, iLow, etc. haz tus propias funciones... Reescribe todo a su manera, obviando las funciones que no funcionan de MT5...

Esto es drástico. Pero deja que los entusiastas lo hagan. Me haré a un lado. Ni siquiera voy a ver el proceso.

He hecho un montón de indicadores de esta manera - en las clases de series de tiempo. Todo está ahí, y no es diferente de trabajar con indicadores ordinarios. Pero además - un montón de comodidades.
 
Andrey Khatimlianskii:

Un error de lógica entonces, tal vez. Puede que no haya un bar.

Hay un bar. No siempre es una función que da -1. Supongo que es esto de la descripción del lenguaje de MT5:

"...Disponibilidad de datos.

La disponibilidad de los datos en formato HCC o incluso en formato HC listo para usar no siempre significa la disponibilidad incondicional de estos datos para su visualización en un gráfico o para su uso en programas mql5.

Al acceder a los datos de los precios o a los valores de los indicadores desde los programas mql5, hay que tener en cuenta que no se garantiza que estén disponibles en un momento determinado, o desde un momento determinado..."

 
Andrey Khatimlianskii:

¡Esto no tiene sentido!

¿Para qué sirven entonces los terminales y los MQL? ¿Así que puedes escribir todo tú mismo? ¿Y enviar las órdenes por fix directamente al broker?

¿Qué es esa tontería? ¿Que tienes datos listos en el buffer? Se ha hecho más de una vez en 4 para acelerar las cosas.
 
Artyom Trishkin:
Todo allí funciona. Pero a veces se niega el acceso. Tal vez debido a las actualizaciones de las series temporales, no lo sé. Cuando se niega, hay que repetir la petición, porque la primera petición activa el intercambio de datos.

Si todo funcionara, no habría un millón de temas dedicados a este problema.

La lógica resultó ser más complicada de lo que los usuarios de terminales están preparados para manejar.
Y debe haber errores, pero los desarrolladores no tienen tiempo para buscarlos, y tampoco nadie quiere reproducirlos y probarlos entre los usuarios.

 
Artyom Trishkin:
¿Cuál es el engaño? ¿Que tienes datos listos en el buffer? Esto se hizo más de una vez en 4 para acelerar las cosas.

La tontería está en organizar tu propia copia de los datos, que ya están disponibles en el terminal.

 
Eugeni Neumoin:

El bar está ahí. La función no siempre produce un -1. Creo que esto es sólo esto de la descripción del lenguaje de MT5:

"...Disponibilidad de datos

La disponibilidad de los datos en formato HCC o incluso en formato HC listo para usar no siempre significa la disponibilidad incondicional de estos datos para su visualización en un gráfico o para su uso en programas mql5.

Al acceder a los datos de los precios o a los valores de los indicadores desde los programas mql5, hay que tener en cuenta que no se garantiza que estén disponibles en un momento determinado, o desde un momento determinado..."

iBarShift() funciona igual en ambos terminales. Y devuelven los mismos códigos de devolución en las mismas condiciones.
 
Artyom Trishkin:
He hecho muchos indicadores de esa manera - en las clases de series de tiempo. Ahí está todo, y no difiere del trabajo ordinario con indicadores. Pero además - un montón de comodidades.

Aun así, es mejor que las funciones lingüísticas funcionen correctamente sin estos artificios. O bien el lenguaje se hizo de la manera que usted sugiere. Es decir, para que los programadores no se inventen algo a su manera con las discusiones en el foro, se debería implementar el lenguaje, quizás a través de algunas funciones adicionales, sin fallar el acceso a las series de tiempo.

 
Artyom Trishkin:
iBarShift() funciona igual en ambos terminales. Y se devuelven los mismos códigos de devolución en las mismas condiciones.

¿Por qué, entonces, la descripción de la lengua contiene la cita que he dado? Si todo funciona bien, ¿por qué escribir en la guía lingüística que se puede denegar el acceso en cualquier momento?

Y cuando hay una denegación de acceso y los desarrolladores son honestos al respecto, por lo que hay un montón de hilos en el foro. Y TODOS los programadores se encuentran con este problema. Y cada uno intenta resolver este problema a su manera. Algunos pueden hacerlo y otros no.

Los desarrolladores alfabetizados crean bibliotecas, por ejemplo, tensorflow, para que la gente no sienta agonía. Y aquí... Bueno, al principio del hilo, todos leyeron las respuestas de Renat...