MetaTrader 5 build 2485: Mejoras en iCustom y optimización general en MQL5
Optimizada y sustancialmente acelerada la edición de la historia de barras en los instrumentos financieros de usuario. La mejora también afecta a la función CustomRatesUpdate
Terminal
- Optimizada y sustancialmente acelerada la edición de la historia de barras en los instrumentos financieros de usuario. La mejora también afecta a la función CustomRatesUpdate.
- Corregido el error que surgía al exportar los ajustes de los instrumentos de usuario a un archivo JSON.
- Correcciones de crash logs
MQL5
- Modificado el algoritmo de carga de los indicadores de usuario con la ayuda de iCustom.
Nombre
del indicador personalizado. Si antes del nombre indicamos la barra
oblicua inversa '\', el archivo EX5 del indicador se buscará con
respecto a la carpeta raíz MQL5. De esta forma, al llamar
iCustom(Symbol(), Period(), "\FirstIndicator"...) el indicador se
cargará como MQL5\FirstIndicator.ex5. Si el archivo no se encuentra
según esta ruta, aparecerá el error 4802 (ERR_INDICATOR_CANNOT_CREATE).
Si la ruta no comienza con '\', la búsqueda y la carga del indicador se realizarán en la siguiente secuencia:
- En
primer lugar, el archivo EX5 del indicador se buscará en la misma
carpeta donde se encuentra el archivo EX5 del programa que realiza la
llamada. Por ejemplo, el asesor CrossMA.EX5 se encuentra en la carpeta
MQL5\Experts\MyExperts y contiene la llamada iCustom(Symbol(), Period(),
"SecondIndicator"...), entonces, la búsqueda del indicador se realizará
en la ruta MQL5\Experts\MyExperts\SecondIndicator.ex5.
- Si el
indicador no ha sido localizado en el mismo directorio, la búsqueda se
realizará con respecto al directorio raíz de indicadores
MQL5\Indicators. Es decir, se buscará el archivo
MQL5\Indicators\SecondIndicator.ex5. Si el indicador no ha sido
localizado en ninguna de las rutas, la función retornará INVALID_HANDLE y
se mostrará el error 4802 (ERR_INDICATOR_CANNOT_CREATE).
Si la ruta al indicador se ha establecido en un subdirectorio, por
ejemplo, como MyIndicators\ThirdIndicator, la búsqueda primero se
efectuará en la carpeta del programa que ha realizado la llamada (el
asesor se encuentra en la carpeta MQL5\Experts\MyExperts), en la ruta
MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5, y después, si no
ha habido éxito, se buscará el archivo
MQL5\Indicators\MyIndicators\ThirdIndicator.ex5. En este caso, además,
deberemos indicar como separador en la ruta la barra oblicua inversa
doble '\\', por ejemplo, iCustom(Symbol(), Period(),
"MyIndicators\\ThirdIndicator"...).
Asimismo, al detectarse en el
código del programa la llamada de un indicador de usuario a través de
iCustom, el compilador añadirá de forma implícita la directiva
"#property tester_indicator XXX", si está no existe.
- Optimizado y significativamente acelerado el funcionamiento de la función HistorySelect, que permite solicitar la historia de transacciones y órdenes.
- Corregido el error que surgía al solicitar los ticks a través de la función CopyTicksRange. Debido a este error, como inicio del intervalo se aplicaba el comienzo del día establecido sin considerar la hora indicada.
- Optimizada y significativamente acelerada la representación de las alertas con la ayuda de la función Alert.
- Añadida la nueva propiedad SYMBOL_TIME_MSC: la hora del último tick del
símbolo en milisegundos. Para obtener la propiedad, se usa la función SymbolInfoInteger.
Lea las noticias anteriores, por favor: