¿Qué novedades tiene MetaTrader 5?

Historial de actualizaciones de las plataformas desktop, móvil y web

23 octubre 2015
MetaTrader 5 build 1200: obtención de la historia de tics y pago directo de los servicios

Terminal

  1. Añadido el trabajo con la historia de tics a la observación del mercado. Si antes el gráfico de tics solo mostraba la historia acumulada en el terminal durante el funcionamiento del mismo, ahora está disponible el acceso a la historia de tics completa en el servidor comercial. Desactive el auto scroll y comience a desplazarse por el gráfico de tics hacia atrás hasta aspectos pasados, con ayuda del ratón, para cargar desde el servidor comercial la historia que falte, igual que se hace con los gráficos de precio habituales. El nuevo funcional será útil para los traders que quieran conseguir gráficos de cambio de precio detallados al máximo.



    Para obtener automáticamente una historia de tics más profunda, use la función CopyTicks(), su funcionamiento ha sido modificado de tal forma que solicite y cargue la historia que falta, en caso de que esta se encuentre disponible en el servidor comercial.

  2. Añadido un icono de activación/desactivación rápida de la profundidad de mercado, se encuentra junto al panel "Comercio con un click". También podrá usar la nueva combinación de teclas de acceso rápido Alt+B, que funciona, no solo en el propio gráfico, sino también en la ventana Market Watch, en este caso, se abre la profundidad de mercado del símbolo que haya sido destacado en la Observación del mercado.




  3. Las características de la computadora y el sistema operativo se guardan ahora en el registro al inicio del terminal de cliente. Ejemplo:
    2015.10.14 14:48:18.486	Data Folder: C:\Program Files\MetaTrader 5
    2015.10.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.10.14 14:48:18.486	MetaTrader 5 build 1190 started (MetaQuotes Software Corp.)
  4. Mejorado el trabajo con los símbolos en la "Observación del mercado" (Market Watch):

    • Añadida la muestra del número de símbolos en Market Watch y de la cantidad total de símbolos disponibles en el servidor comercial
    • Añadida la línea de adición de un nuevo símbolo con la lista de selección inteligente
    • La búsqueda en la línea de símbolo nuevo se realiza, no solo por el nombre del símbolo, sino también por su descripción y nombre internacional.




  5. Añadido el soporte de calendario de eventos económicos en varias lenguas.
  6. Añadidos los iconos de los pictogramas de los países que faltaban en el calendario económico.
  7. Añadidas las teclas de acceso rápido para abrir la ventana de gestión de los símbolos en la Observación de mercado - Ctrl+U.
  8. Corregida la puesta en orden de las ventanas abiertas de los gráficos con los comandos en el menú "Window".
  9. Corregido el error cuando el terminal en ciertos casos no podía encontrar el archivo de certificado al usar la autenticación ampliada.
  10. Corregido el error que provocaba en ciertos casos un bucle en la sincronización de la historia de precios.
  11. Corregido el error que causaba el inicio de los niveles StopLoss/TakeProfit de una posición anteriormente abierta al aumentar su volumen, si se comerciaba con el instrumento en el modo Request Execution.
  12. En la profundidad de mercado se ha corregido la comprobación de la posibilidad de emitir una orden de compra en caso de que hubiese una posición larga de los instrumentos con el modo de comercio "Long only".
  13. Corregido el funcionamiento de la función Trailing Stop. En ciertos casos raros, un Stop Loss protector para una posición abierta podía moverse incorrectamente.
  14. Se han continuado los trabajos de adaptación del interfaz al funcionamiento de las pantallas de alta defición (4K).
  15. Corregido el error que provocaba la descarga de los datos históricos como no utilizados, a pesar de las solicitudes reiteradas a los datos por parte de los programas MQL5.
  16. Corregida la representación de una serie de elementos del interfaz de usuario al trabajar con Windows 10.
  17. Actualizadas las traducciones del interfaz de usuario.

Market

  1. Revisado y optimizado el funcionamiento con la base de productos MQL5 Market.
  2. Añadida la prohibición de compra sin cuenta MQL5.community al usar el terminal en el entorno de la máquina virtual. Ahora para comprar es necesario indicar la cuenta en MQL5.community en los ajustes del terminal: Servicio - Ajustes - Comunidad.
  3. Añadida la compra directa de productos con ayuda del sistema de pago UnionPay.
  4. Añadido el historial ampliado al comprar productos en MQL5 Market.

Virtual Hosting y Signals

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

    Para pagar el hosting no es obligatorio entrar en MQL5.community y recargar saldo. Ahora usted puede pagar sin más el servicio en uno de los sistemas de pago, directamente en la plataforma.



    Elija el sistema que necesite y realice el pago:




    De una forma igualmente directa, puede usted formalizar una suscripción de pago a señales comerciales directamente desde el terminal, solo tiene que elegir un sistema de pago cómodo para usted.




    La suma necesaria será transferida al principio a su cuenta MQL5.community, y desde allí se efectuará el pago. De esta forma, usted siempre podrá disponer de una historia transparente de hostings alquilados y suscripciones a las señales, pudiendo ver, además, todos sus pagos por los servicios de MQL5.community.
  2. Hosting: Añadida la gestión del hosting virtual (excepto la migración) al trabajar con la versión de 32 bits del terminal de cliente.
  3. Hosting: Corregida la migración de los ajustes de la exportación de FTP al hosting virtual, independientemente del permiso de publicación vía FTP.

MQL5

  1. Activado un nuevo compilador de optimización. La velocidad de ejecución de programas en las plataformas de 64 bits se ha multiplicado por 5. Los programas de MQL5 deben ser compilados de nuevo en la última versión de MetaEditor.
  2. Ampliado el formato de la estructura MqlTick. En esta, ahora se transmite la hora de llegada del tic en milisegundos, así como las banderas que permiten determinar qué parámetro del tic ha cambiado precisamente.
    struct MqlTick
      {
       datetime     time;          // Hora de la última actualización de los precios
       double       bid;           // Precio Bid actual
       double       ask;           // Precio Ask actual
       double       last;          // Precio actual de la última transacción (Last)
       ulong        volume;        // Volumen para el precio Last actual
       long         time_msc;      // Hora de la última actualización de los precios en milisegundos
       uint         flags;         // Banderas de los tics
      };
    Todos los parámetros de cada tic siempre se llenan, independientemente de si han cambiado los datos en comparación con el tic anterior. Esto permite tener siempre el estado actual de los precios en cualquier momento, sin buscar los valores anteriores en la historia de tics. Por ejemplo, con el tic solo ha podido cambiar el precio bid, pero en la estructura, aparte del nuevo precio, se mostrarán también todos los demás parámetros: el precio anterior ask, el volumen, etcétera. Para saber qué datos precisamente han cambiado con el tic actual, analice sus banderas:

    • TICK_FLAG_BID - el tic ha cambiado el precio bid
    • TICK_FLAG_ASK  - el tic ha cambiado el precio ask
    • TICK_FLAG_LAST - el tic ha cambiado el precio de la última transacción
    • TICK_FLAG_VOLUME - el tic ha cambiado el volumen
    • TICK_FLAG_BUY - el tic ha aparecido como resultado de una transacción de compra
    • TICK_FLAG_SELL - el tic ha aparecido como resultado de una transacción de venta

    La estructura MqlTick se usa en dos métodos:
    • CopyTicks - el método no proporciona soporte al viejo formato de estructura. Los archivos EX5 compilados anteriormente, que usan el antiguo formato de tic, al llamar la función CopyTicks retornarán el error 4006 (ERR_MQL_INVALID_ARRAY).
    • SymbolInfoTick - el método proporciona soporte tanto al viejo formato de estructura, como al nuevo.

  3. 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 indicadores,               |
    //| en el destructor elimina aquellos objetos a los que se referían  |
    //| los indicadores guardados en la matriz.                          |
    //| Preste atención a la herencia de la clase de plantilla 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 indicadores 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(int i=0;i<10;i++)
          str+=" "+(string)ExtIntArray[i];      
       Print(str);   
       str="Dbl:";
       for(int i=0;i<10;i++)
          str+=" "+DoubleToString(ExtDblArray[i],1);
       Print(str);   
       str="Ptr:";
       for(int 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,H1)    Int: 10 11 12 13 14 15 16 17 18 19
    TemplTest (EURUSD,H1)    Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0
    TemplTest (EURUSD,H1)    Ptr: 30 31 32 33 34 35 36 37 38 39

  4. Añadidas las nuevas operaciones * y & - respectivamente, para obtener la variable según el enlace y para obtener el enlace a la variable.
  5. Añadida la forma sobrecargada de la función ObjectsDeleteAll - borra todos los objetos del tipo indicado, según el prefijo del nombre en la subventana del gráfico.
    int  ObjectsDeleteAll(
       long           chart_id,   // indentificador del gráfico
       const string     prefix,   // prefijo del nombre del objeto
       int       sub_window=-1,   // índice de la ventana
       int      object_type=-1    // tipo del objeto a eliminar
       );

  6. Corregido el funcionamiento de la función ObjectGetValueByTime. Antes, en ciertos casos (por ejemplo, para la línea de tendencia horizontal) se retornaba de foma incorrecta el valor del precio según la hora en el gráfico.
  7. Corregido el funcionamiento de las funciones Copy* en ausencia de datos históricos en el servidor. Antes, en ausencia de datos en el servidor, la llamada de estas funciones provocaba un retraso de 30-50 segundos a la hora de recuperar el control.
  8. Realizada una serie de correcciones en la biblioteca estándar MQL5.
  9. La documentación sobre la Biblioteca estándar se ha traducido al alemán, francés, chino, turco, español y portugués.
  10. Añadida la documentación MQL5 en japonés.

Tester

  1. Ahora elegir un programa para iniciar en el simulador de estrategias es basntante más fácil. La lista se muestra en forma de árbol, de acuerdo con los catálogos en los que se encuentran los asesores e indicadores.




  2. La representación de ciertos indicadores durante el testado visual se ha adecuado al terminal de cliente.
  3. Corregido el error de establecimiento del apalancamiento y del marco temporal del gráfico durante la depuración de programas MQL5 a através del simulador de estrategias.
  4. Corregida la depuración de los indicadores al simular sobre datos históricos.

Correciones de crash logs.

Se ha actualizado la documentación.
3 junio 2015
MetaTrader 5 build 622: ¡Comprar robots en el Mercado es ahora más fácil y rápido!

Ahora es posible comprar cualquier aplicación en el Mercado en un solo paso, sin registrarse directamente en las plataformas MetaTrader 4/5. Para ello solo es necesario pulsar el botón "Comprar" y elegir el sistema de pago conveniente.


Después de esto, usted será redirigido a la página del sistema de pago, donde podrá realizar la compra. PayPal, WebMoney, Neteller o tarjeta bancaria, pague por sus compras en la tienda de robots e indicadores preparados usando el método que más le convenga.


Después de comprar, recomendamos de todas formas registrar una cuenta en MQL5.community, su compra quedará automáticamente ligada a ella. Así, usted tendrá la posibilidad de actualizar el producto e instalarlo en otros ordenadores. Además, la cuenta MQL5.community le abrirá acceso a usted a multitud de otros servicios para la plataforma MetaTrader, a las señales comerciales, para copiar transacciones de traders de éxito, al hosting virutal, para que sus aplicaciones puedan funcionar de manera ininterrumpida y al servicio freelance, con el que podrá encargar robots exclusivos a los desarrolladores.

Ahora seguro que ya sabe el modo más rápido y simple de obtener un robot comercial. ¡Más de 5 000 aplicaciones diferentes para MetaTrader ya le están esperando en el Mercado, elija y compre!


25 mayo 2015
MetaTrader 5 build 1150: Compras sencillas en el Market, depuración a base del historial y la fuente de operaciones
MetaTrader 5 Client Terminal build 1150
  1. Market: Presentamos el nuevo mecanismo de compras “directamente”. Ahora es aún mucho más fácil comprar un robot comercial en el Market, y para eso ni siquiera necesita tener una cuenta en MQL5.community.

    Compra con un paso
    Para realizar la compra, no hace falta entrar en MQL5.community y hacer depósito en la cuenta. Ahora puede pagar por el producto elegido utilizando uno de los sistemas de pago directamente dentro de la plataforma. Para que Usted tenga siempre un historial de compras en el Market transparente y claro, en vez de buscarlas en diferentes sistemas de pago, el importe necesario primero va a depositarse en su cuenta MQL5.community, y luego este importe se descontará de su cuenta en concepto del pago por el producto seleccionado.

    De esta manera, Usted siempre podrá ver sus pagos a través de su perfil en MQL5.community.




    Compra sin registrarse
    Ahora Usted puede realizar sus compras en el Market sin tener una cuenta abierta en MQL5.community. Simplemente haga clic en “Comprar” y pague su producto a través de uno de los sistemas de pago disponibles.



    Después de pulsar este botón, será redirigido a la página del sistema de pago seleccionado donde podrá finalizar su compra.



    Le recomendamos insistentemente que abra una cuenta en MQL5.community, y su compra será vinculada automáticamente a ella. Así podrá actualizar el producto e instalarlo en otros ordenadores.

  2. Editor: Ha sido añadida la posibilidad de depurar los Asesores Expertos (EAs) e indicadores basándose en los datos históricos. Antes el proceso de depuración se realizaba sólo a base de los gráficos que se actualizaban en tiempo real.

    Ahora Usted puede comprobar el funcionamiento del programa en una parte del historial que le interesa. La depuración se realiza en el modo de simulación visual en el Probador de Estrategias. El programa se inicia en el gráfico que se construye según la secuencia de los ticks modelada en el Probador de Estrategias.

    Establezca los parámetros necesarios para la depuración en los ajustes de MetaEditor: símbolo, marco temporal, intervalo, modos de ejecución y generación de ticks, depósito inicial y apalancamiento. La simulación visual será iniciada precisamente con estos parámetros.



    Coloque los puntos de interrupción en el código del programa y luego inicie la depuración a base de datos históricos.



    Después de eso, se iniciará las simulación visual y se empezará el proceso de depuración.




  3. Hosting: En el trabajo del “Hosting virtual” han sido agregadas muchas mejoras y correcciones.

    La mayor parte de modificaciones se refieren al trabajo en Wine en los ordenadores con sistemas operativos Linux y Mac OS. Ahora el servidor virtual se selecciona exitosamente y Usted puede trabajar con él en modo normal: realizar la migración, controlar el consumo de recursos y ver los logs.


    El trabajo con el diario también se ha cambiado. Si se solicita una cantidad de entradas demasiado grande, se carga sólo una parte de las primeras entradas para el período especificado. Eso previene la reducción del rendimiento si los logs son demasiado grandes. Ahora, para cargar las entradas más antiguas, ya no hace falta cambiar las fechas de la solicitud, sólo hay que seleccionar la última fila en la ventana y pulsar la tecla PgDn.




  4. Terminal: Ha sido añadido el soporte de un tipo especial de los instrumentos no tradeables que pueden ser utilizados como los activos que cubren las posiciones abiertas de otros instrumentos financieros. Por ejemplo, el trader puede tener en su depósito un determinado volumen de oro en modo físico y utilizarlo como fianza para las posiciones abiertas.

    Estos activos se visualizan en forma de posiciones abiertas y su coste se determina según la siguiente fórmula: Contract size * Lots * Market Price * Liquidity Rate, donde:

    • Contract size - tamaño del contrato
    • Lots - volumen en lotes
    • Market Price - precio actual en el mercado del instrumento
    • Liquidity Rate - coeficiente de liquidez (una parte del coste del activo que el broker permite usar para la fianza)


    Los activos (Assets) se suman a fondos propios (Equity) y aumentan el tamaño del margen libre (Free Margin), lo que permite aumentar los volúmenes de las operaciones comerciales realizadas en la cuenta.

    De esta manera, ha surgido la posibilidad de crear las cuentas con diferentes tipos de cobertura.


    En el ejemplo de arriba el trader tiene 1 onza de oro que según el precio actual del mercado vale 1 210,56 USD. Este valor se suma a los fondos propios y al margen libre. De esta manera, el trader puede seguir operando incluso con el balance cero.

  5. Terminal: Nueva Profundidad del Mercado (DOM) con el gráfico de ticks y visualización de la fuente de operaciones Time&Sales en el gráfico.

    Ahora en la DOM para los instrumentos bursátiles, para los que se transmiten los precios reales de las operaciones, se muestra el gráfico de ticks. En este gráfico se muestran todas las transacciones concertadas en la bolsa:

    • Círculos rojos - operaciones de venta
    • Círculos azules - operaciones de compra
    • Círculos verdes - la dirección de la operación no está determinada. Se utiliza cuando la bolsa no transmite la dirección de las operaciones. En este caso, la dirección se determina según el precio de la operación respecto a los precios Ask y Bid. La compra - si la operación se ha realizado por el precio Ask o mayor, la venta - si se ha realizado por el precio Bid o menor. La dirección se considera indeterminada si el precio de la operación se encuentra entre Bid y Ask.

    Cuanto más grande sea el tamaño del círculo, mayor será el volumen de la operación realizada. Además, los volúmenes de las operaciones se muestran en forma del histograma debajo del gráfico de ticks.



    Arriba y abajo se muestran los volúmenes totales de las ofertas de compra y de venta.

  6. Terminal: En el cuadro de la selección de los símbolos ha sido agregada la columna en la que se muestra la fecha de expiración del instrumento financiero, así como la opción para ocultar los símbolos expirados. Además, ha sido agregado el reemplazo de los contratos vencidos por los actuales.



    Para una visualización más compacta, en la lista se ocultan todos los instrumentos con el plazo de vigencia expirado. Es muy cómodo para el trabajo en el mercado rápido. El instrumento no actual se considera el instrumento con el plazo de vigencia expirado que se determina según el parámetro “Último día de invocación”. Esta fecha se indica en la lista de los símbolos en la columna “Expiración”. Para ver todos los símbolos, active la opción “Mostrar contratos expirados”.

    Por razones de conveniencia, las lista de los símbolos se ordena automáticamente:

    • primero van los instrumentos sin fecha de expiración
    • luego, con fecha de expiración empezando con la fecha más reciente
    • luego, los símbolos expirados empezando con el último símbolo expirado
    • les siguen los símbolos según el orden alfabético

    Para el reemplazo automático de los símbolos expirados por los actuales, en la ventana “Observación del Mercado” se utiliza la opción “Autoeliminación de los expirados”, en el menú contextual.



    Cuando el terminal se reinicia, los símbolos con el plazo expirado se ocultan, en vez de ellos aparecen los más actuales. Por ejemplo, el contrato de futuros expirado LKOH 3.15 será reemplazado por el siguiente contrato del mismo activo base LKOH 6.15.

    Además, ocurre también el reemplazo de los símbolos en los gráficos abiertos (pero sólo si no tienen EAs en funcionamiento).

  7. Terminal: Ha sido corregida la actualización de los estados de los botones de trading en la DOM dependiendo de la presencia/ausencia de la posición y permiso para abrir sólo posiciones largas. Si no hay posiciones, el botón Close se pone inactivo. Si la apertura de posiciones cortas está prohibida, el botón Sell se pone inactivo.

  8. Terminal: Siguen los trabajos de adoptación de la interfaz para el trabajo en las pantallas de alta resolución (4K).
  9. Terminal: Han sido corregidos los errores durante la comprobación del volumen de la posición que se cierra en el modo Request Execution, cuando el volumen de la operación es menor que el permitido.
  10. Terminal: Ha sido corregido el error que provocaba, en algunas ocasiones, el arranque de varios ejemplares del terminal desde la misma carpeta.
  11. Terminal: Ha sido agregado el soporte y filtración automática del calendario de eventos económicos en viarios idiomas. La filtración se realiza según el idioma de la interfaz del terminal.
  12. Terminal: En el visor del Diario ha sido agregada la posibilidad de la búsqueda en las entradas visualizadas del Diario.



    La búsqueda de una palabra/frase se realiza sólo en las entradas visualizadas.
  13. Terminal: El terminal ha sido traducido al tai.
  14. Terminal: La traducción del terminal al hindú ha sido actualizada.
  15. MQL5: Ha sido agregada la nueva función GetMicrosecondCount - devuelve la cantidad de microsegundos transcurridos desde el momento del comienzo de trabajo del programa MQL5:
    ulong  GetMicrosecondCount();
    Se puede utilizar esta función para el perfilaje adicional de la ejecución del programa y detección de “cuellos de botella”.

  16. MQL5: En la enumeración ENUM_OPENCL_PROPERTY_INTEGER ha sido agregada la propiedad CL_BUFFER_SIZE que devuelve el tamaño real del búfer OpenCL en bytes. Se puede obtener esta propiedad mediante la función CLGetInfoInteger.
  17. MQL5: Ha sido modificado el aviso sobre los errores en la función WebRequest. En caso del error del uso de la función, el array result va a contener la descripción del error.
  18. MQL5: Ha sido corregida una serie de errores durante la compilación de las macro.
  19. MQL5: Las funciones de ordenación y búsqueda en el array ArraySort, ArrayBsearch, ArrayMinimum y ArrayMaximum ahora trabajan con los arrays multidimensionales. La ordenación y la búsqueda se realiza sólo por el primer (cero) índice del array. Antes estas funciones trabajaban sólo con los arrays unidimensionales.
  20. Tester: Ha sido introducida una serie de correcciones y mejoras en el funcionamiento de la simulación visual. Ahora la regulación de la velocidad del testeo a través de la barra de herramientas es más suave.
  21. Han sido corregidos los errores según los crash logs.
  22. Ha sido actualizada la documentación.

La actualización estará disponible a través del sistema LiveUpdate.

20 marzo 2015
Actualización de la plataforma MetaTrader 5 build 1100: Aceleración de la simulación y de la optimización de los expertos

Tester

  1. En el gestor de agentes se ha añadido la muestra del estado de la conexión a MQL5 Cloud Network. Tras instalar los agentes, los usuarios podrán comprobar fácilmente que pueden recibir tareas de la red de cálculos en la nube.



De agentes se ha añadido la muestra del estado de la conexión a MQL5 Cloud Network

2. Ejecutada una serie de mejoras y correcciones en el funcionamiento del simulador de estrategias. Se han reducido significativamente las pérdidas de tiempo en las operaciones preparatorias intermedias, así como en los retrasos de la red. Aceleración de la simulación y de la optimización en todos los modos: al trabajar con los agentes locales, con la granja de agentes en la red local y al usar MQL5 Cloud Network.

Terminal

  1. Añadida la muestra de los correos no leídos en la pestaña "Correo" en la ventana "Instrumentos".

    Añadida la muestra de los correos no leídos


  2. En la ventana "Navegador" se ha añadido la muestra de una lista de los expertos iniciados para la cuenta comercial activa. Para cada asesor se indica el gráfico en el que ha sido iniciado. Igualmente se indica con un icono si el asesor tiene permitido el comercio automático.

En la ventana Navegador se ha añadido la muestra de una lista de los expertos iniciados para la cuenta comercial activa

         Con ayuda de los comendos del menú de cliente se le puede permitir o prohibir a un asesor concreto el comercio automático, se lo puede eliminar   del gráfico o ver sus propiedades.

       3.  Aumentada la precisión del algoritmo de determinación de los puntos disponibles para la conexión al servidor comercial.

       4. Corregido el error que provocaba en algunos casos que se limpiara la base de cuentas de cliente al reinstalar un terminal encima del ya disponible.

       5. Se han continuado los trabajos de adaptación del interfaz al funcionamiento de las pantallas de alta defición (4K).

Market:

  1. Corregidos los errores de actualización del saldo de la cuenta MQL5 tras la compra o el alquiler de un producto.

Virtual Hosting

  1. Corregidos los errores de migración de los indicadores personalizados al entorno del hosting virtual.
  2. Corregido el error de actualización del estatus de hosting virtual en la ventana "Navegador".

MQL5

  1. Corregidos los errores que impedían en ciertos en casos la optimización de los expertos en MQL5 Cloud Network.
  2. Corregida la llamada de OnDeinit al eliminar el experto con ayuda de la función ExpertRemove durante la simulación. Antes, en las condiciones descritas, el evento OnDeinit no era llamado.
  3. Corregidos los errores durante el trabajo con los recursos en las biliotecas EX5.
  4. Corregidos los errores al analizar los macros.
Se ha actualizado la documentación.

La actualización estará disponible a través del sistema LiveUpdate.

17 febrero 2015
Actualización de la plataforma MetaTrader 5 build 1085

La actualización de la plataforma MetaTrader 5 build 1085 está publicada. Esta actualización contiene las siguientes modificaciones:

MetaTrader 5 Client Terminal build 1085
  1. Terminal: El Servicio Virtual Hosting ya está disponible. Ahora se puede alquilar el servidor virtual para su cuenta comercial directamente desde el terminal de cliente. Ahora resulta mucho más fácil asegurar la conexión sin fallos con el servidor de trading y garantizar la alimentación interrumpida del ordenador para el trabajo de los Asesores Expertos y el copiado de las señales. Del hosting de los servidores virtuales se encargan las empresas asociadas a MetaQuotes Software Corp.

    Asignación del servidor virtual
    Para obtener el terminal en el servidor virtual, conéctese usando la cuenta de trading necesaria y ejecute el comando «Registrar servidor virtual» en el menú contextual.



    Aparecerá el cuadro de diálogo «Asistente para el hosting virtual» en el que se muestra cómo funciona la red del hosting virtual. El proceso del registro de un servidor virtual se compone de tres pasos durante los cuales le ayudarán con los preparativos para la migración y propondrán a elegir el servidor virtual más cercano con el retardo mínimo de la red al servidor de trading de su broker.



    Usted puede usar 24 horas del hosting gratuito que se conceden a cada usuario registrado en MQL5.community, o bien, eligir una de las tarifas disponibles. En la última fase necesita elegir uno de los modos de migración de datos que depende del propósito que persigue:

    • la migración completa va a ser necesaria si desea iniciar en el terminal los EAs/indicadores y el copiado de las operaciones de suscripción simultáneamente;
    • sólo los EAs e indicadores si no necesita la suscripción a las señales;
    • sólo el copiado de las operaciones de la suscripción. En este caso se pasan sólo los ajustes del copiado de la Señal, sin pasar los gráficos ni programas.

    Después de seleccionar el modo de la migración, puede iniciar enseguida el servidor virtual usando el botón «Migrar ahora mismo», o hacerlo más tarde en cualquier momento que quiera.

    Preparación para la migración
    Antes de iniciar el terminal virtual, hay que preparar el entorno activo para él: los gráficos, indicadores y EAs iniciados, parámetros del copiado de las operaciones de la suscripción y los ajustes del terminal.

    • Gráficos y Observación del Mercado — con el fin de minimizar el tráfico, oculte en la Observación del Mercado todos los instrumentos financieros innecesarios para el trabajo. Cierre todos los gráficos innecesarios. En los ajustes del terminal ponga el valor necesario «Máx. de barras en la ventana», después de eso hay que reiniciar el terminal.
    • Indicadores y Asesores Expertos — coloque en los gráficos todos los EAs e indicadores que necesita. Los productos que han sido comprados en el Market y están iniciados en el gráfico también se traspasan durante la migración. Además, estos productos conservan su completa funcionalidad sin gastar las licencias para su activación. Todos los parámetros externos de los EAs e indicadores tienen que ser correctos.
    • E-mail, FTP y Señales — si el EA tiene que enviar los mensajes de correo, cargar los datos vía FTP o copiar las operaciones por la suscripción, hay que especificar todos los parámetros necesarios. No olvide poner correctamente el login y la contraseña de su cuenta en MQL5.community en la pestaña Comunidad. Es necesario para poder copiar las señales.
    • Permiso para el trading y copiado de señales — el trading automático siempre está permitido en el terminal virtual. Para trabajar con las señales, hay que establecer los parámetros de copiado en la sección Señales.
    • Peticiones WebRequest — si el programa que se utiliza en el terminal virtual usa la función WebRequest() para enviar las peticiones HTTP, hay que poner el permiso e indicar todas las URL de confianza en la sección Asesores Expertos.


    Migración
    La migración es el proceso de transferencia del entorno activo corriente desde el terminal del cliente al terminal virtual.

    La migración se realiza durante cada sincronización del terminal del cliente. La sincronización funciona siempre hacia un lado, es decir, el entorno del terminal del cliente se mueve al terminal virtual y nunca viceversa. Podemos controlar el estado del terminal virtual solicitando los logs del terminal y de los EAs, así como a través de los datos del monitoreo del servidor virtual.

    Para realizar la sincronización, abra el menú contextual de la cuenta y elija el tipo de la migración.



    De esta manera, Usted puede cambiar en cualquier momento el número de los gráficos y la lista de los símbolos, el conjunto de programas iniciados y sus parámetros de entrada, los ajustes del terminal y la suscripción a las Señales.

    Durante la ejecución de la migración, toda la información queda registrada en el log del terminal del cliente.

    Una vez finalizada la sincronización, abra el diario principal del terminal virtual para ver las acciones realizadas.



    Trabajo con el terminal virtual
    Usted puede controlar fácilmente el estado del servidor virtual alquilado también desde el terminal del cliente. Ejecute el comando «Detalles» en el menú contextual.


    La información se muestra en cuatro pestañas:

    • Details - los datos sobre el servidor virtual y el entorno del terminal activo.
    • CPU Usage - el gráfico del uso de CPU en %.
    • Memory Usage - el gráfico del uso de la memoria operativa en Mb.
    • Hard Disk Usage - el gráfico del uso del disco duro en Mb.

  2. Market: Ahora en MetaTrader Market se puede alquilar los productos por un plazo de 1, 3, 6 o 12 meses. Esto ofrece unas ventajas indiscutibles tanto para los programadores, como para los compradores. Los autores pueden aumentar considerablemente la confianza de los usuarios hacia sus productos ofreciéndoles la posibilidad de probar el trabajo hecho por un precio moderado. Para los compradores el alquiler supone una oportunidad más de asegurarse de la elección correcta del programa. A diferencia de una versión demo, los productos alquilados no tienen ninguna limitación en cuanto a las prestaciones funcionales a excepción del plazo de vigencia.

    En el Market cualquier programad

    or puede elegir si va a ofrecer su producto en alquiler y cuál será su coste.




    Según el deseo del programador, es libre de no ofrecer sus productos en alquiler, puede simplemente vender las licencias completas sin el límite del plazo de vigencia.

    Si el producto puede alquilarse, en su página se muestran las posibles opciones del alquiler: los plazos y el precio. Haga clic en «Alquilar» y seleccione el plazo.


    Una vez expirado el plazo, se puede prolongar el alquiler o comprar la versión completa.

  3. Terminal: Ahora cuando guardamos la captura del gráfico usando la opción «Guardar como...», así como mediante MQL5 usando la función Screenshot(), en la imagen no se coloca el derecho del autor "MetaTrader 5, @ 2001-2015 MetaQuotes-Software Corp." Eso facilitará la distribución de las capturas de pantalla.



  4. Terminal: Corregidos los errores en el cálculo y control de los ajustes del indicador técnico built-in Gator Oscillator.
  5. Terminal: Mejorado el escaneo de los puntos de conexión al servidor comercial.
  6. Terminal: Corregidos los errores durante el trabajo con LiveUpdate que aparecían en algunas ocasiones.
  7. MQL5: En la enumeración ENUM_SIGNAL_BASE_STRING ha sido agregada la propiedad de la señal SIGNAL_BASE_CURRENCY - divisa del depósito del proveedor de la señal. Esta propiedad se obtiene mediante el uso de la función SignalBaseGetString.
  8. MQL5: Corregidos los errores de compilación cuando se determinan los derechos de acceso a los miembros de la clase base durante la herencia.
  9. MQL5: Corregido el error de compilación durante la sobrecarga de los métodos de la clase por constancia de parámetros.
  10. Tester: Optimizado el trabajo de los agentes de la red de cálculos en nube MQL5 Cloud Network. Ahora los agentes no gastan tiempo en así llamado «precalentamiento» - conexión a los servidores de la red en nube que distribuyen las tareas. Ahora los agentes permanecen constantemente preparados para recibir y ejecutar tareas. Eso permite acelerar el tiempo de optimización vía MQL5 Cloud Network.
  11. Tester: Mejorada la presentación de los agentes locales, remotos y de nube en el Probador de Estrategias.
  12. Corregidos los errores de los crash logs.
  13. Ha sido actualizada la documentación.

MetaTrader 5 Android build 1052

La nueva versión del terminal móvil MetaTrader 5 para Android ya está disponible en Google Play. Han sido corregidos algunos errores y ha sido mejorada la estabilidad de su funcionamiento. Planeamos añadir en la próximas versiones los objetos analíticos y el messanger.

Para descargar la aplicación, siga el enlace: https://download.mql5.com/cdn/mobile/mt5/android?hl=es&utm_source=www.metatrader5.com&hl=ru


La actualización estará disponible a través del sistema LiveUpdate.

16 enero 2015
MetaTrader 5 Trading Terminal build 1045: Nuevo WebRequest

Terminal de trading

  1. Trabajos preparatorios para el soporte del hosting virtual en el terminal MetaTrader 5. El servicio de hosting virtual da la posibilidad de acceder a un terminal de alquiler que trabaja las 24 horas, sin interrupciones y sin salir de MetaTrader 5. Una de sus principales peculiaridades es la posibilidad de elegir el servidor que se encuentre más cercano al servidor del bróker, lo que permite minimizar los retrasos de red.


  2. Los agentes de simulación funcionan ahora solo en los sistemas de 64 bits. Esta decisión se basa en la necesidad de seguir las tendencias de desarrollo de la industria de IT. La renuncia a las antiguas tecnologías en favor de las nuevas permitirá aumentar la productividad de los cálculos y dará la posibilidad de desarrollar posteriormente la red de cálculos en la nube MQL5 Cloud Network.


    Cambios en los compoenentes de la plataforma:

    • En las versiones de 32 bits de los terminales dejará de estar disponible el uso de los agentes remotos y los agentes de red de MQL5 Cloud Network. En lugar de la lista con estos agentes, se mostrará el mensaje "Solo disponible en la versión de 64 bits".
    • El gestor de agentes MetaTester 5 Agents Manager solo estará disponible en la versión de 64 bits. Por consiguiente, la instalación de agentes solo se podrá realizar en los sistemas de 64 bits.


  3. Corregido el filtrado de noticias por idioma al indicar manualmente la lista de idiomas en los ajustes del terminal.
  4. Optimizado el trabajo con un gran número de órdenes abiertas.
  5. Acelerado el envío de solicitudes comerciales.
  6. Realizada la adaptación completa de la interfaz para las pantallas de alta resolución Full HD y superiores.

Lenguaje MQL5

  1. Añadida una nueva variedad de la función WebRequest:
    int WebRequest (string method, string url,string headers,int timeout, const char &data[], int data_size,char &result[], string &result_headers)

    Esta función permite conformar explícitamente el contenido del encabezamiento de la solicitud HTTP, ofreciendo un mecanismo de interacción más flexible con los diferentes servicios web. Por ejemplo: Publicación automática con WebRequest()

  2. Añadidas nuevas posibilidades de la cuenta comercial. Las propiedades están disponibles con la ayuda de la función AccountInfoDouble.

    • ACCOUNT_MARGIN_INITIAL - margen inicial actual de la cuenta.
    • ACCOUNT_MARGIN_MAINTENANCE - margen de mantenimiento actual de la cuenta.
    • ACCOUNT_ASSETS - activos actuales en la cuenta.
    • ACCOUNT_LIABILITIES - obligaciones actuales en la cuenta.
    • ACCOUNT_COMMISSION_BLOCKED - comisión actual bloqueada de la cuenta.

  3. Añadidas nuevas propiedades del instrumento comercial:

    • SYMBOL_OPTION_STRIKE - precio de strike del contrato de opciones. La propiedad se obtiene con la función SymbolInfoDouble.
    • SYMBOL_BASIS - nombre del activo básico del instrumento comercial. La propiedad se obtiene con la función SymbolInfoString.
    • SYMBOL_OPTION_MODE - tipo de opción, el valor se establece con la ayuda de la enumeración ENUM_SYMBOL_OPTION_MODE. 
    • SYMBOL_OPTION_RIGHT - derecho de la opción, el valor se establece con la ayuda de la enumeración ENUM_SYMBOL_OPTION_RIGHT. La propiedad se obtiene con la función SymbolInfoInteger.

  4. Añadida la función SymbolInfoMarginRate - obtiene el valor de la tasa del margen de carga inicial y de mantenimiento dependiendo del tipo y la dirección de la orden comercial.
  5. Corregido el funcionamiento de la función ChartIndicatorName en el simulador de estrategias.
  6. Corregido el error de compilación de macros que contienen la sustitución del nombre con la ayuda de ##.
  7. Corregido el error de reseteo del signo de final de archivo al abrir un nuevo archivo.

Correciones de crash logs.

Actualización de la documentación.

13 diciembre 2014
Actualización de la plataforma MetaTrader 5 build 1035: Constructor de estrategias de opciones y acceso a los tics

Terminal

  1. Continúan los trabajos de desarrollo de las posibilidades de las opciones comerciales. Añadido un constructor de estrategias de opciones. Se ha diseñado para ayudar a combinar las diferentes opciones en la cartera de inversiones, valorar el potencial y los riesgos.



    El constructor es fácil de usar: el trader elige la opción de fecha de expiración y el activo base, y después elige una de las más de 30 estrategias disponibles. El constructor muestra la combinación de opciones correspondiente y calcula según estas los parámetros para la valoración los así llamados "griegos" (Greeks). En la parte inferior de la ventana, además, se puede ver el gráfico de beneficios/pérdidas, así como el gráfico según los griegos.

    Como complemento a la gran cantidad de estrategias incluidas, el trader puede crear y guardar para su uso posterior sus propias estrategias.

  2. Añadida la muestra del número de noticias recibidas en las últimas 24 horas.




  3. Optimizada y acelerada la sicronización de los grandes volúmenes de la historia de órdenes y operaciones comerciales.
  4. Corregida la inserción de varios indicadores personalizados en una subventana del gráfico.
  5. Corregido el recálculo del indicador "Bill Williams Market Facilitation Index" al cambiar el periodo del gráfico.
  6. Corregida la minimización de la ventana "Instrumentos".
  7. Corregida la formación del informe del estado de la cuenta comercial, publicado por FTP.
  8. Actualizada la traducción del interfaz a la lengua alemana
  9. Añadida la traducción del interfaz a las lenguas griega y uzbeca

MQL5

  1. Añadida la función de trabajo con la historia de tics CopyTicks. La función permite obtener la matriz de los tics acumulados por el terminal en la sesión actual. La profundidad de los tics recibidos está limitada a los últimos 2 000.

    La nueva función se amplia mediante la posibilidad de escribir robots comerciales por scalping. La función OnTick no se constituye como procesador de cada tic, sino que notifica al experto sobre los cambios en el mercado. Los cambios pueden darse en paquetes: al terminal pueden llegar varios tics al mismo tiempo, pero la función OnTick será llamada solo una vez para notificar al experto sobre el último estado del mercado. La función CopyTicks permite obtener y analizar todos los tics ingresados.

    Es posible solicitar los tics según la fecha, indicando el valor from, o según la cantidad, indicando el valor count. Si no se indica ninguno de los parámetros, se transmiten todos los tics disponibles, pero no más de 2000. Igualmente, es posible solicitar los tics según su tipo, con ayuda del parámetro flags. Valores disponibles: 
    • COPY_TICKS_ALL - todos los tics.
    • COPY_TICKS_INFO - solo los tics de información (Bid y Ask).
    • COPY_TICKS_TRADE - solo los tics comerciales (Last y Volume).
  2. MQL5: Añadida la posibilidad de cargar de nuevo el método en función de su carácter constante. 
  3. Añadida la posibilidad de cargar de nuevo las funciones de plantilla con la ayuda de las matrices-parámetros.
  4. MQL5: Añadida la generación del evento CHARTEVENT_MOUSE_MOVE (en el punto de entrada OnChartEvent) al pulsar el botón derecho del ratón en el gráfico.
  5. MQL5: Corregido el funcionamiento del operador Switch, de darse en la condición case valores negativos.
  6. MQL5: Aumentada la precisión de los cálculos en las funciones ObjectGetValueByTime() y ObjectGetTimeByValue(), que permiten obtener el valor del precio para el tiempo indicado de un objeto y al contrario, el valor del tiempo para el valor del precio.

Tester

  1. Añadida la posibilidad de simular y optimizar los programas MQL5 comprados en la tienda MetaTrader AppStore, en los agentes de la red en la nube MQL5 Cloud Network y en los agentes a distancia.
  2. Corregido el cálculo de los swaps en puntos para las posiciones con un volumen inferior a 1 lote.
  3. Corregida la comprobación y normalización de los niveles SL-TP al abrir una posición según un instrumento comercial con el modo de ejecución "Market Execution".
  4. Corregido el comportamiento de la función ObjectGetValueByTime. En algunos casos el comportamiento de la función en el simulador se diferenciaba del comportamiento en el terminal.

MetaEditor

  1. Corregido el bloqueo de MetaEditor al depurar y analizar el rendimiento de programas bloqueados.
  2. Añadida la traducción del interfaz a las lenguas griega y uzbeca

Correciones de crash logs.

Se ha actualizado la documentación.

La actualización estará disponible a través del sistema LiveUpdate.
31 octubre 2014
Actualización de la plataforma MetaTrader 5 build 1010: Nuevas Señales, Market y Opciones

Trading Signals

  1. Hemos actualizado completamente la vitrina de las Señales. Han sido agregadas nuevas funciones, ha sido mejorado el diseño, ahora trabajar con las Señales será más cómodo.



    Nuevas funciones de la lista de las Señales:

    • En la lista de las Señales han aparecido los gráficos del crecimiento parecidos a los que se muestran en el sitio web de MQL5.community. El icono verde que figura en la esquina inferior izquierda del gráfico significa que la Señal ha sido creada a base de una cuenta real.
    • Ahora Usted puede suscribirse a una Señal directamente desde la lista. Para eso tiene que pulsar el botón con la imagen del precio (o Free si la Señal es gratuita). Después de eso aparecerá el cuadro de confirmación de la suscripción.
    • Ahora se puede agregar las Señales a los Favoritos. Haga clic en la estrella al final de la línea. Después de eso podrá encontrar fácilmente esta Señal en la pestaña «Favoritos».
    • Ha sido quitado el menú contextual. Ahora para encontrar la Señal a la que está suscrito, entre en cualquier Señal. En el panel superior estará indicada la Señal a la que está suscrito y la referencia a ella.

    Ha sido actualizada la página para ver las Señales. Ahora se puede agregar las Señales a los Favoritos. Si sitúa el cursor sobre «Crecimiento», aparece el estado general de la cuenta de la Señal.

    La estadística de la Señal ha sido ampliada:

    • Volumen total de los fondos del suscriptor.
    • Plazo de vida de la cuenta comercial desde el momento de la primera operación comercial.
    • Tiempo medio del mantenimiento de la posición.



    Además, han sido agregadas nuevas pestañas:

    • Riesgos - información sobre las mejores y las peores operaciones comerciales y sobre las series de operaciones, así como sobre las reducciones.
    • Comentarios - comentarios de los suscriptores de la Señal.
    • Noticias - mediante esta pestaña el proveedor puede informar a los suscriptores sobre cualquier cambio en el funcionamiento de la Señal y publicar cualquier información útil.

Market

  1. Ha sido cambiada la visualización de los productos en MetaTrader AppStore. Los programas, revistas y los libros han sido rediseñados. Ha aparecido la posibilidad de agregar producto en los Favoritos. Haga clic en la estrella al revisar el producto. Después de eso podrá encontrarlo fácilmente en la pestaña «Favoritos».




Trading terminal

  1. Ha sido agregada la tabla de opciones y el gráfico de volatilidad. Sigue el trabajo de introducción de herramientas para comerciar con opciones. Planeamos incluir las herramientas del análisis de estrategias de opciones en la siguiente versión.




    Tabla de opciones
    En la tabla se muestra una serie de opciones según la fecha de vencimiento para el activo base (clase de opciones) seleccionado en el campo "Underlying". Para las opciones se muestran los siguientes parámetros:

    • Bid CALL - precio de venta de la opción call.
    • Ask CALL - precio de compra de la opción call.
    • Theo CALL - precio teórico (justo) de la opción call calculado para el strike indicado según los datos históricos.
    • Strike - precio de ejecución de la opción.
    • Volatility -  volatilidad implícita (implied). Se indica en por cientos y caracteriza las expectativas de los participantes del mercado en cuanto al coste del activo base de la opción.
    • Theo PUT - precio teórico (justo) de la opción put calculado para el strike indicado según los datos históricos.
    • Bid PUT - precio de venta de la opción put.
    • Ask PUT - precio de compra de la opción put.

    Gráfico de volatilidad
    En el eje horizontal de este gráfico se muestran los strikes de la opción y en el eje vertical se muestra la volatilidad implícita.




  2. Ha sido agregada la muestra de los valores del ping en la lista de los puntos de acceso.




  3. Ha sido realizada la adaptación de la interfaz del terminal para las pantallas de alta resolución- Full HD y superior. Ahora el menú, los paneles de herramientas, títulos de las ventanas tienen el tamaño suficiente para una cómoda revisión y el trabajo en las pantallas táctiles de las tabletas Windows.

  4. Ha sido agregado el comando de control de los símbolos comerciales en el menú «Ver» y en la barra de herramientas. Ahora tendrá los ajustes de los símbolos siempre a mano:



MQL5

  1. Ha sido agregada la conversión del parámetro de la macro en la línea y la concatenación del parámetro de la macro. A continuación viene el ejemplo en el que la concatenación de las macros permite organizar la eliminación automática de las instancias de clase.
    //+------------------------------------------------------------------+
    //|                                                     MacroExample |
    //|                        Copyright 2014, MetaQuotes Software Corp. |
    //|                                       https://www.metaquotes.net  |
    //+------------------------------------------------------------------+
    #property script_show_inputs
    input bool InpSecond=true;
    
    #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}};
    #define TOSTR(x) #x
    #define AUTODEL(obj) CAutoDelete auto_##obj(obj)
    #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \
                             Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \
                             while(0)
    //+------------------------------------------------------------------+
    //| La clase base es necesaria para autoeliminación de objetos               |
    //+------------------------------------------------------------------+
    class CBase
      {
    protected:
       string            m_name;
    
    public:
                         CBase(string name):m_name(name) { }
       string            Name(void) const{ return(m_name); }
    
      };
    //+------------------------------------------------------------------+
    //| Clase de autoeliminación de objetos permite no seguir los   |
    //| objetos creados. Los elimina en su destructor                     |
    //+------------------------------------------------------------------+
    class CAutoDelete
      {
       CBase            *m_obj;
    
    public:
                         CAutoDelete(CBase *obj):m_obj(obj) { }
                        ~CAutoDelete()
         {
          if(CheckPointer(m_obj)==POINTER_DYNAMIC)
            {
             Print("Delete object '",m_obj.Name(),"' by CAutoDelete class");
             delete m_obj;
            }
         }
      };
    //+------------------------------------------------------------------+
    //| Declaramos dos clases nuevas CFoo y CBar                             |
    //+------------------------------------------------------------------+
    DEFCLASS(CFoo);
    DEFCLASS(CBar);
    //+------------------------------------------------------------------+
    //| La función principal del script                                         |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       CFoo *foo;
    //--- creamos el objeto de la clase CFoo
       NEWOBJ(CFoo,foo);
    //--- creamos la instancia de la clase de autoeliminación del objeto CFoo foo
       AUTODEL(foo);
    //---
       if(InpSecond)
         {
          CBar *bar;
          //---
          NEWOBJ(CBar,bar);
          AUTODEL(bar);
         }
    //--- No hace falta eliminar foo, será eliminado automáticamente
      }
    //+------------------------------------------------------------------+
    
  2. Ha sido agregada la propiedad OBJPROP_ANCHOR para los objetos gráficos "Bitmap" y "Bitmap Label". La propiedad determina el punto de anclaje del objeto gráfico sobre el gráfico: la esquina superior izquierda, a la izquierda en el centro, la esquina inferior izquierda, abajo en el centro, etc.
  3. Ha sido agregada la lectura de la propiedad del gráfico CHART_BRING_TO_TOP (el gráfico se muestra por encima de los demás) en la función ChartGetInteger.
  4. Han sido corregidos los errores de compilación y generación del operador ternario "?".
  5. Ha sido corregido el error de transmisión del array estático - miembro de la clase.
  6. Ha sido corregida la aplicación de la plantilla a la lista de inicialización de los miembros de la clase del constructor de plantillas.

Trading signals

  1. Han sido suavizadas considerablemente las limitaciones durante la suscripción a las Señales:

    Si en el historial comercial de la Señal hay símbolos los que el suscriptor no tiene, la suscripción está permitida (antes estaba prohibida). Las acciones con las posiciones en las que el suscriptor no tiene símbolos se ignoran. En el diario se muestra el mensaje informativo:
    2014.08.26 16:44:29.036    '2620818': Signal - symbol GBPNZD not found
    Si el suscriptor tiene posiciones y/o órdenes pendientes, se muestra el diálogo de aviso con la propuesta de cerrar/eliminarlos (como antes). Sin embargo, ahora no es una condición obligatoria para seguir trabajando con las Señales.



    La sincronización con el proveedor de las Señales será realizada. Las posiciones y las órdenes que han sido abiertas no por la Señal a la que se realiza la suscripción se quedarán sin cambios. El usuario puede realizar cualquier operación con ellas.

    Ahora los usuarios pueden realizar las operaciones comerciales manualmente (o a través del Asesor Experto) estando suscritos a la Señal. El Servicio de las Señales va a ignorar las posiciones y órdenes abiertas por el trader.
    Hay que tomar en cuenta que la colocación manual de las órdenes influye en el volumen del margen disponible en la cuenta comercial. Al abrir una posición manualmente, la carga total sobre la cuenta se aumenta en comparación con la cuenta del proveedor de las Señales.
  2. Ha sido agregado el mantenimiento del porcentaje del copiado de volúmenes con el punto flotante. Ha sido reducido el porcentaje del copiado de volúmenes de las Señales de 1% a 0.001%.

Tester

  1. Han sido corregidos los colgados del agente de simulación durante el trabajo con la red en nube MQL5 Cloud Network.
  2. Ha sido corregida la calculación de los swaps en puntos con los volúmenes mínimos de la posición comercial.

MetaEditor

  1. Ha sido corregido el funcionamiento de los atajos para los comandos "Navigate Forward" y "Navigate Backward".

MetaViewer

  1. Ha sido corregida la navegación por las páginas en la barra de herramientas.
  2. Ha sido corregida la búsqueda del texto en función del idioma actual de la interfaz.

Corregidos los errores de los crash logs.

Ha sido actualizada la documentación.

La actualización estará disponible a través del sistema LiveUpdate.

1 agosto 2014
MetaTrader 5 Trading Terminal build 975: Displaying Expert ID

Trading Terminal

  1. Added display of a trade ID (magic number) set by an Expert Advisor. The ID is displayed as a tooltip in the list of open positions and orders, as well as in the trading history.


    Displaying Expert ID


  2. Optimized work with a large number of trading symbols (thousands and tens of thousands).
  3. Fixed display of alerts on the price chart. The alert's price level was sometimes displayed in the indicator's subwindow.
  4. Updated interface translations into Chinese, Turkish and Japanese.
  5. Fixed displaying the list of chart templates in the application's main menu.
  6. Fixed displaying the list of trade symbol sets in the context menu of Market Watch window.

MQL5 Language

  1. Fixed errors in working with built-in structures that could occasionally disrupt the operation of IndicatorParameters and MarketBookGet methods.
  2. Fixed type conversion from bool to string.
  3. Fixed working with virtual functions.
  4. Fixed an error in the operation of FileReadStruct and FileWriteStruct functions within EX5 libraries.
  5. Fixed a compiler error that occurred in case a key word was present in a comment.

Strategy Tester

  1. Fixed calculation of swaps in points when testing.
  2. Fixed passing the file defined in #property tester_file. An error occurred if the file was in the common folder of the client terminals.
  3. Greatly improved selection of the nearest cloud server by the tester agents working within MQL5 Cloud Network of distributed computing. Thus, their operation speed is increased significantly.

MetaEditor

  1. Fixed text replacement when the list of MetaAssist tips is collapsed.

Fixed errors reported in crash logs.

Updated documentation.

The update is available through the LiveUpdate system.

27 junio 2014
MetaTrader 5 trading terminal build 965: Smart Search, OTP and Money Transfer between Accounts

Trading terminal

  1. Completely revised built-in search. The new search is a smart and powerful system. Search results are now conveniently arranged by categories.

    As you type in search query, the system instantly offers possible options:



    In order to search by one of the previous queries, place the cursor to the box and click Down Arrow key to open the query history. Selection of a search area is not available in the search bar any more, as the system automatically selects the most relevant results arranging them by categories conveniently:



    For better representation, search results now contain not only texts but also avatars of articles, books and applications. Use the top panel to view the search results by MetaTrader Appstore Products, Code Base, Signals, MQL5.community Forum and Documentation. If a category has no results, it is highlighted in gray.

  2. Added the OTP authentication feature. Use of OTP (one-time password) provides an additional level of security when working with trading accounts. The user is required to enter a unique one-time password every time to connect to an account.

    One-time passwords are generated in the MetaTrader 5 mobile terminal for iPhone . The same one-time password generation option will be added in the mobile terminal for Android soon.

    How to enable OTP
    To start using one-time passwords, a trading account should be bound to a password generator, which is the MetaTrader mobile terminal 5 for iPhone.
    The use of the OTP option should be enabled on a trade server.
    Go to the Settings of the mobile terminal and select OTP. For security reasons, when the section is opened for the first time, a four-digit password should be set. The password must be entered every time to access the password generator.



    In the window that opens, select "Bind to account".



    Next, specify the name of the server on which the trading account was opened, the account number and the master password to it. The "Bind" should be kept enabled. It must be disabled, if the specified account should be unbound from the generator and one-time passwords should no longer be used.

    After the "Bind" button located in the upper part of the window is tapped, a trading will be bound to the generator, and an appropriate message will appear.



    Likewise, an unlimited number of accounts can be bound to the generator.

    The one-time password is displayed at the top of the OTP section. Underneath, a blue bar visualizes the password lifetime. Once the password expires, it is no longer valid, and a new password will be generated.

    Additional Commands:

    • Change Password - change the generator password.
    • Synchronize Time - synchronize the time of the mobile device with the reference server. Accuracy requirement is connected with the fact that the one-time password is bound with the current time interval, and this time should be the same on the client terminal and the server side.

    How to use OTP in the desktop terminal
    After binding a trading account to the generator, a one-time password will be additionally requested when connecting to it from the desktop terminal:




  3. Added an option for transferring money between accounts within the same trade server. Money can be transferred only from the currently connected account. Select it in the "Navigator" window and click "Transfer funds" in the context menu.



    In the dialog box, select the account to which funds need to be transferred. The transfer amount is specified in the deposit currency of the current account. It cannot exceed the current balance and the current amount of free margin of the account.

    To transfer funds, a master password must be specified for both accounts. If OTP authentication is used for the account, from which funds are transferred, the one-time password should be additionally specified.

    Transfer of funds is provided in the form of balance operations: a withdrawal operation on the current account and depositing operation on the recipient account.
    • The money transfer option should be enabled on the trade server. Depending on the settings, there are some restrictions on the accounts, between which transfer is allowed. In particular, money transfer can be allowed only for accounts with identical names and emails.

    • Funds can be transferred only within the same trading server and only between the accounts of the same type. From a real account funds can be transferred only to another real account, from a demo one - only to demo.
    • The accounts, between which funds are transferred, should use the same deposit currency.
  4. Added an option for changing the password of any trading account in the "Navigator" window. Previously, it was possible to change the password only for the currently connected account.

    Now any account can be selected in the "Navigator" window and its passwords can be changed by clicking the appropriate command in the context menu:




  5. Added the possibility to set SL and TP levels on the chart by dragging the trade level of the corresponding position (using drag'n'drop). Hover the mouse over the level of the position on the chart. Click the left mouse button and hold it to move the level up or down.



    For long positions dragging down allows to set stop loss, up - take profit. And vice versa for short positions. When a level is dragged, the possible profit/loss in pips and currency, which may occur when this level triggers, is shown.

  6. Changed the location of commands in the "Window" menu. Now the "Tile window" option is displayed first, hotkeys Alt+R have been assigned for this command. This command has also been added to the standard toolbar.




  7. In the "Navigator" categories "Indicators" and "Custom Indicators" have been combined into one category "Indicators".



    All custom indicators, examples, and indicators purchased from the MetaTrader AppStore are now shown together with the built-in technical indicators. Four categories of built-in indicators are always displayed first.

  8. Revised the Navigator's context menu.

    Login has been renamed to "Login to Trade Account". Authentication in MQL5.community is available not only via the terminal settings but also via the context menus of the "Accounts" section and its subsections.



    The following changes have been implemented to the account's context menu:
    • Moved "Open an Account" command to the first position.
    • Added "Change Password" feature.
    • Added "Register a Virtual Server" command.

  9. Fixed display of the Label and Bitmap Label graphical objects with the anchor point located in one of the bottom corners of a chart.

MQL5 Language

  1. Added WebRequest() function for working with HTTP requests allowing MQL5 programs to interact with different websites and web services.

    The new function allows any EA to exchange data with third-party websites, perform trades based on the latest news and economic calendar entries, implement analytics, generate and publish automatic reports, read the latest quotes and do many other things that could previously be achieved only by using third-party DLLs of questionable reliability. The new feature is absolutely safe for traders, as they are able to manage the list of trusted websites the programs have access to.

    WebRequest function sends and receives data from websites using GET and POST requests. The new feature is absolutely safe for traders, as they are able to manage the list of trusted websites the programs have access to.




    This option is disabled by default for security reasons.

  2. Added access to signals database and managing signals subscription from MQL5 applications.

    Now, a user can receive the list of signals, evaluate them according to user-defined criteria, select the best one and subscribe to it automatically from a MQL5 program. In fact, it means the advent of the new class of trading robots that periodically look through available signals and subscribe to the one that is most suitable at the moment.

    For this purpose new signal management functions have been added to the MQL5 language:

    • SignalBase*() — functions for accessing the signals database.
    • SignalInfo*() — functions for receiving signal settings.
    • SignalSubscribe() and SignalUnsubscribe() — subscription management functions.

    Thus, a user can not only copy trades, but also to select signals for copying. Both processes are automated.

    By default, a trading robot is not allowed to change signal settings for security reasons. To enable this function, tick the "Allow modification of Signals settings" option in Expert Advisor settings.




  3. Added new properties of the client terminal that are available through the TerminalInfo* functions:
    • TERMINAL_MQID - the property shows that MetaQuotes ID is specified in terminal settings.
    • TERMINAL_COMMUNITY_ACCOUNT - this property shows that MQL5.community account is specified in the settings.
    • TERMINAL_COMMUNITY_ACCOUNT - this property shows that MQL5.community account is specified in the settings.
    • TERMINAL_COMMUNITY_BALANCE - value of balance on the MQL5.community account.
    • TERMINAL_NOTIFICATIONS_ENABLED - shows whether sending notifications through MetaQuotes ID is allowed.

  4. Added functions for working with cryptographic algorithms: CryptEncode() and CryptDecode(). These functions allow you to encrypt and decrypt the data, for example, when sending data over the network using the WebRequest() function. They also allow you to calculate checksums and make data archiving.

    Function signatures:
    int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    A new enumeration ENUM_CRYPT_METHOD has been added for working with the functions:
    CRYPT_BASE64,      // BASE64 encryption (re-encoding)
    CRYPT_AES128,      // AES encryption with 128-bit key
    CRYPT_AES256,      // AES encryption with 256-bit key
    CRYPT_DES,         // DES encryption (key length is 56 bits - 7 bytes)
    CRYPT_HASH_SHA1,   // calculation of HASH SHA1
    CRYPT_HASH_SHA256, // calculation of HASH SHA256
    CRYPT_HASH_MD5,    // calculation of HASH MD5
    CRYPT_ARCH_ZIP,    // ZIP archive

  5. Added an option for changing the size of the properties dialog of MQL5 programs.




  6. Added ability to debug the template functions.
  7. Added definition of the custom indicators that are executed too slowly. If the indicator is slow, "indicator is too slow" entry appears in the Journal.
  8. Fixed the value returned by the IsStopped() function. This function is used for determining the forced stopping of MQL5 programs in custom indicators. Previously, this function always returns FALSE.
  9. Fixed verification of input parameters of MQL5 programs by data type. In particular, for the parameter type uchar, one could specify a value greater than 255.
  10. Fixed an error in StringConcatenate() function.
  11. Fixed FileSize() function for files that are available for writing. Previously, the function returned the file size without considering the latest write operations.
  12. File operations have been revised. Now work with files has become faster.

Trading Signals

  1. Fixed copying of SL and TP values of trade positions in case the number of decimal places in the symbol price of the signal source differs from that of the subscriber.
  2. Fixed copying of trade positions from signal providers with incorrect settings of trade instruments on the side of the trade server.
  3. Fixed closing of positions opened by a trading signal when account Equity value falls below the value specified in the signal copying parameters. In some cases, closing of positions could lead to terminal crash.

MetaEditor

  1. Optimized work with large source text files (tens of megabytes). Increased operation speed and reduced memory consumption.
  2. Fixed navigating through a source code using "Ctrl + -" and "Ctrl + Shift + -" shortcuts.

Fixed errors reported in crash logs.

Updated documentation.

The update will be available through the LiveUpdate system.

11 abril 2014
MetaTrader 5 Build 930

Market

  1. Another new product category has been added to MetaTrader AppStore following trading and financial magazines - Books. Now, you can purchase the works of well-known traders and analysts along with trading robots and indicators. The range of books is increasing daily.


    Books in MetaTrader Market

    Just like MetaTrader 5 applications, books can be purchased at MQL5.community Market as well as directly via MetaTrader 5 terminal. All books are accompanied by descriptions and screenshots:




    Before making a purchase, you can download a preview - the first few pages of a book. The exact number of available pages is defined by a seller.

    To buy a book, you should have an MQL5.com account and the necessary amount of funds on it. The account data should be specified at the Community tab of the terminal settings:



    Click Buy on the book's page to purchase it. Purchase confirmation dialog appears:



    To continue, agree to the rules of using the Market service and enter your MQL5.community password. After that, the specified amount of funds will be withdrawn from your account and the book will be downloaded. Buy button will be replaced by Open one.

    Book files are downloaded to My Documents\MQL5 Market\Books\. The download may be performed in two formats:

    • MQB - this protected format is used for paid books. When purchasing and downloading a book file, it is encoded so that it can be opened only on the PC it has been downloaded to. Generation of an encoded copy is called activation. Each book can be activated at least 5 times on different hardware. Book sellers can increase the number of activations at their sole discretion.
    • PDF - this format is used for free books and previews. After downloading, such file can be moved and viewed on other devices.

    The special component called MetaViewer has been added to MetaTrader 5 terminal allowing users to view book files. MetaViewer is a convenient application for viewing books and magazines in MQB and PDF formats. Keyboard arrows are used to turn over the pages: left and right arrows - for page-by-page navigation, while up and down arrows - for scrolling.


    MetaViewer


Trading terminal

  1. Fixed display of Fibonacci Fan graphical object's levels when zooming. A layout could be displaced in earlier builds.
  2. Fixed an error that in some cases prevented graphical objects from being drawn on the chart.
  3. Fixed errors and terminal crashes when working in Wine (for Linux and Mac OS), including crashes that occurred while opening the user guide.
  4. Updated translation of the interface into Arabic.

Market

  1. Revised display of products in MetaTrader AppStore. Applications, magazines and books feature new design:


    Revised Display of Products in Market

  2. Market: Fixed resumed download of large files (primarily, magazines and books) from the Market.

MQL5 Language

  1. Changed StringSplit function operation. Previously, ";A;" string was split into NULL and "A" substrings using ';' separator. Now, it is split into "","A" and "" substrings.
  2. Fixed checking and tracking parameter and operand constancy.

Trading Signals

  1. Added additional checks for the allowed trading modes at a symbol when copying signals. If a signal arrives at a subscriber's account but only closing of positions is allowed at that symbol, this will no longer cause complete termination of signals copying and forced closing of all positions. Now, if a signal for position opening arrives at a subscriber's account, the platform perceives that as the command to synchronize subscriber's and provider's accounts. A signal for position closing is handled as usual.

Strategy Tester

  1. Added interface translations into French, Japanese and Arabic. Updated translations into German, Italian, Polish, Portuguese, Russian, Spanish, Turkish and Chinese.

MetaEditor

  1. Fixed highlighting and navigation through a hieroglyphic text.
  2. Fixed selecting a default trading symbol during an MQL5 application profiling. The default symbol is specified in Debug tab of MetaEditor options.
  3. Fixed display of the tab characters in search results. Previously, the tab characters were ignored and string content was displayed with no spaces.

Fixed errors reported in crash logs.

Updated documentation.

The update will be available through the LiveUpdate system.

7 marzo 2014
MetaTrader 5 build 910

Trading terminal

  1. Fixed errors and crashes when working in Wine (for Linux, Mac).
  2. Fixed display of Gann Grid graphical object's central line when zooming.

MQL5 Language

  1. Fixed an occasional error when downloading .ex5 files.
  2. Fixed operation of StringToCharArray and StringToTime functions.
Fixed errors reported in crash logs.
Updated documentation.
28 febrero 2014
MetaTrader 5 Build 900
  1. Market: Added new product category in MetaTrader AppStore — Magazines. Now, users can buy not only trading applications but also trading and financial magazines quickly and easily.

    Just like MetaTrader 5 applications, magazines can be purchased at MQL5.community Market as well as directly via MetaTrader 5 terminal. All magazines are accompanied by detailed descriptions and screenshot galleries:

    The latest magazine issues are always displayed in the showcase, while the previous ones can be found on the Archive tab.

    To buy a magazine, you should have an MQL5.com account and the necessary amount of funds on it. The account data should be specified at the Community tab of the terminal settings:

    Click Buy on the magazine's page to purchase it. Purchase confirmation dialog appears:

    To continue, agree to the rules of using the Market service and enter your MQL5.community password. After that, the specified amount of funds will be withdrawn from your account and the magazine will be downloaded. Buy button will be replaced by Open one.

    Magazine files are downloaded to My Documents\MQL5 Market\Magazines\[Magazine name]\[Issue name]. The download may be performed in two formats:

    • MQB - this protected format is used for paid magazines. When purchasing and downloading a magazine file, it is encoded so that it can be opened only on the PC it has been downloaded to. Generation of an encoded copy is called activation. Each magazine can be activated at least 5 times on different hardware. Magazine sellers can increase the number of activations at their sole discretion.

    • PDF - this format is used for free magazines. After downloading, such file can be moved and viewed on other devices.

    The special component called MetaViewer has been added to MetaTrader 5 terminal allowing users to view MQB files. This application is launched when you click Open at the downloaded magazine page. If User Account Control system is enabled on the user's PC, the user will be prompted to allow the terminal to associate MQB files with MetaViewer during the first launch. After the association, MQB files are automatically opened in MetaViewer when launched from Windows file explorer.

    If you click ÎÊ, the files are associated and the selected magazine issue is opened in MetaViewer immediately. If you click Cancel, only the magazine issue is opened.

    MetaViewer is a convenient application for viewing books and magazines in MQB and PDF formats. Keyboard arrows are used to turn over the pages: left and right arrows - for page-by-page navigation, while up and down arrows - for scrolling. MetaViewer menu and control panel contain additional commands for setting the journal's view and navigation:

    • File - commands for opening the files and exiting the program.
    • View - display settings: interface language, page look, enabling control panel and status bar, as well as page rotation.
    • Navigation - navigation commands: switching between the pages, moving to the first, last or selected page.
    • Zoom - page scale management commands: zooming in and out, fitting height, width and actual page size.
    • Help - information about the program and useful links.
  2. Terminal: Added MQL tab to EX5 file properties. The tab contains the program's icon as well as its name and description specified in the application's source code via the appropriate #property parameters.

    The tab appears only after MetaViewer is registered in the system. If a current user has sufficient rights and User Account Control system is disabled, MetaViewer is registered automatically during the terminal's first launch after the update. Otherwise, the user will see the dialog window requesting a one-time elevation of rights for MetaViewer during the first attempt to open a magazine.

  3. Terminal: Added MQL5.community fast registration dialog in case a user has no account. Now, an MQL5.community account can be created without the need to leave the terminal.

    Specify login and email address in the registration window. After clicking Register, an email for MQL5.community account activation is sent to the specified address.

    MQL5.community account allows traders to use additional powerful services:

    • MetaTrader 5 AppStore - users can buy MetaTrader 5 apps or download them for free directly from the terminal. MetaTrader 5 AppStore offers hundreds of various applications and their number is constantly increasing.
    • Signals - users can subscribe to trading signals provided by professional traders and make profit. Trading operations are automatically copied from provider's account to subscriber's one. The service also allows selling your own trading signals. A trading account can be connected to the monitoring system in a few clicks.
    • Jobs - a freelance service allowing customers to securely order the development of MetaTrader 4 and 5 applications. The orders are executed by experienced programmers. The service also allows you to make profit by developing programs ordered by customers.

  4. Terminal: Added information about margin charging rates for various order types, as well as the list of spreads that may include orders and positions for the symbol, to the trading symbol data dialog.

    Margin Rates:

    A multiplier for calculating margin requirements relative to the margin's main amount is specified for each order type. The main amount of margin is calculated depending on the specified calculation method (Forex, Futures, etc.).

    • Long positions rate
    • Short positions rate
    • Limit orders rate
    • Stop orders rate
    • Stop-Limit orders rate

    Calculation of margin requirements is described in details in the client terminal user guide.

    Spreads:

    The margin can be charged on preferential basis in case trading positions are in spread relative to each other. The spread is defined as the presence of the oppositely directed positions at related symbols. Reduced margin requirements provide traders with more trading opportunities.

    The spread has two legs - A and B. The legs are the oppositely directed positions in a spread - buy or sell. The leg type is not connected with some definite position direction (buy or sell). It is important that trader's positions at all leg's symbols are either long or short.

    Several symbols with their own volume rates can be set for each spread leg. These rates are shown in parentheses, for example, LKOH-3.13 (1).

    Take a look at the following example:

    • leg À consists of GAZR-9.12 and GAZR-3.13 symbols having the ratios of 1 and 2 respectively;
    • leg  consists of GAZR-6.13 symbol having the ratio of 1.

    To keep positions in the spread, a trader should open positions of 1 and 2 lots for GAZR-9.12 and GAZR-3.13 respectively in one direction and a position of 1 lot for GAZR-6.13 in another.

    Margin column displays margin charging type at this spread:

    • Specific values mean charging a fixed margin for a spread in a specified volume. The first value specifies the volume of the initial margin, while the second one specifies the volume of the maintenance one.

    • Maximal - initial and maintenance margin values are calculated for each spread leg. The calculation is performed by summing up the margin requirements for all leg symbols. The margin requirements of the leg having a greater value will be used for the spread.

    • CME Inter Spread - the rates (in percentage value) for margin are specified: the first one is for the initial margin, while the second is for the maintenance one. The total margin value will be defined by summing up the margin requirements for all symbols of the spread and multiplying the total value by the specified rate.

    • CME Intra Spread - two values for margin increase are specified: the first value is for the initial margin, while the second is for the maintenance one. During the calculation, the difference between the total margin of A leg symbols and the total margin of B leg symbols is calculated (the difference in absolute magnitude is used, so that it does not matter what leg is a deductible one). According to the type of the calculated margin, the first (for the initial margin) or the second (for the maintenance one) value is added to the obtained difference.

    The specified margin is charged per spread unit - for the specified combination of positions. If any part of the position does not fit the spread, it will be charged by an additional margin according to the symbol settings. If the client's current positions have the volume the specified combination fits in several times, the charged margin is increased appropriately. For example, suppose that A and B symbols with the ratios of 1 and 2 are in spread. If a client has positions for these symbols with the volumes of 3 and 4 respectively, the total margin size is equal to the doubled value from the spread settings (two spreads: 1 lot of A and 2 lots of B, 1 lot of A and 2 lots of B) plus the margin for the single remaining A symbol lot.

    Spreads are described in details in the client terminal user guide.

  5. Terminal: Fixed the depth of market freezing when the best bid price is higher than the best ask one.
  6. Terminal: Fixed setting the fill policy type for market trade requests depending on the trade symbol's execution type and allowed filling modes.
  7. Terminal: Fixed display of incorrect SL and TP values in the position open dialog in case there is a position with placed SL and TP levels and the levels are placed "In Points". Incorrect SL and TP level values in points have previously been inserted to these fields. Beginning with the new build, the values in the above mentioned case are displayed in prices regardless of the level placing mode.
  8. Terminal: Fixed occasional incomplete display of the trading history for the current day.
  9. Terminal: Reduced memory consumption during MQL5 Code Base and MQL5 Market operation.
  10. Terminal: Fixed working with context menus when using touch screen devices powered by Microsoft Windows 8 or higher.
  11. Market: Added product activation confirmation dialog displaying the number of remaining activations.

    Each application purchased in MetaTrader AppStore is additionally protected, so that it can be launched only on the PC it has been downloaded to during the purchase. Generation of an encoded copy is called activation. Each product can be activated at least 5 times on different hardware. Sellers can increase the number of activations at their sole discretion.

    The new dialog protects users from wasting activations by informing that their number is limited.

  12. MQL5: Fixed crash when initializing primitive type arrays by a sequence.
  13. MQL5: Fixed errors when working with #ifdef/#else/#endif conditional compilation macros.
  14. MQL5: MQL5 language compiler moved to MetaEditor. The compiler will be available for download as a separate .exe file.
  15. Signals: Added information about a signal, to which an account is subscribed, to the Navigator window:

    If the account is subscribed to the signal, the appropriate icon with the signal's name is shown for it. When hovering the mouse cursor over the name, the subscription's expiration date is displayed. The context menu contains commands for viewing the signal and unsubscribing from it. The latter one is displayed only if the appropriate trading account is currently active in the terminal.

    The subscription icon makes working with signals more convenient.

  16. Signals: Added legend for equity, growth, balance and distribution graphs. Also, marks displaying funds depositing and withdrawal have been added to the equity graph. When hovering the mouse cursor over the balance operation triangle, a tooltip with the operation sum is displayed:

  17. MetaEditor: Fixed the loss of focus in the code editing window that occurred after the first compilation.
  18. MetaEditor: Fixed automatic scrolling of the compilation window to the first warning if there are no errors.
  19. MetaEditor: Fixed highlighting predefined _DEBUG and _RELEASE macros in the source code.
  20. MetaEditor: Fixed operation of snippets if the automatic entering of line indentations is disabled.
  21. Fixed errors reported in crash logs.
  22. Updated documentation.
7 diciembre 2013
MetaTrader 5 Trading Terminal build 880: Terminal Journal with Milliseconds and MQL4BUILD/MQL5BUILD Macros

Trading Terminal

  1. The time is displayed up to milliseconds in the client terminal's, MetaEditor's and MetaTester's Journal.

    The time is displayed up to milliseconds in the client terminals

  2. Improved scanning and searching for servers in demo account opening dialog - scanning speed has been increased and additional search for access points for the servers having no connection has been added.

    Improved scanning and searching for servers in demo account opening dialog

  3. Fixed and optimized client terminal, MetaEditor and MQL5 help.
  4. origin.txt file is automatically generated in the terminal data folder. This file contains the path to the installation directory that data folder corresponds to.
  5. Fixed display of the context help in a number of dialogs, windows and control elements.
  6. Fixed occasional terminal freezing during prolonged continuous operation (longer than 2-3 days).
  7. Fixed occasional loss of the list of saved client accounts.
  8. Fixed an error causing "pack bar error" messages in the Journal.
  9. Added MetaTrader 5 terminal and MQL5 language helps in Turkish

Market

  1. Fixed and optimized MQL5 Market data storage and update.

MQL5

  1. Fixed an error in overloading the function templates.
  2. Added __MQL4BUILD__ and __MQL5BUILD__ macros - MQL5 compiler versions in MetaTrader 4 and MetaTrader 5 client terminals respectively. These macros can be used for displaying information about the compiler version used for compiling EX4\EX5 file in Experts log of the client terminal:

    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       Print(__FILE__," compiled with ",__MQL5BUILD__," build");
    //---
       return(INIT_SUCCEEDED);
      }

MetaTrader Trading Signals

  1. Fixed comparison of Forex trading symbols of EURUSD <=> EURUSD.ABC form in case there are several symbols having similar main part (EURUSD), and trading is disabled for one of them.
  2. Fixed signals copying when performing balance and credit operations on the subscriber's account. The total amount of client's funds is changed after a balance/credit operation is performed. If the percentage value of signals copying has decreased by more than 1% afterwards (the volume of copied trades is calculated considering the ratio of the subscriber's and provider's balance), the subscriber's account is forcedly synchronized with the provider's one. This is done to correct the subscriber's current positions according to the new copying percentage value.

    If the subscriber's funds have increased due to the balance or credit operation, no forced synchronization is performed.

  3. Fixed copying positions in case Fill or Kill (FOK) market order execution mode is forbidden.

MetaEditor

  1. Fixed working with the clipboard when inserting non-Unicode text.
  2. Fixed scrolling the navigator tree when moving folders using drag'n'drop

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

2 noviembre 2013
MetaTrader 5 Trading Terminal build 871

MQL5

  1. Fixed an issue that prevented testing of experts containing custom indicators in the form of a resource . Error affected including experts from MQL5 Market.
  2. Added support for conditional compilation # if [n] def, # else and # endif.
  3. Added macros _DEBUG and _RELEASE, when compiled *. Mq5 macro __ MQL5__, when compiled *. Mq4 __ MQL4__.

Market

  1. Optimized with MQL5 Market when using multiple instances of the client terminal.

Strategy Tester

  1. Fixed display of tabs and test results when testing the indicator.
  2. Fixed display of signatures by using the cursor in the "crosshairs" to measure the distance between the bars in the visual test.
  3. Fixed crash tester at the completion of testing.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

24 octubre 2013
MetaTrader 5 build 868: Unconditional Synchronization of Signal Positions and Fixing Errors

Trading Terminal

  1. Added automatic setting of the alert expiration time when placing it via the depth of market.
  2. Fixed display of the depth of market in the extended mode when showing trading symbols with a large spread.
  3. Fixed display of search results in the terminal working under Wine (Linux and Mac).

MetaTrader Trading Signals

  1. Added the option for unconditional synchronization of positions between a signal source and a subscriber's account. If enabled, synchronization of positions (including closing open positions not related to the signal) during the initial synchronization of the subscriber's and signal source's state is performed without additional confirmation.

    Added the option for unconditional synchronization of positions between a signal source and a subscriber's account

    Thisption is necessary when using signals on VPS (Virtual Private Server). It can also be used to increase the synchronization reliability when working with the already selected signal.

MQL5

  1. Removed unconditional display of the symbol name in Chart graphical object.
  2. Fixed ConvertTimePriceToXY function behavior - now, ERR_CHART_WRONG_PARAMETER error code is returned in case correct calculation is impossible.
  3. Standard Library. Fixed CIndicators::TimeframesFlags method.
  4. Standard Library. Controls. Now, drop-down lists are always displayed on top of other controls.

Strategy Tester

  1. Fixed testing stop when using custom indicators with an infinite loop in OnInit entry point.

MetaEditor

  1. Fixed errors causing a memory leak during the mass replacements of a substring in a document.
  2. Fixed an error in the custom indicator generation wizard that added OnTradeTransaction entry point.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

4 octubre 2013
MetaTrader 5 Trading Terminal build 858: Push Notifications of Transactions and Alerts on the Chart

Trading Terminal

  1. Added ability to send push notifications of transactions occurring on the client account: placing, changing and removing orders and deals, activation of pending orders and SL-TP, margin call and stop-out events.

    Added ability to send push notifications of transactions occurring on the client account

    Added ability to send push notifications of transactions occurring on the client account

  2. Added display and managing alerts from the chart.

    Added display and managing alerts from the chart

    When management of trading levels from the chart is allowed, alert's price value can be changed by its dragging to a new price level. Alerts can be disabled or removed using a context menu of the appropriate level on the chart.

  3. Added a tooltip having stop and limit prices for stop-limit orders in the list of open orders and positions.
  4. Added ability to sort a symbol list in Symbols dialog.
  5. Added the possibility to scale the price chart using the mouse wheel while holding down Ctrl button.
  6. Improved display precision of Gann and Fibonacci graphical objects and their levels.
  7. Improved the vertical scaling algorithm for tools having a set price increment.
  8. Fixed errors in displaying the interface in Wine (for Linux, Mac).
  9. Fixed errors in generating trailing stop placing menu.
  10. Fixed an error in closing a chart having a custom indicator that could sometimes lead to lagging when closing a chart.
  11. Fixed display of text news in the news dialog.
  12. Fixed an error that sometimes hindered from publishing screenshots on MQL5.com website.
  13. Fixed assignment of "hot keys" for the built-in indicators.
  14. Updated translation of the interface into Bulgarian and Italian.

Trading Signals

  1. Fixed subscription to signals in Wine (for Linux, Mac).

MQL5

  1. Now, CHARTEVENT_CHART_CHANGE event is generated when the chart's scale is changed.
  2. Added MQL5_MEMORY_LIMIT(available via MQL5InfoInteger function) - it returns the maximum amount of dynamic memory for an MQL5 program in megabytes. This limitation applies only to the dynamic objects of MQL5 applications (arrays, objects, strings).
  3. Multidimensional arrays of primitive types can now be initialized by a one-dimensional sequence:
  4. int a[2][2]={0,1,2,3}; 

    Previously, the following entry has been necessary

    int a[2][2]={{0,1},{2,3}};
  5. Fixed an error when the call of Bars() function sometimes did not lead to reconfiguration of the price history caches when it was necessary.
  6. Fixed passing the link to the array of pointers.
  7. Fixed FileSeek function operation when using SEEK_CUR flag and reading from file till this function is called.
  8. Standard Library. Added CFlameCanvas class ("Include\Canvas\FlameCanvas.mqh") and an example of its application called Flame Chart ("Indicators\Examples\Canvas\FlameChart.mq5") - this example demonstrates the possibilities of generating custom images on the chart by means of MQL5.

  9. Example demonstrates the possibilities of generating custom images on the chart by means of MQL5

Strategy Tester

  1. Fixed initial deposit's value reset in the testing window when changing its size.
  2. Fixed testing stop when using custom indicators with an infinite loop in OnInit entry point.
  3. Fixed filtering deals in the history tab of the visual tester. The error has occurred in case there have been deals at more than two symbols.
  4. Fixed recalculation of custom indicators simultaneously working on a single symbol with different time frames.

MetaEditor

  1. The works on using the single compiler and MQL5 IDE for MetaTrader 4 and MetaTrader 5 are underway:

    MQL5 on MetaTrader 4 and MetaTrader 5

    Instead of working on MQL4 -> MQL5 compatibility, we have decided to go the opposite way. We have transferred the maximum possible amount of MQL5 language functions and features fully preserving MQL4 functionality. In other words, all powerful MQL5 functions, including ООP and the native code compiler, will become available in MQL4. To achieve this, we have developed a unified compiler that automatically supports both MQL4 and MQL5 languages. MetaEditor will also become a unified application both for MetaTrader 4 and MetaTrader 5 platforms. Thus, it will be possible to compile both MQL4 and MQL5 from any version.

    MQL5 Storage with MetaTrader 4
    It will be easier for developers to manage source code versions, participate in team operations and synchronize files.

    Improving the security of application codes in MetaTrader 4
    New EX4/EX5 files are provided with a serious and completely revised protection, as compared to the old EX4.

    Market of MetaTrader 4 applications
    Transition to the new compiler that supports resources and conventional protection suited for each user's PC will allow users to develop and sell full-fledged applications. There is no need to worry about the protection of EX4/EX5 files sold via the Market - they do not contain bytecode but only a pure native code signed by our private key. This solution puts in order all the diversity of existing programs and protects the sellers.

  2. Fixed highlighting MetaAssist entry points.
  3. Fixed search without considering letter case in the line consisting of non-Latin characters.
  4. Fixed input using the standard on-screen keyboard.
  5. Fixed updating the contents of Articles and Codebase tabs.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

12 agosto 2013
You Can Now Deposit Funds to Your MQL5.com Account via Visa QIWI Wallet

We have expanded MQL5.community payment system options by adding QIWI Wallet as a new way to deposit funds to your account.

This is already the fourth method of depositing money: now, you can use Visa QIWI Wallet along with WebMoney, PayPal and bank cards. Payment is made in rubles, charged commission is 1%, minimum payment is 100 rubles.

To deposit funds to your account, go to Payments section of your MQL5.com profile, select "Deposit to account" and choose QIWI Wallet from the four available options.

Deposit Funds to Your MQL5.com Account via Visa QIWI Wallet

On the new page, specify the amount of funds in rubles to be deposited and your mobile phone number which is used as an identifier in the Visa QIWI Wallet payment system.

Specify the Amount of Funds in Rubles to be Deposited and Your Mobile Phone Number

After the payment is confirmed, secure connection with Visa QIWI Wallet service is established, and you are offered to pay for an automatically generated invoice.

QIWI Wallet Invoice

You can pay for it in several ways:

  • Online payment in Visa QIWI Wallet service. This is the easiest and fastest way, if there is enough money on your account in this payment system. Simply log into the system by entering a password and confirm the payment with one-time code that you will receive by SMS.

  • Payment kiosk. This option is convenient, as you can pay for invoice in cash using any QIWI payment kiosk.

  • Bank card. If a bank card is bound to your Visa QIWI Wallet, then after authorization you will need to confirm the payment by entering card data and CVV2 or CVC2 verification code.

  • WebMoney. If WebMoney purse is bound to your Visa QIWI Wallet, then after authorization the invoice will be paid using funds on your WebMoney purse.

You can find detailed instructions on the first two Visa QIWI Wallet invoice payment methods (online and payment kiosk) in the appropriate section of MQL5.community Payment System article.

When depositing funds to your account, standard QIWI commission of 1% from the specified amount is charged. After the funds have been successfully transferred, they appear on your account immediately.

Choose the most convenient way to deposit funds to your account and use built-in MQL5.community services: Jobs freelance service, MetaTrader 4/5 AppStore and Trading Signals for MetaTrader platforms!
25 julio 2013
MetaTrader 5 Trading Terminal build 842: Scalper Depth of Market for All Symbols

Trading Terminal

  1. Added display of the scalper Depth of Market for the symbols having no external one:

    Added display of the scalper Depth of Market for the symbols having no external one

    The new Depth of Market allows placing, modifying and deleting orders quickly and with maximum clarity providing best opportunities for profitable trading.

  2. Added ability to place stop orders via the Depth of Market:

    Added ability to place stop orders via the Depth of Market

    When pressing buy or sell button on a price level, the terminal automatically defines the type of the placed order - stop or limit - and passes it to the trade server.

  3. Added command for displaying the history of deals on the chart:

    Added command for displaying the history of deals on the chart

  4. Added execution time of successful trading requests in the terminal journal:
    2013.07.24 11:22:14    Trades    '1085833': deal #125358548 buy 2.00 EURUSD at 1.32148 done (based on order #131370869)
    2013.07.24 11:22:14    Trades    '1085833': order #131370869 buy 2.00 / 2.00 EURUSD at 1.32148 done in 37 ms
    2013.07.24 11:22:14    Trades    '1085833': accepted instant buy 2.00 EURUSD at 1.32148
    2013.07.24 11:22:14    Trades    '1085833': instant buy 2.00 EURUSD at 1.32148
  5. The time of opening and closing of orders, execution of deals and placing positions is now displayed up to seconds in the list of opened orders and positions, trading history and trade reports.
  6. Added display and ability to manage Limit price for Stop-Limit orders to the chart's trading levels.
  7. Fixed drawing the indicators having DRAW_SECTION, DRAW_ZIGZAG, DRAW_COLOR_SECTION and DRAW_COLOR_ZIGZAG display styles when using a shift in the indicator.
  8. Fixed saving the chart after debugging or profiling.
  9. Fixed display of SL-TP levels in the Depth of Market.
  10. Fixed display of market orders in the Depth of Market.
  11. Fixed symbol display in the trading dialog in case description is too long.
  12. Optimized terminal operation in case of a large number of selected symbols.
  13. Fixed and enhanced translation of the graphic interface into Italian, Portuguese and French.
  14. Fixed terminal help update in Portuguese.
  15. Added translation of the client terminal's help in French

Trading Signals

  1. Added display of Equity chart and signal reviews to the information about a signal. Added warning of the last trading transaction date.

    Added display of Equity chart and signal reviews to the information about a signal

  2. Added display of new signals that have appeared over the past 3 days to the signals tab.

MQL5

  1. Added ResourceReadImage function - this function passes the graphic resource data created by ResourceCreate() function or saved in EX5 file during compilation to the array.
bool  ResourceReadImage(
   const string      resource_name,       // name of the graphic resource for reading
   uint&             data[],              // array for receiving data from the resource
   uint&             width,               // width of the copied area from the resource
   uint&             height,              // height of the copied area from the resource
   );
  1. Added ResourceFree function allowing MQL5 application developers to manage memory consumption when actively working with resources.
  2. Added additional operation mode for working with OpenCL for CLContextCreate function - CL_USE_CPU_ONLY - only OpenCL emulation on CPU is allowed.
  3. Fixed MQL5 programs execution errors when working in 64-bit Windows 8.
  4. Limited the number of warnings delivered during compilation down to 100 ones.
  5. Added CLGetInfoInteger() function for obtaining properties of OpenCL devices.
  6. Standard Library. Improved controls library - added ability to work with several applications in one subwindow.

Strategy Tester

  1. Fixed setting position ID when executing rollovers with re-opening.

MetaEditor

  1. Fixed undoing changes when working with MQL5.Storage.
  2. Fixed operation of "Make Uppercase" and "Make Lowercase" commands in case there are non-Latin characters in the line.
  3. Fixed MetaAssist operation.
  4. Added translation of online help into Chinese.

Fixed errors reported in crash logs.
Updated documentation.

The live update is available through the LiveUpdate system.

The MetaTrader 5 Trading Terminal can be downloaded at https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_source=www.metatrader5.com

8 julio 2013
Social Trading with the MetaTrader 4 and MetaTrader 5 Trading Platforms

What is social trading? It is a mutually beneficial cooperation of traders and investors whereby successful traders allow monitoring of their trading and potential investors take the opportunity to monitor their performance and copy trades of those who look more promising.

You monitor real-time trading of a number of traders, connect to the most successful ones and copy their trades in automatic mode - that's what social trading is about. For novice and inexperienced traders who have just turned to financial markets for additional income, it is probably the best opportunity to actually start trading.

Social Trading with the MetaTrader 4 and MetaTrader 5 Trading Platforms

You do not need to be a professional trader with a great bundle of knowledge and skills in order to trade professionally. Nor do you need to follow and analyze the news from financial markets, work out and implement trading strategies and be prepared to change the ones that fail to keep monitoring their performance in the new market conditions. Thanks to social trading it all becomes unnecessary since you can simply copy trades of all those who follow the news, analyze markets and create profitable strategies.    

Is it difficult to start mirror trading and how much does it take? While hedge fund investing was not available to many due to high entry threshold (hundreds of thousands and millions of dollars), social trading is a highly affordable system available to absolutely any trader with any income level. It opens up access to a large market with vast opportunities that you, too, can use.

Social trading advantages are obvious:

  • Additional income for both traders and investors
  • Investment diversification
  • Opportunity to connect to the most successful traders and automatically mirror their trades
  • Low entry threshold: you can start with a minimum budget
  • Practice opportunities: you can trade on demo accounts in a training mode
  • Time saving
  • High operability and user-friendly interface

Ready to take the opportunities offered by social trading but don't know where to start? MetaTrader 4 and MetaTrader 5 are the most famous and popular platforms for social and mirror trading, with Trading Signals service being a very convenient, advanced social trading feature offered in these platforms. Social trading with the MetaTrader platforms is very straightforward: the user chooses the signal directly in the terminal, subscribes to it and from that moment on all trades are copied in his account.

Trading Signals with Automatic Execution on Your Account

Social trading with MetaTrader will allow you to monitor trading activity and profitability of successful traders, and most importantly, copy their trades. If you see a positive trend in performance of one of the traders whose signal is available for subscription, go ahead with it and start copying his trades. The trading terminal will automatically mirror all trades of the signals provider in your account, without any manual intervention necessary.

So, after subscribing the trader can earn money using the Signals service, without effort, skills or trading experience.

After all, social trading should be simple and straightforward to be easily understood by traders with any background. We cannot but admit it. In this light, MetaTrader trading signals appear to be perfectly adequate. They are available to any user, regardless of their trading experience. Here, you are not required to sign an agreement with a provider of the selected signal or a broker, nor is there any paperwork or manual control necessary. Everything is done automatically.

All you need is to specify your broker and enter the number of your account on the broker's server. Nothing more than that. Subscription process will take very little time. The description of a step-by-step subscription procedure is available in the article entitled "How to Subscribe to Trading Signals". After reading it, you will subscribe to the signal of your choice quickly and easily. 

How to Subscribe to Trading Signals

Despite being seemingly complicated, choosing a provider of the suitable signal has been made as simple as possible - the Trading Signals section features a regularly updated list of providers. By default, signals on the list are sorted by quality ensuring that top positions are taken by signals with higher credibility and better financial performance. However, for your convenience trading signals can also be sorted by monthly growth, number of subscribers, price and other parameters.

Social trading with the MetaTrader trading platforms is easy, straightforward and available to everyone. Out of thousands of available signals providers, you just need to choose the one that suits you more and measures up to your parameters!

123456789101112