Últimas actualizaciones de MetaTrader 4

Plataforma comercial para Fórex MetaTrader 4

23 marzo 2017
MetaTrader 4 build 1065

En plataforma actualización se ha corregido el error de reinicio de los expertos en los gráficos después de cambiar el marco temporal. Ahora el funcionamiento de los asesores no se detiene, la reinicialización tiene lugar correctamente.

3 febrero 2017
MetaTrader 4 build 1045

Una nueva actualización de la plataforma MetaTrader 4, relacionada con la salida de la versión preliminar de Windows 10 Insider Preview build 15007. Los cambios en los mecanismos de seguridad del OS Windows 10 han causado que en ciertos casos los terminales de cliente MetaTrader 4 no puedan iniciarse.

Le rogamos que instale la nueva la nueva versión de la plataforma, así estará preparado para la salida de la nueva actualización de Windows 10.

16 diciembre 2016
MetaTrader 4 build 1031
Hemos corregido una serie de errores relacionados con crash logs.
14 octubre 2016
MetaTrader 4 Android build 996
  1. Añadido un chat en el que los miembros de MQL5.community podrán comunicarse entre sí. Indicando el login del usuario necesario en el remite del mensaje, podrá enviarle un mensaje directamente al dispositivo móvil.

  2. Añadida la posibilidad de editar los niveles de los indicadores.
  3. Añadidas las traducciones de la interfaz al indonesio y al hindi.
30 agosto 2016
MetaTrader 4 iOS build 975
  1. El aspecto externo de los mensajes ha sido renovado. Ahora la correspondencia en MQL5.community y las notificaciones de la plataforma de escritorio se muestran en forma de chat, como los acostumbrados en los servicios de chat móvil más populares.

  2. También se dispone de la posibilidad de pasar de uno a otro de los 22 idiomas directamente en la plataforma. Si prefiere comerciar usando la interfaz en inglés, active dicho idioma en el apartado "Ajustes" ("Sobre el programa", en iPad) sin cambiar el idioma de su dispositivo.

18 agosto 2016
MetaTrader 4 build 1010: Posibilidades ampliadas para MQL4

Terminal

  1. Corregido el error que provocaba que los programas MQL4 no se pudieran ejecutar en los terminales al trabajar con la versión de 32 bits de Windows 10, build 1607.
  2. Corregidos los errores que en ocasiones provocaban la representación errónea de los botones de búsqueda y chat.
  3. Corregido el error que provocaba en ciertos casos que las cartas de bienvenida se recibieran por duplicado en el terminal al abrir las cuentas demo.

MQL4

  1. Añadidos los punteros 'void *', lo que permitirá crear colecciones abstractas de objetos. En una variable de este tipo se puede guardar un puntero a un objeto de cualquier clase. Para esta transformación se recomienda usar el operador dynamic_cast<nombre de la clase *>(puntero void *). Si la transformación no es posible, el resultado será NULL.
    class CFoo { };
    class CBar { };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       void *vptr[2];
       vptr[0]=new CFoo();
       vptr[1]=new CBar();
    //---
       for(int i=0;i<ArraySize(vptr);i++)
         {
          if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
             Print("CFoo * object at index ",i);
          if(dynamic_cast<CBar *>(vptr[i])!=NULL)
             Print("CBar * object at index ",i);
         }
       CFoo *fptr=vptr[1];  // dará error de transformación de los punteros, vptr[1] no es un objeto de CFoo
      }
    //+------------------------------------------------------------------+
  2. Añadido el soporte del operador [ ] para la línea, lo que permitirá obtener el símbolo de la línea según el índice. Si el índice establecido sale de los límites de la línea, el resultado será 0.
    string text="Hello";
    ushort symb=text[0];  // retornará el código del símbolo 'H'
    
  3. Aumentada la velocidad de funcionamiento de la función de copiado de datos históricos y de ticks CopyXXX.
  4. Corregido el error de borrado masivo de objetos gráficos según el prefijo con la ayuda de la función ObjectDeleteAll. Anteriormente, después de ejecutar esta función los objetos restantes se podían representar en un orden incorrecto.
  5. Corregido el error que en ciertos casos provocaba la representación en un orden incorrecto de los objetos gráficos al cambiar de marco temporal.

Hosting

  1. En la sincronización del terminal con el servidor virtual ahora no participan gráficos sin expertos, incluso si en dichos gráficos han sido iniciados indicadores de usuario. Para la migración de un indicador de usuario que funcione por separado, inícielo en el gráfico de un experto "vacío" que no realice ninguna operación. Es posible generarlo con facilidad a través del Wizard MQL4 en el MetaEditor, eligiendo el punto "Asesor: plantilla". Esto garantiza que la migración de los indicadores de usuario se realizará de forma consciente.
  2. Ahora podemos sincronizar los expertos e indicadores de usuario que contengan en su nombre símbolos no latinos (por ejemplo, cirílico o jeroglíficos).

Correcciones de crash logs.

1 julio 2016
MetaTrader 4 build 985: Chat MQL5.community incorporado

Terminal

  1. Añadido chat incorporado. Ahora podrá intercambiar mensajes instantáneos con amigos y colegas en MQL5.community directamente en la plataforma comercial. En el chat se muestra la historia de mensajes completa, así como el número de mensajes no leídos. Para comenzar una conversación, entre en su cuenta MQL5 directamente desde la ventana del chat o a través de los ajustes de la plataforma: Servicio -> Ajustes -> Comunidad.




  2. Terminal: Optimizada la lectura de la base de datos del correo interno al iniciar el terminal.

MQL4

  1. Añadida la posibilidad de mostrar/ocultar la escala de precio y tiempo en cualquier gráfico. Antes un programa MQL4 podía cambiar las propiedades CHART_SHOW_PRICE_SCALE y CHART_SHOW_DATE_SCALE solo para el gráfico en el que había sido iniciado.
  2. Añadida la propiedad MODE_CLOSEBY_ALLOWED para la función MarketInfo. El valor TRUE significa que para el instrumento dado está permitida la operación Close By - cierre de una posición con la opuesta.
  3. Corregida la transmisión del parámetro de línea al punto de entrada OnChartEvent, que provocaba un valor erróneo del parámetro. OnChartEvent permite seguir los eventos del gráfico: la pulsación de un botón del teclado, el desplazamiento del ratón y otros.
  4. Se ha acelerado la eliminación masiva de objetos gráficos con la ayuda de la función ObjectsDeleteAll.

Signals

  1. Mejorada la comparación automática de parejas de divisas que contienen RUB y RUR.

Tester

  1. Corregida la inscripción de la hora de creación de los objetos gráficos durante la simulación. Antes se inscribía la hora actual del terminal, en lugar de la hora de la simulación.

MetaEditor

  1. Corregida la colocación del enfoque en el cuadro de texto de reemplazo al abrir el cuadro de diálogo de reemplazo.
  2. Corregido el reemplazo masivo de texto al buscar hacia arriba desde la posición actual.
  3. Correcciones de crash logs.


3 junio 2016
MetaTrader 4 build 970: Apertura sencilla de cuentas demo y posibilidades de MQL4 ampliadas

Terminal

  1. Simplificada la ventana de diálogo de apertura de la cuenta demo. Ahora no es necesario rellenar un formulario enorme, basta con indicar los datos principales y elegir los parámetros comerciales: el tipo de cuenta, el depósito y el apalancamiento.




MQL4

  1. Modificado el formato de los archivos ejecutables EX4, a raíz de la adición de nuevas posibilidades al lenguaje MQL4. Todos los programas EX4 antiguos compilados en el MetaEditor de builds anteriores funcionarán correctamente después de la actualización. De esta forma, la compatibilidad de abajo hacia arriba se conserva totalmente.

    Al mismo tiempo, los programas EX4 compilados en los builds 970 y superiores no funcionarán en los terminales con los builds antiguos, no existe la compatibilidad inversa.

  2.  Añadido el soporte de las clases abstractas y las funciones virtuales puras.

    Las clases abstractas están diseñadas para crear entidades genéricas, sobre cuya base se supone que se crearán clases derivadas más concretas en lo sucesivo. Una clase abstracta, es una clase que sólo puede ser utilizada como clase básica para alguna otra clase, por eso no se puede crear un objeto de tipo de clase abstracta.

    La clase que contenga aunque sea solo una función virtual pura, es abstracta. Por eso las clases derivadas de una clase abstracta deben implementar todas sus funciones virtuales puras, de lo contrario, también serán clases abstractas.

    Una función virtual se declara como "pura" con la ayuda de la sintaxis de un especificador puro. Veremos como ejemplo la clase CAnimal, que se crea solo para proporcionar las funciones generales, los propios objetos del tipo CAnimal tienen un carácter demasiado general para la aplicación práctica. De esta forma, la clase CAnimal es un buen candidato a clase abstracta:
    class CAnimal
      {
    public:
                          CAnimal();     // constructor
       virtual void       Sound() = 0;   // función virtual pura
    private:
       double             m_legs_count;  // número de patas del animal
      };
    
    Aquí la función Sound() es virtual pura, por eso se la declara con el especificador de función virtual pura PURE (=0).

    Las funciones virtuales puras son solo aquellas funciones virtuales para las que se indica el especificador puro  PURE, y  precisamente: (=NULL) o (=0). Ejemplo de declaración y uso de una clase abstracta:
    class CAnimal
      {
    public:
       virtual void       Sound()=NULL;   // PURE method, debe ser redefinido en la clase derivada, la propia clase CAnimal se ha convertido en abstracta y no puede ser creada
      };
    //--- derivada de la clase abstracta
    class CCat : public CAnimal
     {
    public:
      virtual void        Sound() { Print("Myau"); } // PURE es redefinido, la clase CCat no es abstracta y puede ser creada
     };
    
    //--- ejemplos de uso incorrecto
    new CAnimal;         // error 'CAnimal' - el compilador retorna el error "cannot instantiate abstract class"
    CAnimal some_animal; // error 'CAnimal' - el compilador retorna el error "cannot instantiate abstract class"
    
    //--- ejemplos de uso correcto
    new CCat;  // no hay error, la clase CCat no es abstracta
    CCat cat;  // no hay error, la clase CCat no es abstracta
    
    Limitaciones de uso de las clases abstractas
    Si el constructor de una clase abstracta invoca una función virtual pura (directa o indirectamente) el resultado es indefinido.
    //+------------------------------------------------------------------+
    //| Clase básica abstracta                                           |
    //+------------------------------------------------------------------+
    class CAnimal
      {
    public:
       //--- función virtual pura
       virtual void      Sound(void)=NULL;
       //--- función
       void              CallSound(void) { Sound(); }
       //--- constructor
       CAnimal()
        {
         //--- invocación directa del método virtual
         Sound();
         //--- invocación indirecta (a través de una tercera función)
         CallSound();
         //--- en el constructor y/o destructor siempre se invocan sus propias funciones,
         //--- a pesar del carácter virtual y de la redefinición de la función invocada en la derivada
         //--- si la función invocada es virtual pura, entonces
         //--- la invocación provocará el error de ejecución crítico: "pure virtual function call"
        }
      };
    
    Sin embargo, los constructores y destructores de las clases abstractas pueden invocar otras funciones miembro.

  3. Para que la organización de modelos de eventos sea más sencilla, se ha añadido el soporte de índices a una función.

    Para declarar un índice a una función, defina el tipo "índice a una función", por ejemplo:
    typedef int (*TFunc)(int,int);
    Ahora TFunc es un tipo y se puede declarar la variable-índice a una función:
    TFunc func_ptr;
    En la variable func_ptr se puede guardar el índice a una función para invocarla más tarde:
    int sub(int x,int y) { return(x-y); }
    int add(int x,int y) { return(x+y); }
    int neg(int x)       { return(~x);  }
    
    func_ptr=sub;
    Print(func_ptr(10,5));
    
    func_ptr=add;
    Print(func_ptr(10,5));
    
    func_ptr=neg;           // error: neg no tiene el tipo  int (int,int)
    Print(func_ptr(10));    // error: tiene que haber dos parámetros
    
    Los índices a una función se pueden guardar y transmitir como parámetros. No es posible recibir un índice a un método de clase no estático.

  4. A la enumeración de propiedades del terminal de cliente ENUM_TERMINAL_INFO_INTEGER se ha añadido el valor TERMINAL_SCREEN_DPI, la capacidad de resolución a la hora de mostrar información en la pantalla se mide por la cantidad de puntos por pulgada lineal de la superficie (DPI). El conocimiento de este parámetro permite definir las dimensiones de los objetos gráficos de tal forma que parezcan iguales en monitores con diferente capacidad de resolución.
  5. A la enumeración de propiedades del terminal de cliente ENUM_TERMINAL_INFO_INTEGER se ha añadido el valor TERMINAL_PING_LAST, el último valor conocido del ping hasta el servidor comercial en microsegundos. En un segundo hay un millón de microsegundos.
  6. En los indicadores de usuario, los búferes DRAW_NONE (no hay construcciones gráficas) ahora no participan en los cálculos del mínimo y el máximo de la ventana del gráfico.
  7. Corregida la formación de eventos relacionados con el desplazamiento del ratón y la pulsación de los botones del ratón sobre los objetos del tipo OBJ_LABEL y OBJ_TEXT. Antes, si se encontraban dentro de los límites de otros objetos del tipo OBJ_RECTANGLE_LABEL, OBJ_RECTANGLE, los eventos se formaban de manera incorrecta.
  8. En los indicadores de usuario se ha corregido el dibujado de las columnas del histograma de altura cero. Antes estas columnas no se dibujaban, ahora se dibujan con una altura de un píxel.

Signals

  1. Corregidos los errores de búsqueda de instrumentos comerciales al comparar los instrumentos comerciales disponibles de la fuente de la señal y del suscriptor.

Tester

  1. Corregida la aplicación del spread en un archivo fxt, si en los ajustes de la simulación se usa el spread actual.

Market

  1. Corregida una serie de errores en la representación del escaparate del Mercado.

MetaEditor

  1. Corregida la búsqueda de una palabra por los archivos en el modo "Solo palabra completa".
  2. Añadido el paso a un archivo con un doble click en la línea del resultado de la compilación del archivo correspondiente.
  3. Corregida la representación de algunos elementos de control en Windows XP.


Correcciones de crash logs.
18 mayo 2016
MetaTrader 4 Android build 952
  1. Añadida una ventana emergente con información detallada sobre las operaciones. Podrá ver con solo un toque la hora de apertura y cierre de las órdenes, ver los comentarios a la posición y conocer el volumen de la comisión del bróker.
  2. Añadida al gráfico una línea roja que corresponde al precio Ask de la última barra. Esto le ayudará a controlar con mayor precisión su proceso comercial.
  3. Mejorado el funcionamiento de las noticias, ahora puede elegir y leer las categorías de noticias que le interesen, así como añadir los materiales que le gusten a favoritos.
  4. Todos los cambios en los ajustes de los objetos analíticos se guardan después de cerrar la aplicación.
6 mayo 2016
MetaTrader 4 iOS build 947

Ahora, para acceder a la aplicación se puede establecer un código PIN. Sus cuentas estarán protegidas de forma adicional, incluso en el caso de que pierda su dispositivo móvil. Active "Bloqueo de pantalla" en los ajustes de la aplicación. Por defecto, usará el mismo código PIN que existe para el acceso al generador de contraseñas de un solo uso.

En la nueva versión también se han introducido múltiples correcciones y mejoras.

23 febrero 2016
Plataforma web MetaTrader 4: un conjunto completo de indicadores técnicos e interfaz en 38 idiomas

La nueva versión de la plataforma MetaTrader 4 recibió un conjunto completo de indicadores para el análisis técnico. Ahora ella tiene 30 de los indicadores técnicos más populares en el mundo, al igual que en la versión de escritorio de MetaTrader 4:

Acelerador Oscilador
DeMarker Moving Average
Acumulação/Distribuição  Envelopes Moving Average of Oscillator
Alligator Force Index
On Balance Volume
Average Directional Movement Index Fractais Parabolic SAR 
Average True Range
Oscilador Gator Relative Strength Index 
Oscilador Maravilhoso Ichimoku Kinko Hyo Relative Vigor Index
Bears Power
MACD Desviación Estándar
Bollinger Bands
Índice de facilitación de mercado
Stochastic Oscillator
Bulls Power
Momentum Volume
Commodity Channel Index
Índice de flujo de dinero Williams' Percent Range

Todavía estamos trabajando en el acceso a la aplicación, es por eso que ahora la interfaz de la plataforma web está disponible en 38 idiomas. Se agregaron traducciones en 14 idiomas:

Holandés
Lituano Croata
Griego Rumano Checo
Hebreo Serbio
Sueco
Italiano Esloveno
Estonio
Letón
Finlandés



¡Abra su plataforma web ahora y disfrute de su aplicación actualizada!

15 febrero 2016
Plataforma web MetaTrader 4: Fueron adicionados los indicadores Bill Williams

En la nueva versión de la plataforma MetaTrader 4, aceleramos significativamente los gráficos mediante el uso de tecnología moderna de gráficos WebGL, por lo que ahora incluso un conjunto de indicadores que se ejecutan al mismo tiempo no afectará el rendimiento de la plataforma web.

Fue iniciado un trabajo en la implementación de indicadores técnicos. Actualmente ya están disponibles los indicadores Bill Williams:

  1. Alligator,
  2. Fractals,
  3. Market Facilitation Index,
  4. Awesome Oscillator,
  5. Accelerator Oscillator,
  6. Gator Oscillator.
Seguimos trabajando en el acceso a la aplicación, es por eso que tradujimos la interfaz al Hindi, uzbeko y ucraniano.
15 enero 2016
MetaTrader 4 iOS build 945
  • Añadido el soporte de la orientación vertical en la pantalla en el iPad. Úsela para mirar con comodidad las listas largas de operaciones comerciales, para leer el correo y las noticias.
  • Añadido el soporte de iPad Pro.
  • Añadida la lengua coreana al interfaz.
  • Diversas correcciones y mejoras.
23 diciembre 2015
MetaTrader 4 build 950: Vídeos incorporados y mejora del funcionamiento

Virtual Hosting

  1. En la ventana de diálogo para destacar el servidor virtual se ha añadido el enlace al vídeo didáctico "Cómo alquilar una plataforma virtual". Vea este vídeo de dos minutos y sepa lo sencillo que es iniciar un robot comercial o el copiado de señales en el modo 24 horas al día, 7 días a la semana.


    Este y otros muchos vídeos están disponibles en el canal oficial de MetaQuotes Software Corp. en YouTube.

Terminal

  1. Corregida la clasificación de los programas MQL4 en las subcarpetas de la ventana "Navegador". La clasificación se realiza por nombre.
  2. Corregido el dibujado del indicador de estado de la conexión de red al trabajar en las pantallas de alta definición (4K).
  3. Corregida la muestra de la ventana de vista previa antes de imprimir las noticias.
  4. Añadida la búsqueda plenamente funcional al visualizador de archivos del registro del terminal, de los expertos, del simulador y del hosting virtual. Ahora la búsqueda se puede realizar hacia adelante y hacia atrás, teniendo en cuenta el registro y también introduciendo palabras completas.

MetaEditor

  1. Se ha añadido al Asistente MQL4 el enlace al vídeo didáctico "Cómo montar un robot comercial en el Asistente MQL5". Vea este vídeo de 3 minutos y cree su propio robot comercial, sin escribir una sola línea de código.


    Este y otros muchos vídeos están disponibles en el canal oficial de MetaQuotes Software Corp. en YouTube.

MQL4

  1. Se ha corregido el valor retornado por la función SignaBaseTotal. En algunos casos, en lugar de la cantidad total de señales disponibles en el terminal, se retornaba 0.
  2. Corregido el error de cambio de visibilidad del objeto gráfico en diferentes marcos temporales de los programas MQL4. En algunos casos, el objeto no se representaba en el gráfico después de cambiar esta propiedad.

Tester

  1. Cambiada la muestra de los valores de los precios y de los niveles SL\TP en la ventana de resultados de la simulación.
Correcciones de crash logs.


11 diciembre 2015
MetaTrader 4 build 940: Adaptación para las pantallas de alta definición

Terminal

  1. Se han finalizado los trabajos de adaptación del interfaz al funcionamiento de las pantallas de alta definición (4K). En las pantallas de grandes dimensiones todos los elemntos del interfaz se muestran con nitidez. En las pantallas de pequeñas dimensiones, el tamaño de los elementos aumenta de forma automática para que se puedan leer con facilidad.




MQL4

  1. Corregido el error que provocaba en ciertos casos el error de compilación "Error al grabar EX4" (Error writing EX4) utilizando Windows 10.
  2. Corregido el error que provocaba en ciertos casos el error de carga de DLL ajenos en los scripts o expertos.

Virtual Hosting

  1. Corregido el error de migración al invocarse la biblioteca EX4 en el indicador de usuario, que a su vez se invoca desde el experto.

Signals

  1. Corregidas las notificaciones sobre los errores en la página de suscripción a una señal. Por ejemplo, el mensaje sobre la ausencia de los símbolos necesarios para el copiado, sobre las condiciones comerciales diferenciadas, etcétera.

MetaEditor

  1. Corregido el funcionamiento de los comandos de puesta en orden de las ventanas abiertas, si una de las ventanas está completamente desplegada. A través del menú "Ventanas", los archivos abiertos se pueden disponer en forma de mosaico, verticalmente, horizontalmente y en forma de cascada.


Correcciones de crash logs.
26 noviembre 2015
MetaTrader 4 build 920: Aumento de la velocidad de funcionamiento y gestión del test visual desde el archivo de configuración

Terminal

  1. Corregido el error del escaneado inicial y periódico de servidores comerciales en el diálogo de inicio la cuenta comercial. Ahora la accesibilidad y los pings se determinan a su debido tiempo, sin que sea necesario escanear de forma manual.




  2. Optimizado y acelerado el funcionamiento del terminal de cliente.
  3. Se han continuado los trabajos de adaptación del interfaz al funcionamiento de las pantallas de alta defición (4K).

MQL4

  1. MQL4: Corregido el error de carga de los indicadores de usuario desde los recursos de los programas MQL4. Los indicadores son incluidos en los recursos con la ayuda de la directiva #resource. Esto permite crear programas "todo en uno", que son bastante más fáciles de distribuir.
  2. MQL4: Corregida la precisión de representación del valor de los niveles en los indicadores de usuario. Antes la precisión de representación era de 4 dígitos tras la coma, ahora se determina con la precisión de valores correspondiente al indicador de usuario.
  3. MQL4: Corregida la comprobación de la posibilidad de reducir un objeto de un tipo a otro tipo como resultado de la herencia al transmitir el objeto como parámetro de un método/función.
  4. MQL4: Corregido el recálculo de los indicadores estándar en el búfer indicado (iIndicatorOnArray), en el caso de que los datos hayan sido establecidos por una matriz de tamaño fijo. En algunos casos el indicador se recalculaba.
  5. MQL4: Corregidos los errores en las plantillas de clases.

Tester

  1. Tester: Añadida la posibilidad de gestionar el modo de visualización al iniciar el simulador desde el archivo de configuración ini. El nuevo parámetro TestVisualEnable (true/false) es el responsable de ello. Si el parámetro no ha sido indicado, entonces se usa el ajuste actual.
  2. Tester: Corregido el error en las funciones CopyXXX, a causa del cual se retornaban los datos de la historia real, en lugar de los de la historia de prueba.
  3. Tester: Corregida la lectura de los parámetros de testado desde el archivo ini de configuración transmitido en la línea de comando.
  4. Tester: Corregido el error de liberación excesiva de memoria después de cerrar el gráfico de testado visual. En una serie de casos, esto provocaba que los datos históricos no estuviesen accesibles para los expertos que operan realmente.

Correciones de crash logs.

12 noviembre 2015
MetaTrader 4 build 910: Mejoras en la Biblioteca de códigos y elaboración definitiva del interfaz para Windows 10

Code Base

  1. Corregida y aumentada la velocidad de carga de los programas MQL4 de la Biblioteca. Descargue los códigos fuente gratuitos de los robots comerciales e indicadores directamente en el terminal.

Terminal

  1. Corregidos los errores al liberar de la memoria la historia de precio cargada. El error surgía cuando faltaba memoria.
  2. Corregida la representación de una serie de elementos del interfaz de usuario al trabajar con Windows 10.
  3. Corregida la eliminación de objetos gráficos del gráfico con la ayuda de la tecla Backspace.

Signals

  1. Completadas y corregidas las traducciones del escaparate de señales comerciales.

MQL4

  1. Añadida la propiedad read-only SYMBOL_VISIBLE a la enumeración ENUM_SYMBOL_INFO_INTEGER .
  2. Corregida una serie de errores al usar las plantillas.
  3. Corregido el comportamiento de la función ArrayCopy al copiar la matriz de línea, cuando la zona de datos de la fuente y el receptor de datos se cruzaban completa o parcialmente.

Tester

  1. Añadida la limitación al testar las versiones demo de los indicadores y expertos de MQL5 Market. Ahora el testado de las versiones demo de los productos de pago se ve finalizado de forma forzosa una semana antes de la fecha actual en el terminal.

MetaEditor

  1. Corregido el error que causaba en ciertos casos un conflicto de las descripciones emergentes con otras aplicaciones.


Correciones de crash logs.

22 octubre 2015
MetaTrader 4 Build 900: Plantillas de clases en MQL4 y optimización del trabajo con la memoria

Terminal

  1. Corregido el error del cambio de contraseña de una cuenta inactiva (no conectada).



  2. Terminal: Optimizado el uso y liberación de memoria al trabajar con grandes volúmenes de datos históricos.
  3. Terminal: Corregido y optimizado el trabajo con grandes cantidades de categorías de noticias.

Signals

  1. Corregida la baja del servicio de señales en el menú de contexto de la ventana "Navegador".



MQL4

  1. Añadidas las plantillas de clases, que permiten crear clases parametrizadas como en C++. Esto permitirá lograr una mayor abstracción y usar el mismo código para trabajar de una manera uniforme con objetos de diferentes clases. Ejemplo de uso:
    //+------------------------------------------------------------------+
    //|                                                    TemplTest.mq5 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    //| Anunciamos la plantilla de clase                                        |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArray
      {
    protected:
       T                 m_data[];
    
    public:
    
       bool              Append(T item)
         {
          int new_size=ArraySize(m_data)+1;
          int reserve =(new_size/2+15)&~15;
          //---
          if(ArrayResize(m_data,new_size,reserve)!=new_size)
             return(false);
          //---
          m_data[new_size-1]=item;
          return(true);
         }
       T                 operator[](int index)
         {
          static T invalid_index;
          //---
          if(index<0 || index>=ArraySize(m_data))
             return(invalid_index);
          //---
          return(m_data[index]);
         }   
      };
    //+------------------------------------------------------------------+
    //| La plantilla de clase de la matriz de índices, en el destructor elimina     |
    //| aquellos objetos a los que se referían los índices guardados en la matriz.                   |
    //|                                                                  |
    //| Preste atención a la herencia de la plantilla de la clase TArray    |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArrayPtr : public TArray<T *>
      {
    public:
       void             ~TArrayPtr()
         {
          for(int n=0,count=ArraySize(m_data);n<count;n++)
             if(CheckPointer(m_data[n])==POINTER_DYNAMIC)
                delete m_data[n];
         }
      };
    //+------------------------------------------------------------------+
    //| Anunciamos la clase, los índices a sus objetos los guardaremos en la matriz  |
    //+------------------------------------------------------------------+
    class CFoo
      {
       int               m_x;
    public:
                         CFoo(int x):m_x(x) { }
       int               X(void) const { return(m_x); }
      };
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    TArray<int>     ExtIntArray;   // instanciamos la plantilla TArray (especializamos la plantilla TArray con el tipo int)
    TArray<double>  ExtDblArray;   // instanciamos la plantilla TArray (especializamos la plantilla TArray con el tipo double)
    TArrayPtr<CFoo> ExtPtrArray;   // instanciamos la plantilla TArrayPtr (especializamos la plantilla TArrayPtr con el tipo CFoo)
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- llenamos las matrices con datos
       for(int i=0;i<10;i++)
         {
          int integer=i+10;
          ExtIntArray.Append(integer);
          
          double dbl=i+20.0;
          ExtDblArray.Append(dbl);
          
          CFoo *ptr=new CFoo(i+30);
          ExtPtrArray.Append(ptr);
         }
    //--- generamos el contenido de las matrices
       string str="Int:";
       for(i=0;i<10;i++)
          str+=" "+(string)ExtIntArray[i];      
       Print(str);   
       str="Dbl:";
       for(i=0;i<10;i++)
          str+=" "+DoubleToString(ExtDblArray[i],1);
       Print(str);   
       str="Ptr:";
       for(i=0;i<10;i++)
          str+=" "+(string)ExtPtrArray[i].X();      
       Print(str);
    //--- no es necesario eliminar los objetos CFoo creados a través de new, se eliminan en el destructor del objeto TArrayPtr<CFoo>  
      }
    Resultado de la ejecución:
    TemplTest EURUSD,M1: Ptr: 30 31 32 33 34 35 36 37 38 39
    TemplTest EURUSD,M1: Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0
    TemplTest EURUSD,M1: Int: 10 11 12 13 14 15 16 17 18 19
  2. Corregida la redistribución de la memoria en la función ArrayCopy, que en ciertos casos provocaba la caída de los programas MQL4.

Tester

  1. Corregido el error que provocaba la puesta a cero de las variables anunciadas a nivel global después de finalizar la simulación del indicador.
  2. Corregida la simulación en ausencia de conexión con el servidor comercial.

MetaEditor

  1. MetaEditor: En MetaAssist se ha corregido la determinación del nombre de la función, en caso de que se muestre el tipo.
  2. MetaEditor: Corregida la apertura de grandes archivos.
  3. MetaEditor: Añadido el botón de acceso rápido F para iniciar la búsqueda desde la pestaña Biblioteca, así como multitud de pistas en la línea de estado, para los comandos de trabajo con el código: aumento/reducción de la sangría, desplazamiento, cambio de registro, etcétera.


Correciones de crash logs.
2 octubre 2015
MetaTrader 4 iPhone build 861
  • Trabajar con los objetos analíticos es más cómodo. Ahora se construyen solo en el gráfico actual, para representarlos en otros símbolos, utilice los ajustes. Para usar de manera óptima el espacio, desactive la muestra de objetos en los marcos temporales innecesarios.
  • Ahora en los gráficos es posible ver los límites de los marcos temporales mayores - active los separadores de periodos.
  • Mejorada la compatibilidad con iOS 9.
18 septiembre 2015
New MetaTrader 4 Build 880: Trading web, contraseñas de un solo uso y ampliación del pago directo

MetaTrader 4 Client Terminal build 880

  1. Web Trading: Le presentamos la primera versión de la plataforma para el trading a través de la interfaz web. ¡En ella Usted podrá tradear y realizar el análisis de los mercados financieros simplemente utilizando su navegador! El trabajo con la interfaz web es totalmente seguro ya que toda la información transferida se cifra con absoluta seguridad.

    Por ahora el trading web está disponible sólo en MQL5.community, simplemente entre en la nueva sección “Trading”. En el futuro Usted podrá tradear directamente desde el sitio web de su broker puesto que el terminal web se integra fácilmente en la página HTML como un cómodo widget a través de iframe.



    Añada la nueva cuenta: indique el número y el nombre del servidor, luego indique una contraseña para conectarse.



    La interfaz de la plataforma web es igual a la versión desktop, por eso no será ningún problema para familiarizarse con ella. Actualmente está disponibles las funciones principales:
    • Realizar las operaciones comerciales de cualquier tipo: colocación de las órdenes de mercado y órdenes pendientes
    • Ver las cotizaciones de instrumentos financieros en tiempo real en Observación del Mercado
    • Gráficos ajustables de cotizaciones
    • 9 períodos de tiempo en los gráficos
    • Objetos analíticos principales: línea horizontal, vertical y de tendencia, canal equidistante y líneas de Fibonachi
    Las posibilidades de la plataforma web van a aumentarse constantemente.



    La nueva sección del perfil “Cuentas comerciales” sirve para administrar sus cuentas.




  2. Hosting y Signals: Ahora se puede pagar el hosting virtual y la suscripción a las señales comerciales directamente a través de los sistemas de pago.

    Para pagar el hosting, no hace falta entrar en MQL5.community y hacer depósito en la cuenta. Ahora puede pagar el alquiler utilizando uno de los sistemas de pago directamente dentro de la plataforma.



    Seleccione el sistema necesario y realice el pago:




    De la misma manera, Usted puede formalizar la suscripción de pago a las señales comerciales directamente desde el terminal, simplemente seleccione el sistema de pago que mejor le convenga.



    Primero el importe necesario va a depositarse en su cuenta de MQL5.community, y luego este importe se descontará de su cuenta en concepto del alquiler. Así Usted siempre tendrá un historial transparente y claro de los hostings y suscripciones que alquila, además podrá ver sus pagos por los servicios de MQL5.community.

  3. Terminal: Hemos añadido el comando del menú contextual para la conexión rápida al terminal web. Ahora Usted podrá abrir en el navegador el terminal web con la cuenta necesaria directamente desde la plataforma, Todo se hace automáticamente.

    Por ahora la posibilidad del trading web está disponible sólo en las cuentas demo del servidor MetaQuotes-Demo. Usted podrá tradear a través del terminal web en las cuentas comerciales de su broker después de que él actualice la plataforma MetaTrader 4 y active la posibilidad del trading web en los servidores.




  4. Terminal: Ha sido añadida la posibilidad de la autenticación con contraseña de un solo uso. El uso de OTP (por sus siglas en inglés "one-time password", contraseña de un solo uso) es un nivel de seguridad adicional a la hora de trabajar con las cuentas de trading. Cada vez cuando el usuario se conecte a su cuenta, tiene que introducir la contraseña única de un solo uso.

    Las contraseñas de un solo uso se generan en los terminales móviles MetaTrader 4 para iPhone o para los teléfonos inteligentes a base de Android.

    Activación de OTP
    Para empezar a utilizar las contraseñas de un solo uso, tiene que vincular su cuenta de trading con el generador de contraseñas del cual se utilizan los terminales móviles MetaTrader 4 para iPhone o para los teléfonos inteligentes a base de Android.
    Por ahora la posibilidad del uso de OTP está disponible sólo en el servidor MetaQuotes-Demo.

    En los servidores comerciales de su broker la nueva función estará disponible después de que el broker actualice su plataforma MetaTrader 4 y active en ella la opción del uso de OTP.
    Entre en la sección "Ajustes" de su terminal móvil y seleccione la opción OTP. Cuando abre esta sección por primera vez, tiene que establecer una contraseña de cuatro dígitos por razones de seguridad adicional. Tendrá que introducir esta contraseña cada vez que acceda al generador de contraseñas.



    En la ventana que se abre seleccione la opción "Vincular a la cuenta".



    A continuación, indique el nombre del servidor donde tiene abierta su cuenta comercial, el número de la cuenta y la contraseña principal para ella. La opción "Vincular" tiene que quedarse activada. Hay que desactivarla si planea desvincular esta cuenta del generador y no volver a utilizar las contraseñas de un solo uso.

    Después de pulsar el botón "Vincular" situado en la parte superior de la ventana, la cuenta comercial será vinculada al generador y aparecerá el mensaje correspondiente.



    De la misma manera Usted puede vincular al generador el número ilimitado de cuentas comerciales.

    La contraseña de un solo uso se muestra en la parte superior de la sección OTP. Debajo se encuentra el indicador en forma de la línea azul que muestra el plazo de vigencia de esta contraseña. En cuanto el plazo de vigencia expire, la contraseña se considera inválida y se genera una nueva.

    Comandos adicionales:

    • Cambiar contraseña — cambiar la contraseña de acceso al generador.
    • Sincronizar la hora — sincronizar la hora del dispositivo móvil con el servidor de referencia.

    El requerimiento a la precisión está relacionado con el hecho de que la contraseña de un solo uso está vinculada al período de tiempo actual, y esta hora tiene que coincidir en el lado del terminal del cliente y en el lado del servidor.

    Uso de OTP en el terminal desktop


    Después de vincular la cuenta al generador, cada vez que intente conectarse a través del terminal desktop se solicitará adicionalmente la contraseña de un solo uso:




    Para recibir esta contraseña, abra el terminal móvil MetaTrader 4 en su smartphone, vaya a la sección OTP e introduzca el código de comprobación para la obtención de la contraseña de un solo uso.

    MetaTrader 4 Android
     MetaTrader 4 iPhone





  5. Terminal: Para aprender rápido cómo trabajar con la plataforma, hemos creado una serie de tutoriales de vídeo respecto a las Señales, Market y Hosting virtual. Puede acceder a ellos directamente desde la plataforma:



    Estos y los demás vídeos están disponibles en el canal oficial de MetaQuotes Software Corp. en YouTube.

  6. Terminal: Se ha ampliado considerablemente la lista de los parámetros de los instrumentos financieros. En el menú contextual del instrumento en Observación del Mercado ha sido añadido el nuevo comando para la comodidad de visualización de la especificación.


    Se han añadido los siguientes parámetros:

    • Volumen mínimo — volumen mínimo de la transacción con el instrumento.
    • Volumen máximo — volumen máximo de la transacción con el instrumento.
    • Paso del volumen — paso de cambio del volumen.
    • Nivel de congelación — nivel de congelación de las órdenes y posiciones que se encuentran cerca del mercado. Si el precio de la orden o posición se encuentra a la distancia igual al nivel de congelación o menor, se prohíbe la modificación, eliminación y el cierre de la orden o posición correspondiente.
    • Porcentaje del margen — determina qué parte del valor base del margen calculado de acuerdo con el tipo del instrumento va a cobrarse.
    • Divisa del margen — divisa del margen a calcular.
    • Trading — permiso para tradear con este instrumento. Full access — se puede cerrar y abrir posiciones; Close only — sólo cerrar; No — trading prohibido por completo.
    • Ejecución — tipo de ejecución para el instrumento: ejecución instantánea, por pedido o de mercado.
    • Día del triple swap — día de la semana cuando se carga el volumen triple de los swaps.
    • Día de solicitud — el día del inicio del trading con el instrumento.
    • Último día de solicitud — el día de finalización del trading con el instrumento.

  7. Terminal: Ahora es mucho más fácil seleccionar los programas para iniciarlos en el Probador de Estrategias. La lista se muestra en forma del árbol de acuerdo con las carpetas en las que se ubican los Asesores Expertos y los indicadores.



  8. Terminal: Ha sido añadida la visualización de la razón de colocación de la orden en las descripciones emergentes de las listas de las órdenes abiertas e historial del trading.
  9. Terminal: Ahora al situar el cursor del ratón sobre un grupo de los objetos gráficos aplicados, se muestra la descripción emergente del último objeto dibujado, es decir del superior. Antes de la corrección se seleccionaba el tooltip del objeto que iba el último por el nombre en orden alfabético.
  10. Terminal: Ha sido añadida la inscripción en el diario sobre las características del ordenador y sistema operativo en el inicio del terminal de cliente. Ejemplo:
    2015.09.14 14:48:18.486	Data Folder: E:\ProgramFiles\MetaTrader 4
    2015.09.14 14:48:18.486	Windows 7 Professional (x64 based PC), IE 11.00, UAC, 8 x Intel Core i7  920 @ 2.67GHz, RAM: 8116 / 12277 Mb, HDD: 534262 / 753865 Mb, GMT+03:00
    2015.09.14 14:48:18.486	MetaTrader 4 build 872 started (MetaQuotes Software Corp.)
  11. Terminal: Han sido corregidos los errores que a veces provocaban la eliminación del último objeto agregado en vez del seleccionado.
  12. Terminal: Ha sido corregido el relleno de los objetos gráficos (canales) como Canal de Regresión, Canal Equidistante, etc.
  13. Terminal: Ha sido corregida la comprobación de los parámetros de entrada del indicador "Bollinger Bands".
  14. Terminal: Ha sido corregido el error que a veces provocaba el “colgado” del terminal durante la revisión prolongada de las noticias.
  15. Terminal: Ha sido corregido y optimizado el trabajo con el correo interno.
  16. Terminal: Han sido actualizadas las traducciones de la interfaz al portugués y alemán.
  17. Terminal: Siguen los trabajos de adoptación de la interfaz para el trabajo en las pantallas de alta resolución (4K).
  18. Market: Ha sido agregada la posibilidad de comprar los productos a través del sistema de pago UnionPay.
  19. Market: Ha sido mejorado y optimizado el trabajo con la base de los productos de MQL5 Market.
  20. Market: Se ha prohibido realizar las compras sin la cuenta MQL5.community cuando el terminal se usa de forma virtual. Ahora para realizar la compra, es necesario indicar una cuenta MQL5.community en los ajustes del terminal: Herramientas > Ajustes > Comunidad.
  21. Tester: Se ha corregido la aplicación del spread establecido en los parámetros del testeo, optimización de los Asesores Expertos. Antes, en algunas ocasiones, se utilizaba el spread actual en vez del establecido.
  22. MQL4: La función ArrayCopy ha sido corregida y optimizada: aumentada la velocidad a un 20%, corregido el copiado del array en sí mismo.
  23. MQL4: Ha sido corregido el error que a veces provocaba la “caída” del terminal durante la eliminación de los objetos gráficos desde los programas MQL4.
    .
  24. MQL4: Se ha corregido el comportamiento de la función StringToTime durante la transferencia de la hora como cadena, sin fecha (por ejemplo "21:03"). Antes como fecha, se utilizaba la fecha correspondiente a la zona UTC. Ahora se utiliza la fecha correspondiente al tiempo actual en el huso horario local.
  25. MQL4: Se ha acelerado la recompilación de los programas MQL4 durante el primer inicio del terminal con la nueva versión del compilador.
  26. MQL4: Se han añadido las nuevas operaciones * y &. Por consiguiente, ha aparecido la opción de recibir la variable por la referencia y recibir la referencia a la variable.
  27. MQL4: Corregido el comportamiento de la función ArrayResize para algunas ocasiones.
  28. Hosting: Se ha corregido la migración de los ajustes de exportación FTP. Estos ajustes se indican en la pestaña Herramientas - Ajustes - FTP.
  29. Hosting: Se ha mejorado y facilitado el asistente para la migración del hosting virtual.
  30. MetaEditor: Se ha corregido el parado forzado de la depuración y perfilaje de los programas MQL4. Antes, en algunas ocasiones, la depuración y perfilaje no se detenían.
  31. MetaEditor: La interfaz de usuario ha sido traducida al tai.
Han sido corregidos los errores según los crash logs.
1234567