Cómo empezar con Metatrader 5 - página 110

 
Sergey Golubev:

y el siguiente artículo -



Soy nuevo, ¿pueden ayudarme?

 
armynnoow:

Soy nuevo, ¿pueden ayudarme?


Hay un post para novatos (sobre "por dónde empiezo") -

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Cómo empezar con Metatrader 5

Sergey Golubev, 2017.10.03 06:39

Sólo para los novatos (si usted es nuevo en este sitio web, por ejemplo) - se recomienda encarecidamente a leer los siguientes artículos / post / hilos -

============

1. Memo del usuario

Foro sobre el comercio, los sistemas automatizados de comercio y la prueba de las estrategias de comercio

Cómo empezar con Metatrader 5

Sergey Golubev, 2016.12.30 17:26

Sólo algunos recordatorios sobre cómo insertar el código en el puesto(para los nuevos usuarios / novatos) - leer aquí, y leer todo el artículo: MQL5.community - Memo del usuario

============

2. Cómo hacer una búsqueda en el foro/mql5 portal

============

3. Resúmenes

3.1. Cómo empezarcon MT5, ¡un resumen!(incl. el hilo anterior: Cómo empezar con MetaTrader y forex, el principio)
Ayuda deMetaTrader 4 - Terminal de cliente - Guía de usuario
Ayuda de MetaTrader 5 - Plataforma de trading - Manual de usuario

3.2.Todo (aún no) sobre Probador de Estrategias, Optimización y Nube

3.3.Resumen del SISTEMA ASCTREND(incluye 2 buenos EAs)

3.4.HowTo del SISTEMA BRAINTRADING

3.5. SistemaParabólico PriceChannel(incl 2 versiones del EA)

3.6.Evaluación del estado del mercado(se crearon 2 EAs)

3.7.Ichimoku

3.8.Vídeos financieros y de trading - Tabla de contenidos

3.9. Todo sobre lapestaña Calendario y los eventos macroeconómicos

3.10. Todo sobreel MQL5 Wizard : crear robots sin programar

============

4. Primer artículo clave:
MetaTrader 5 - ¡Más de lo que puede imaginar!

============

5. El segundo artículo clave:
Oportunidades ilimitadas con MetaTrader 5 y MQL5

============

6. Cómo añadir el broker a MT5:

6.1. Ayuda de MetaTrader 5 -Abrir una cuenta

6.2. Ayuda de MetaTrader 5 Android OS -Abrir una cuenta demo

6.3. Ayuda de MetaTrader 5 iPhone/iPad -Conectarse a una cuenta y abrir una cuenta demo

============

7.Señales

============

8.Mercado

============

9.MQL5 VPS para MT4/MT5

9.1. Cómo suscribirse a VPShttps://www.mql5.com/en/forum/187872#comment_4851530

9.2. Puede mover su suscripción VPS de una cuenta a otra
https://www.mql5.com/en/forum/172120#comment_4166892

9.3. Descripción del VPS MQL5
https://www.mql5.com/en/forum/172553#comment_4185979

9.4. Monitorizar el VPS
https://www.mql5.com/en/forum/188920#comment_4800677

9.5. Sincronizar -
https://www.mql5.com/en/forum/211508

============

10. Intermediarios

10.1. Buscar un servidor por el nombre del broker:
https://www.mql5.com/en/forum/9950/page88#comment_3981953
https://www.mql5.com/en/forum/214820

10.2. Ayuda para principiantes
https://www.mql5.com/en/forum/214904

10.3. Corredores de Estados Unidos
https://www.mql5.com/en/forum/12423/page500#comment_4736742

============

11. Promoción:
https://www.mql5.com/en/forum/9950/page88#comment_3982032
https://www.mql5.com/en/forum/9950/page88#comment_3982030
https://www.mql5.com/en/forum/9950/page88#comment_3982036

============

12. Autónomos, descompilación, las reglas, ejemplos del código descompilado:
https://www.mql5.com/en/forum/203200

============

13. Normas generales y buenas prácticas del Foro

13.1.Hilo con la discusión

13.2.Reglas del foro

============

14. El hilo sobre los hilos:lo que pasa en el foro en todas partes
Buen hilo si buscas algo nuevo y moderno (y gratis)

============

15.Hilo de sugerencias de mejora de MT5, mql5, mql5.com

============

16. Cómo suscribirsea un tema o invitar a una persona en el tema-el hilo

============


 

MetaEditor (que se actualiza junto con Metatrader) se actualizó mucho.
Mucho.
Más protección de código, proyectos, y más y más.

Puedes intentar encontrarlo por ti mismo, o esperar a los comunicados que se publicarán durante la semana.

Sólo para información.

 

Es una actualización muy interesante sobre todo para MetaEditor así que parece que voy a tener que aprender sobre ella -

------------------

Foro sobre el comercio, los sistemas de comercio automatizado y la prueba de las estrategias de comercio

Plataforma MetaTrader 5 Beta Build 1700: Proyectos en el MetaEditor e instrumentos financieros sintéticos

MetaQuotes Software Corp., 2017.12.05 14:33

Plataforma MetaTrader 5 Beta Build 1700: Proyectos en el MetaEditor e instrumentos financieros sintéticos

La versión beta de la plataforma MetaTrader 5 actualizada se lanzará el 6 de diciembre de 2017. Actualizaremos nuestro servidor público MetaQuotes-Demo ubicado en access.metatrader5.com:443. Invitamos a todos los comerciantes a unirse a las pruebas para evaluar las características de la plataforma actualizada y ayudar a los desarrolladores a corregir errores.

Para actualizar la plataforma MetaTrader 5 hasta la build 1700, conéctese al servidor access.metatrader5.com:443.

La compilación final de la nueva plataforma MetaTrader 5 se lanzará después de la prueba beta pública.

Fin del soporte para versiones antiguas de terminales
El apoyo a las versiones anteriores de los terminales de escritorio y móviles terminará con el lanzamiento de la nueva versión de la plataforma:
  • Terminal de cliente: versiones inferiores a la 730, 23 de noviembre de 2012
  • Terminal móvil para iPhone: versiones inferiores a la 1171, 11 de noviembre de 2015
  • Terminal móvil para Android: versiones inferiores a la 1334, 5 de agosto de 2016
Las versiones de terminales no compatibles no podrán conectarse a las nuevas versiones del servidor. Le recomendamos encarecidamente que actualice sus terminales con antelación.

Cambios en el protocolo de operaciones de almacenamiento MQL5
Para soportar los nuevos proyectos compartidos, hemos actualizado el protocolo de funcionamiento con el MQL5 Storage. Por lo tanto, tendrá que realizar una comprobación de todos los datos del almacenamiento después de la actualización de la plataforma. Los datos almacenados en el MQL5 Storage no se perderán ni se verán afectados durante la actualización.

Antes de actualizar la plataforma a la nueva versión, le recomendamos que realice la operación Commit para enviar todos los cambios locales al MQL5 Storage.

La actualización incluirá los siguientes cambios:

  1. En el MetaEditor ya están disponibles proyectos completos. El proceso de desarrollo de programas se ha vuelto más cómodo.

    Ahora el archivo principal del programa MQ5 no aparece como proyecto. El proyecto es un archivo separado "MQPROJ", que almacena la configuración del programa, los parámetros de compilación y la información sobre todos los archivos utilizados. Se puede acceder a los ajustes del proyecto principal desde un cuadro de diálogo separado, por lo que ahora no es necesario especificarlos en el código fuente a través de #property.

    Se proporciona una pestaña separada en el Navegador para un trabajo conveniente con el proyecto. Todos los archivos, como los de inclusión, los de recursos, los de cabecera y otros, están organizados en categorías en esta pestaña. Todos los archivos se añaden automáticamente al navegador del proyecto. Por ejemplo, si se incluye un nuevo archivo MQH, éste aparecerá automáticamente en la sección "Dependencias" del navegador.

    También se ha implementado el soporte para nuevos proyectos en el repositorio online actualizado de MQL5 Storage. Se trata de una opción conveniente para el desarrollo de grandes proyectos a través de la colaboración con otros miembros de la comunidad MQL5.community.

    Para los proyectos de grupo se ha creado una nueva sección de Proyectos Compartidos. Un proyecto creado en esta sección se envía inmediatamente al almacenamiento: puede conceder permisos a otros usuarios y comenzar la colaboración de inmediato.





    Cuando se compila un proyecto en Proyectos compartidos, se copia automáticamente un archivo EX5 ejecutable en el directorio local de Expertos, Indicadores o Scripts, según el tipo de programa. Puede lanzar fácilmente el programa en un gráfico sin tener que copiar los archivos manualmente.


    Novedades en la operación de almacenamiento de MQL5
    Para implementar el soporte de nuevos proyectos compartidos, hemos modificado el protocolo de funcionamiento con el MQL5 Storage. Por lo tanto, tendrá que realizar una comprobación de todos los datos del almacenamiento después de la actualización de la plataforma. Los datos almacenados en el MQL5 storage no se perderán ni se verán afectados durante la actualización.
    Antes de actualizar la plataforma a la nueva versión, se recomienda realizar la operación Commit para enviar todos los cambios locales al MQL5 Storage.
    El comando "Checkout from Storage" ahora sólo está disponible en los proyectos compartidos. Para otros catálogos de la carpeta MQL5 se utilizan los comandos "Activar el almacenamiento MQL5" y "Actualizar desde el almacenamiento":

    • Si no ha utilizado el MQL5 Storage en la instancia actual del MetaEditor, pulse "Activar MQL5 Storage" en el menú contextual de la ventana del Navegador. Todos los catálogos y archivos disponibles en su almacenamiento se cargarán en su ordenador local.
    • Si ya está trabajando con el almacén, haga clic en "Actualizar archivos desde el almacén" en el menú contextual del elemento MQL5 raíz en el Navegador para recibir todos los datos del almacén.


    Nuevos Proyectos: Ejemplos de creación y detalles de operación
    Se ha añadido una nueva entidad de proyecto en el MetaEditor. Un proyecto es un archivo mqproj que almacena las propiedades comunes del programa y la información sobre todos los archivos utilizados. Ahora, las propiedades del programa pueden ser convenientemente gestionadas desde un diálogo separado del MetaEditor en lugar de la modificación manual de las propiedades en el código fuente (utilizando las directivas #property).

    Si se dispone de código, se pueden probar fácilmente nuevos proyectos utilizando el comando "Nuevo proyecto desde el código fuente".




    En el directorio donde se encuentre el archivo seleccionado, se creará un nuevo archivo de proyecto con el mismo nombre y la extensión mqproj. Las principales propiedades del programa especificadas en el código fuente a través de #property se añadirán automáticamente al proyecto, incluyendo el nombre, el copyright, la versión, el enlace al sitio del desarrollador y la descripción del programa.
    El conjunto de propiedades del programa en el archivo de proyecto tiene mayor prioridad que las propiedades especificadas en el código del programa. Si las propiedades se especifican tanto en el proyecto como en el archivo fuente, se utilizarán las propiedades del proyecto.




    Se han añadido dos nuevas opciones para la compilación de programas MQL5 a las propiedades del proyecto:

    • Activar la optimización adicional: las aplicaciones con la optimización desactivada se compilan más rápido, pero se ejecutan más lentamente.
    • Comprobar los divisores de punto flotante: las aplicaciones con la comprobación desactivada funcionan un poco más rápido, porque el error de división por cero no se comprueba durante la ejecución del código.

    Para trabajar con proyectos, utilice una pestaña separada de Proyecto en la ventana del Navegador. Todos los archivos utilizados en un proyecto se muestran en esta pestaña de forma conveniente. Cuando se genera un proyecto a partir de un archivo fuente, todos los archivos de inclusión utilizados (especificados mediante el directorio #include en el archivo MQ5 principal y en sus archivos de inclusión) se añaden automáticamente a la sección de Dependencias.

    Cuando se añade un nuevo archivo de inclusión al código fuente, también aparece en el Navegador del proyecto. Los archivos de cabecera utilizados se añaden a la sección Cabeceras; las imágenes, sonidos y otros programas MQL5 utilizados en el proyecto como recurso se añaden a la sección Recursos. Los archivos MQ5 con el código fuente se muestran en la sección Fuentes. En la sección "Ajustes y archivos", puedes añadir otros archivos, como los archivos de conjunto para las pruebas y las plantillas de gráficos.

    Utilice los comandos del menú contextual para añadir archivos existentes a un proyecto o para eliminar archivos del mismo. Tenga cuidado al borrar archivos, ya que puede eliminar un archivo del proyecto (quitar el enlace) o borrarlo completamente del disco duro:



    La creación de un nuevo proyecto es tan fácil como la creación de un programa MQL5 normal. Haga clic en "Nuevo Proyecto", seleccione el tipo de nuevo programa y especifique las propiedades (como el nombre, los manejadores de eventos, etc) en el Asistente MQL5.

    Para obtener un archivo EX5 ejecutable, puedes abrir el proyecto y pulsar F7 (el comando de compilación) o abrir el archivo MQ5 principal del programa y compilarlo.

    Proyectos compartidos en el almacén MQL5: Detalles de la operación
    Los proyectos compartidos se gestionan desde una sección separada de Proyectos Compartidos. Si todavía no ha conectado el almacenamiento, ejecute el comando "Activar almacenamiento MQL5" desde el menú contextual de la carpeta deseada. El MetaEditor comprobará si su almacenamiento contiene datos guardados y si hay proyectos compartidos disponibles. Todos los datos disponibles se recuperarán del almacenamiento y se cargarán en su ordenador (la operación de salida). Los proyectos de grupo disponibles aparecen en la sección de proyectos compartidos. Para recuperar los proyectos, ejecute "Checkout from Storage" en el menú contextual.

    Para crear un nuevo proyecto de grupo, seleccione la carpeta Proyectos compartidos y haga clic en "Nuevo proyecto":



    A continuación, complete los pasos estándar de MQL5: establezca el tipo, el nombre y las propiedades del programa deseado. Para los proyectos de grupo, debes utilizar nombres claros y comprensibles, para que los demás participantes puedan encontrarlos fácilmente. En los nombres de los proyectos sólo se pueden utilizar letras latinas sin espacios.

    El objeto creado se añade inmediatamente al MQL5 Storage. Los archivos de la biblioteca estándar utilizados en el proyecto no se añaden al almacenamiento, y se pueden añadir manualmente.

    Para permitir que otros participantes trabajen con el proyecto, abra sus propiedades. Desde aquí puede conceder permisos a los usuarios seleccionados especificando su login en MQL5.community, así como establecer parámetros comunes para el trabajo en grupo:

    • Proyecto privado
    • Proyecto gratuito
    • Unirse a un proyecto por encargo



    Al compilar un proyecto de grupo, el archivo ejecutable EX5 se copia automáticamente en el directorio local de Expertos, Indicadores o Scripts, según el tipo de programa. Esto le permite ejecutar instantáneamente el programa en el terminal sin tener que copiarlo manualmente en el directorio adecuado.

  2. Terminal: Ahora, la plataforma de negociación permite crear instrumentos financieros sintéticos, es decir, símbolos basados en uno o varios instrumentos existentes. El usuario debe establecer la fórmula para calcular las cotizaciones, tras lo cual la plataforma generará los ticks del instrumento sintético en tiempo real, y también creará su historial de minutos.

    Cómo funciona
    • Usted crea un instrumento sintético y establece la fórmula para el cálculo del precio.
    • La plataforma calcula los ticks con una frecuencia de 10 veces por segundo, siempre que el precio de al menos uno de los instrumentos utilizados en la fórmula haya cambiado.
    • La plataforma también calcula el historial de barras de un minuto (de los últimos dos meses) a partir de las barras de un minuto de los instrumentos utilizados en su fórmula. Todas las barras nuevas (la actual y las siguientes) se construyen en tiempo real a partir de los ticks generados del instrumento sintético.
    Por ejemplo, puede crear un instrumento que muestre el índice del dólar (USDX). Utiliza la siguiente fórmula:
    50.14348112 * pow(ask(EURUSD),-0.576) * pow(USDJPY,0.136) * pow(ask(GBPUSD),-0.119) * pow(USDCAD,0.091) * pow(USDSEK,0.042) * pow(USDCHF,0.036)
    Nota: en la fórmula del índice del dólar de origen se utilizan los pares USDEUR y USDGBP. Dado que la plataforma sólo dispone de pares inversos, en la fórmula del símbolo sintético se utiliza una potencia negativa y Ask en lugar de Bid.

    La plataforma calculará en tiempo real el precio del nuevo instrumento basándose en las cotizaciones de los otros seis símbolos proporcionados por su broker. Los cambios de precio se visualizarán en la ventana de Market Watch y en el gráfico:



    Cree un nuevo símbolo personalizado, abra su especificación e introduzca la fórmula:



    Para mayor comodidad, el editor de fórmulas muestra una lista de posibles opciones a medida que escribe los nombres de los símbolos y las funciones.

    El cálculo de los ticks y de las barras de un minuto de un instrumento sintético comienza cuando este instrumento se añade a la Observación del Mercado. Además, todos los símbolos necesarios para el cálculo del precio sintético se añaden automáticamente a la Observación del Mercado. En el diario de la plataforma se añadirá una entrada sobre el inicio del cálculo: Símbolo sintético USDX: se ha iniciado el procesamiento.
    • El cálculo de un instrumento sintético se detiene después de ser eliminado del Market Watch.
    • Los símbolos que se utilizan actualmente para calcular los precios de los símbolos sintéticos no se pueden ocultar de la Observación del Mercado.

    Cálculo de cotizaciones en tiempo real
    Cada 100 ms (es decir, diez veces por segundo) se comprueban los precios de los símbolos utilizados en el cálculo. Si al menos uno de ellos ha cambiado, se calcula el precio del símbolo sintético y se genera un nuevo tick. El cálculo se realiza en paralelo en tres hilos para los precios Bid, Ask y Last. Por ejemplo, si la fórmula de cálculo es EURUSD*GBPUSD, el precio del símbolo sintético se calculará de la siguiente manera:

    • Oferta = bid(EURUSD)*bid(GBPUSD)
    • Ask = ask(EURUSD)*ask(GBPUSD)
    • Último = último(EURUSD)*último(GBPUSD)

    La disponibilidad de cambios se comprueba por separado para cada precio. Por ejemplo, si sólo ha cambiado el precio Bid de un instrumento fuente, sólo se calculará el precio correspondiente de un instrumento sintético.

    Creación de un historial de barras de minutos
    Además de recoger los ticks en tiempo real, la plataforma crea un historial de minutos del instrumento sintético. Esto permite a los operadores ver gráficos de símbolos sintéticos similares a los normales, así como realizar análisis técnicos utilizando objetos e indicadores.

    Cuando un operador añade un instrumento sintético a la Observación del Mercado, la plataforma comprueba si existe su historial de minutos calculado. Si no existe, se creará el historial de los últimos 60 días, que incluye unas 50.000 barras. Si se especifica un valor inferior en el parámetro "Max. bars in chart" en los ajustes de la plataforma, se aplicará la restricción correspondiente.

    Si algunas de las barras de este periodo ya han sido creadas, la plataforma generará adicionalmente nuevas barras. Se crea un historial más profundo si el usuario intenta ver un periodo de tiempo más antiguo en el gráfico (desplazándose hacia atrás o accediendo desde un programa MQL5).

    El historial de barras de un minuto de un instrumento sintético se calcula en base a barras de un minuto (no ticks) de los instrumentos utilizados en su fórmula. Por ejemplo, para calcular el precio de apertura de una barra de 1 minuto de un símbolo sintético, la plataforma utiliza los precios de apertura de los símbolos utilizados en su fórmula. Los precios de apertura, cierre y cierre se calculan de forma similar.

    Si la barra requerida no está disponible para ninguno de los instrumentos, la plataforma utilizará el precio de Cierre de la barra anterior. Por ejemplo, se utilizan tres instrumentos: EURUSD, USDJPY y GBPUSD. Si en el cálculo de una barra correspondiente a las 12:00 la barra requerida de USDJPY no está disponible, se utilizarán los siguientes precios para el cálculo:

    • Apertura: Apertura del EURUSD 12:00, cierre del USDJPY 11:59, apertura del GBPUSD 12:00
    • Alto: EURUSD Alto 12:00, USDJPY Cierre 11:59, GBPUSD Alto 12:00
    • Baja: EURUSD baja 12:00, USDJPY cierra 11:59, GBPUSD baja 12:00
    • Cierre: Cierre del EURUSD 12:00, Cierre del USDJPY 11:59, Cierre del GBPUSD 12:00

    Si la barra de minutos no está disponible para todos los instrumentos utilizados en la fórmula, no se calculará la barra de minutos correspondiente del instrumento sintético.

    Dibujo de nuevas barras de minutos
    Todas las barras nuevas (la actual y las siguientes) del instrumento sintético se crean a partir de los ticks generados. El precio utilizado para construir las barras depende del valor del parámetro Modo Gráfico en la especificación:




    Qué operaciones se pueden utilizar en la fórmula del símbolo
    Para el cálculo de los precios sintéticos se pueden utilizar los datos de precios y algunas propiedades de los símbolos existentes proporcionados por el corredor. Especifique lo siguiente:

    • Nombre del símbolo: dependiendo del precio sintético que se calcule, se utilizará el Bid, Ask o Last del instrumento especificado. Por ejemplo, si se especifica EURUSD*GBPUSD, Bid se calcula como bid(EURUSD)*bid(GBPUSD), y Ask = ask(EURUSD)*ask(GBPUSD).
    • bid(nombre del símbolo) - el precio bid del símbolo especificado se utilizará forzosamente para calcular el precio Bid del instrumento sintético. Esta opción es similar a la anterior (donde no se especifica el tipo de precio).
    • ask(nombre del símbolo) - el precio de venta del símbolo especificado se utilizará para calcular el precio de compra del instrumento sintético. El precio Bid del instrumento especificado se utilizará para calcular el Ask. El último precio del símbolo especificado se utilizará para calcular el último. Si se especifica ask(EURUSD)*GBPUSD, se utilizará el siguiente cálculo:
      • Вid = ask(EURUSD)*bid(GBPUSD)
      • Ask = bid(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • last(nombre del símbolo) - el último precio del símbolo especificado se utilizará en el cálculo de todos los precios del instrumento sintético (Bid, Ask y Last). Si se especifica last(EURUSD)*GBPUSD, se utilizará el siguiente cálculo:
      • Вid = last(EURUSD)*bid(GBPUSD)
      • Ask = last(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • volumen(nombre del símbolo) - el volumen de ticks del instrumento especificado se utilizará en la fórmula. Asegúrese de que la información sobre el volumen es proporcionada por el corredor para este símbolo.
    • point(nombre del símbolo) - el cambio de precio mínimo del instrumento especificado se utilizará en los cálculos.
    • digits(nombre del símbolo) - el número de decimales del precio del símbolo especificado se utilizará en la fórmula.

    Si un símbolo tiene un nombre complejo (contiene guiones, puntos, etc.), debe escribirse entre comillas. Ejemplo: "RTS-6.17".
    En la fórmula se pueden utilizar las siguientes operaciones aritméticas: suma (+), resta (-), multiplicación (*), devisión (/) y resto de la división (%). Por ejemplo, EURUSD+GBPUSD significa que el precio se calcula como la suma de los precios de EURUSD y GBPUSD. También se puede utilizar el unario menos para cambiar el signo, por ejemplo: -10*EURUSD.

    Tenga en cuenta la prioridad de cálculo de las operaciones aritméticas:

    • Las operaciones de multiplicación, división y resto se realizan en primer lugar; después se realizan las operaciones de suma y resta.
    • Las operaciones se realizan de izquierda a derecha. Si la fórmula utiliza varias operaciones que tienen la misma prioridad (por ejemplo, la multiplicación y la división), se realizará primero la operación de la izquierda.
    • Puede utilizar paréntesis ( y ) para cambiar la prioridad de las operaciones. Las operaciones entre paréntesis tienen la mayor prioridad en el cálculo. El principio de izquierda a derecha también se aplica para ellas: las operaciones entre paréntesis de la izquierda se calculan primero.

    Puede utilizar constantes en la fórmula:

    • Numéricos (enteros y flotantes). Ejemplo: EURUSD*2+GBPUSD*0,7.
    • Propiedades de los símbolos _Dígitos y _Punto. Añaden a la fórmula las propiedades adecuadas del símbolo personalizado de la especificación. _Dígitos significa el número de decimales en el precio del instrumento; _Punto significa el menor cambio en el precio del símbolo.

    También puedes utilizar en la fórmula todas las funciones matemáticas soportadas en MQL5, excepto MathSrand, MathRand y MathIsValidNuber: Para todas las funciones se utilizan sólo nombres cortos, como fabs(), acos(), asin(), etc.

  3. Terminal: Se ha implementado una nueva opción que permite añadir cotizaciones de instrumentos personalizados en tiempo real. Ahora es posible desarrollar un Asesor Experto MQL5 que alimente las cotizaciones del símbolo personalizado especificado. Para ello se utiliza la función CustomTicksAdd.
    int  CustomTicksAdd(
       const string           symbol,       // Symbol name
       const MqlTick&         ticks[]       // The array with tick data that should be applied to the custom symbol
       );
    La función CustomTicksAdd permite alimentar las cotizaciones como si éstas se recibieran del servidor de un broker. Los datos se envían a la ventana Market Watch en lugar de escribirse directamente en la base de datos de ticks. Entonces, el terminal guarda los ticks de la ventana Market Watch en la base de datos. Si se pasa un gran volumen de datos en una llamada, el comportamiento de la función cambia, para ahorrar recursos. Si se transmiten más de 256 ticks, los datos se dividen en dos partes. Una parte mayor se graba directamente en la base de datos de ticks (similar a CustomTicksReplace). La segunda parte, que consiste en los últimos 128 ticks, se envía al Market Watch, desde donde el terminal guarda los ticks en una base de datos.

  4. MQL5: Se ha añadido el nuevo servicio en línea MQL5 Cloud Protector para proporcionar una protección adicional a los programas MQL5. La protección es similar a la opción utilizada en el mayor almacén de aplicaciones comerciales MetaTrader Market, donde los archivos de productos EX5 enviados por los vendedores se compilan adicionalmente en código nativo.

    Ahora, este tipo de protección está disponible para todos los usuarios de la plataforma. Para proteger sus archivos, ejecute el siguiente comando en el MetaEditor: Herramientas-MQL5 Cloud Protector. La única diferencia de MQL5 Cloud Protector respecto al mecanismo utilizado en el Mercado, es que el archivo no está vinculado al ordenador del usuario. Los archivos protegidos a través de MQL5 Cloud Protector pueden ser ejecutados en cualquier ordenador de forma similar a los archivos EX5 comunes.
    MQL5 Cloud Protector es un servicio seguro. La protección adicional se aplica sólo a un archivo compilado. El código fuente no se pasa al servicio. En el primer paso, un programa se compila en un archivo EX5 en el ordenador del usuario; después, el archivo compilado se envía a través de un canal cifrado al servicio, donde se protege y se devuelve al usuario.



  5. Terminal: La ventana de Observación del Mercado ahora presenta adicionalmente los precios máximos y mínimos. Estas columnas están ocultas por defecto. Pueden activarse mediante el menú contextual:




    Si el gráfico de un símbolo se construye utilizando los precios de oferta (según la configuración de las especificaciones), se muestran los precios de oferta máxima y mínima para este símbolo. Si el gráfico de un símbolo se construye utilizando los precios de última hora, se mostrarán los precios de última hora y de última hora para este símbolo.

    Si Market Watch contiene al menos un símbolo cuyo gráfico se construye en base a los precios Last, la columna Last se activa automáticamente además de High/Low.

  6. Terminal: Ahora es posible editar el historial de ticks de los instrumentos financieros personalizados. Haga clic en "Símbolos" en el menú contextual de Market Watch, seleccione un símbolo personalizado y solicite el intervalo de datos requerido en la pestaña Ticks.

    • Pulse dos veces para cambiar el valor.
    • Utilice el menú contextual para añadir o eliminar entradas
    • Si necesita eliminar varias barras/palos a la vez, selecciónelas con el ratón, manteniendo pulsada la tecla Shift o Ctrl+Shift.



    Para mayor comodidad, las entradas modificadas se resaltan de la siguiente manera:

    • El fondo verde indica una entrada modificada
    • El fondo gris indica una entrada eliminada
    • El fondo amarillo indica una entrada añadida

    Para guardar los cambios, haga clic en "Aplicar cambios" en la parte inferior de la ventana.

  7. Terminal: Se ha añadido la visualización de la hora en milisegundos en la ventana de Citas.




  8. Terminal: La exploración de los servidores disponibles en el diálogo de apertura de una nueva cuenta es ahora más rápida.
  9. Terminal: Se ha corregido la visualización del objeto gráfico Línea de tendencia con las opciones Rayo izquierdo y Rayo derecho activadas.
  10. Terminal: Optimizado el funcionamiento con una gran cantidad de correos electrónicos internos (cientos de miles).
  11. Terminal: Optimizado el funcionamiento del terminal con una gran cantidad de instrumentos de negociación (50.000 o más).
  12. MQL5: Se han añadido nuevas funciones para trabajar con instrumentos financieros personalizados.

    Función Acción
    CustomSymbolCreate Crea un símbolo personalizado con el nombre especificado en el grupo especificado
    CustomSymbolDelete Elimina un símbolo personalizado con el nombre especificado
    CustomSymbolSetInteger Establecer el valor de la propiedad de tipo entero para un símbolo personalizado
    CustomSymbolSetDouble Establecer el valor de la propiedad de tipo real para un símbolo personalizado
    CustomSymbolSetString Establece el valor de la propiedad de tipo cadena para un símbolo personalizado
    CustomSymbolSetMarginRate Establece las tasas de margen en función del tipo de orden y la dirección para un símbolo personalizado
    CustomSymbolSetSessionQuote Establece la hora de inicio y fin de la sesión de cotización especificada para el símbolo y el día de la semana especificados
    CustomSymbolSetSessionTrade Establecer la hora de inicio y fin de la sesión de negociación especificada para el símbolo y el día de la semana especificados
    CustomRatesDelete Eliminar todas las barras del historial de precios del símbolo personalizado en el intervalo de tiempo especificado
    CustomRatesReplace Reemplaza completamente el historial de precios del símbolo personalizado en el intervalo de tiempo especificado con los datos de la matriz de tipo MqlRates
    CustomRatesUpdate Añade las barras que faltan al historial del símbolo personalizado y sustituye los datos existentes por los de la matriz de tipo MqlRates
    CustomTicksAdd Añade datos de una matriz del tipo MqlTick al historial de precios de un símbolo personalizado. El símbolo personalizado debe estar seleccionado en la ventana de Market Watch.
    CustomTicksDelete Elimina todos los ticks del historial de precios del símbolo personalizado en el intervalo de tiempo especificado
    CustomTicksReplace Reemplaza completamente el historial de precios del símbolo personalizado en el intervalo de tiempo especificado con los datos de la matriz de tipo MqlTick

  13. MQL5: Añadido el soporte de plantillas para el tipo de datos union.
  14. MQL5: Se ha añadido la propiedad SYMBOL_VISIBLE del instrumento de negociación. La llamada de SymbolInfoInteger(symbol, SYMBOL_VISIBLE) devuelve false si el símbolo especificado no es visible en la Observación del Mercado.
  15. MQL5: Añadida la nueva propiedad CHARTEVENT_MOUSE_WHEEL. El evento se llama cuando la rueda del ratón se desplaza o se pulsa en el gráfico (si CHART_EVENT_MOUSE_WHEEL=true para el gráfico).
  16. MQL5: Se han añadido las siguientes propiedades del gráfico:

    • CHART_EVENT_MOUSE_WHEEL - activar/desactivar la generación de CHART_EVENT_MOUSE_WHEEL (evento de desplazamiento y clic del ratón en el gráfico). Valores posibles: 0 y 1.
    • CHART_CROSSHAIR_TOOL - activa/desactiva la posibilidad de cambiar el cursor al modo Crosshair mediante un clic en el centro. Valores posibles: 0 y 1.
    • CHART_CONTEXT_MENU - activar/desactivar el uso del clic derecho para mostrar el menú contextual del gráfico. Valores posibles: 0 y 1.

  17. MQL5: Ahora, los buffers de dibujo con el estilo DRAW_NONE no se tienen en cuenta a la hora de calcular la escala de la ventana del indicador.
  18. MQL5: Añadida la generación del evento CHARTEVENT_CHART_CHANGE al establecer la propiedad CHART_SCALEFIX (escala fija) para el gráfico.
  19. MQL5: Se ha añadido la función ArraySwap, que permite intercambiar rápidamente el contenido de las matrices dinámicas.
    bool  ArraySwap(
       void&  array1[],      // The first array
       void&  array2[]       // The second array
       );
    La función acepta matrices dinámicas del mismo tipo y de las mismas dimensiones. En el caso de las matrices multidimensionales, el número de elementos de todas las dimensiones, excepto la primera, debe coincidir.

  20. Señales: Indicación fija del tipo de llenado de la orden en caso de cierre forzado de las posiciones abiertas según una Señal. En las opciones de copia de señales se ha incluido la opción "Detener si la cuenta es inferior a XXX USD": si la equidad cae por debajo de un nivel especificado, la copia de las señales comerciales se termina automáticamente, todas las posiciones se cierran. Anteriormente, se podía establecer un tipo de llenado incorrecto para las órdenes de cierre de posiciones en caso de cierre forzado. Ahora el terminal comprueba los tipos de relleno permitidos en la configuración de los símbolos e indica una opción adecuada.
  21. Probador: El comportamiento de la función HistoryOrderSelect en el Probador de Estrategias ahora corresponde a la misma función en el terminal del cliente.
  22. Probador: El comportamiento de las funciones CopyTicks y CopyTicksRange en el Probador de Estrategias ahora se corresponde con las mismas funciones en el terminal cliente.
  23. Probador: Optimización de la visualización de los objetos gráficos durante las pruebas visuales.
  24. Probador: Corregida la visualización de los resultados de las pruebas de los instrumentos de cambio (con el modelo de gestión del riesgo de cambio). Ahora, el gráfico sólo muestra la equidad, mientras que el saldo y la carga del depósito no se muestran. El estado de negociación de estas cuentas se evalúa en función del nivel de capital. El saldo sólo muestra la cantidad de dinero en la cuenta e ignora los activos y pasivos del operador. La carga de depósito (margen/capital) no se muestra, porque en el modo de cálculo de intercambio el margen es igual al valor actual descontado del activo/pasivo, y cambia junto con el capital.
  25. MetaEditor: Se ha añadido la posibilidad de insertar fácilmente propiedades y recursos al código del programa. Por ejemplo, se puede añadir rápidamente un archivo incluido al código. Utilice el comando "Insert-MQH as #incude", y seleccione el archivo de inclusión deseado. La directiva #include con la ruta adecuada al archivo seleccionado se insertará en el código del programa.



    El mismo menú permite añadir al código del programa archivos en forma de matriz binaria o de texto. Entre otras cosas, puede transferir plantillas de gráficos con Asesores Expertos o indicadores: inserte su plantilla en el código del programa como una matriz, y guárdela en el disco usando la función FileSave. Después, la plantilla puede aplicarse en el gráfico deseado directamente desde un Asesor Experto utilizando la función ChartApplyTemplate.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- Template file as a binary array
       unsigned char my_template[]=
         {
          0xFF,0xFE,0x3C, ... ,0x00 // The data array in this example is shortened
         };
    //--- Saving and applying the template
       if(FileSave("my_template.tpl",my_template))
         {
          Print("Custom template saved in \\MQL5\\Files");
          if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
             Print("Custom template applied to the current chart");
          else
             Print("Failed to apply custom template");
         }
       else
          Print("Failed to save custom template");
      }

  26. MetaEditor: Añadida una opción para convertir cadenas entre los formatos ASCII, HEX y Base64. Seleccione una línea en el código fuente y haga clic en el comando deseado en el menú Editar-Convertir:




  27. MetaEditor: Corregida la búsqueda sin distinción de mayúsculas y minúsculas en los archivos.
  28. MetaEditor: Corregido un error del depurador que podía producirse al calcular expresiones similares a x.y[0][1].z.
  29. MetaEditor: Arreglada la navegación por el código mediante los botones Adelante y Atrás.
  30. La interfaz de usuario ahora también está disponible en holandés.
  31. Documentación actualizada.


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


 

Hoy se ha publicado un artículo muy interesante -

----------------

Cómo operar en una bolsa de criptomonedas externa a través de MetaTrader 5

No hace mucho tiempo, los desarrolladores del lenguaje MQL5 han introducido la funcionalidad actualizada con la capacidad de desarrollar símbolos y gráficos personalizados. La amplia comunidad de traders aún no ha tenido tiempo de apreciar el poder de esta innovación, pero incluso una sencilla y discreta lluvia de ideas muestra un enorme potencial escondido en los símbolos personalizados. Junto con otras herramientas de MQL, permiten implementar muchas de las ideas más atrevidas e interesantes.

A partir de ahora, MetaTrader 5 no es sólo un terminal que interactúa con un DC. En su lugar, es una plataforma analítica autosuficiente capaz de conectarse a varias bolsas a través de la API, así como de visualizar los movimientos de precios y los flujos comerciales. Un pequeño conjunto de nuevas funciones convierte el terminal en un sistema abierto, en lugar de una caja de herramientas que contiene un número limitado de herramientas de negociación. En mi opinión, las herramientas personalizadas también pueden convertirse en potentes capacidades analíticas.

Ilustremos las nuevas características del lenguaje utilizando el popular tema de las criptomonedas como ejemplo. Creo que esto reforzará aún más el interés de la comunidad por los símbolos personalizados.

Quién podría beneficiarse del artículo:

  • comerciantes de intercambio de criptomonedas;
  • los inversores familiarizados con MetaTrader 5 y las inversiones de cartera;
  • programadores autónomos que ahora pueden ejecutar las órdenes de los clientes relacionadas con el comercio de criptodivisas de una manera más sencilla (y más barata);
  • todos los que siguen las nuevas características de MetaTrader 5 y del lenguaje MQL5.
 

Foro sobre el comercio, los sistemas automatizados de comercio y la prueba de estrategias comerciales

Nuevo MetaTrader 5 Build 1730: Proyectos en el MetaEditor e instrumentos financieros sintéticos

MetaQuotes Software Corp., 2017.12.20 13:49

Nuevo MetaTrader 5 Build 1730: Proyectos en MetaEditor e instrumentos financieros sintéticos

La actualización de la plataforma MetaTrader 5 se lanzará el 21 de diciembre de 2017.

Fin de la compatibilidad con versiones antiguas de terminales
El soporte para versiones antiguas de terminales de escritorio y móviles finalizará cuando se publique la nueva versión de la plataforma:
  • Terminal de cliente: versiones inferiores a la 730, el 23 de noviembre de 2012
  • Terminal móvil para iPhone: versiones inferiores a 1171, 11 de noviembre de 2015
  • Terminal móvil para Android: versiones inferiores a la 1334, 5 de agosto de 2016
Las versiones de terminales no compatibles no podrán conectarse a las nuevas versiones del servidor. Le recomendamos encarecidamente que actualice sus terminales con antelación.

Cambios en el protocolo de operación de almacenamiento MQL5
Para soportar los nuevos proyectos compartidos, hemos actualizado el protocolo de funcionamiento con el MQL5 Storage. Por lo tanto, tendrá que realizar una comprobación de todos los datos del almacenamiento después de la actualización de la plataforma. Los datos almacenados en el MQL5 Storage no se perderán ni se verán afectados durante la actualización.

Antes de actualizar la plataforma a la nueva versión, le recomendamos que realice la operación Commit para enviar todos los cambios locales al MQL5 Storage.

La actualización contará con los siguientes cambios:

  1. En el MetaEditor ya están disponibles los proyectos completos. El proceso de desarrollo del programa se ha vuelto más cómodo.

    Ahora el archivo principal del programa MQ5 no aparece como proyecto. El proyecto es un archivo separado "MQPROJ", que almacena la configuración del programa, los parámetros de compilación y la información sobre todos los archivos utilizados. Se puede acceder a los ajustes del proyecto principal desde un cuadro de diálogo separado, por lo que ahora no es necesario especificarlos en el código fuente a través de #property.

    Se proporciona una pestaña separada en el Navegador para facilitar el trabajo dentro del proyecto. Todos los archivos, como los de inclusión, los de recursos, los de cabecera y otros, se organizan en categorías en esta pestaña. Todos los archivos se añaden automáticamente al navegador del proyecto. Por ejemplo, si incluye un nuevo archivo MQH, éste aparecerá automáticamente en la sección "Dependencias" del navegador.

    También se ha implementado el soporte de nuevos proyectos en el repositorio online actualizado de MQL5 Storage. Ahora, es mucho más cómodo desarrollar grandes proyectos a través de la colaboración con otros miembros de la comunidad MQL5.community.

    Se proporciona una nueva sección de Proyectos Compartidos para los proyectos de grupo. Un proyecto creado en esta sección se envía inmediatamente al almacenamiento: puedes conceder permisos a otros usuarios y empezar a colaborar de inmediato.




    Cuando se compila un proyecto en Proyectos compartidos, se copia automáticamente un archivo EX5 ejecutable en el directorio local de Expertos, Indicadores o Scripts, según el tipo de programa. Puede lanzar fácilmente el programa en un gráfico sin tener que copiar los archivos manualmente.


    Novedades en el funcionamiento de MQL5 Storage

    Para implementar el soporte de nuevos proyectos compartidos, hemos modificado el protocolo de funcionamiento con el MQL5 Storage. Por lo tanto, tendrá que realizar una comprobación de todos los datos del almacenamiento después de la actualización de la plataforma. Los datos almacenados en el MQL5 storage no se perderán ni se verán afectados durante la actualización.

    Antes de actualizar la plataforma a la nueva versión, le recomendamos que realice la operación Commit para enviar todos los cambios locales al MQL5 Storage.

    El comando 'Checkout from Storage' ya no está disponible. En su lugar, se utilizan los comandos "Activar el almacenamiento MQL5" y "Actualizar desde el almacenamiento" para recibir los datos:

    • Si no ha utilizado el MQL5 Storage en la instancia actual del MetaEditor, pulse "Activar MQL5 Storage" en el menú contextual de la ventana del Navegador. Todos los catálogos y archivos disponibles en su almacenamiento se cargarán en su ordenador local.
    • Si ya está trabajando con el almacenamiento, haga clic en "Actualizar archivos desde el almacenamiento" en el menú contextual de un determinado proyecto o del elemento MQL5 raíz en la ventana del Navegador para recibir los datos del almacenamiento.

    Nuevos proyectos: Ejemplos de creación y detalles de operación

    Se ha añadido una nueva entidad de proyecto en el MetaEditor. Un proyecto es un archivo mqproj que almacena las propiedades comunes del programa y la información sobre todos los archivos utilizados. Ahora, las propiedades del programa pueden ser convenientemente gestionadas desde un diálogo separado del MetaEditor en lugar de la modificación manual de las propiedades en el código fuente (utilizando las directivas #property).

    Si se dispone de código, se pueden probar fácilmente nuevos proyectos utilizando el comando "Nuevo proyecto desde el código fuente".




    En el directorio donde se encuentre el archivo seleccionado, se creará un nuevo archivo de proyecto con el mismo nombre y la extensión mqproj. Las principales propiedades del programa especificadas en el código fuente mediante #property se añadirán automáticamente al proyecto, incluyendo el nombre, el copyright, la versión, el enlace al sitio del desarrollador y la descripción del programa.

    El conjunto de propiedades del programa en el archivo de proyecto tiene mayor prioridad que las propiedades especificadas en el código del programa. Si las propiedades se especifican tanto en el proyecto como en el archivo fuente, se utilizarán las propiedades del proyecto.




    Se han añadido dos nuevas opciones para la compilación de programas MQL5 a las propiedades del proyecto:

    • Activar la optimización adicional: las aplicaciones con la optimización desactivada se compilan más rápido, pero se ejecutan más lentamente.
    • Comprobar los divisores de punto flotante: las aplicaciones con la comprobación desactivada funcionan un poco más rápido, porque el error de división por cero no se comprueba durante la ejecución del código.

    Para trabajar con los proyectos, se utiliza una pestaña separada de Proyecto en la ventana del Navegador. Todos los archivos utilizados en un proyecto se muestran en esta pestaña de forma conveniente. Cuando se genera un proyecto a partir de un archivo fuente, todos los archivos de inclusión utilizados (especificados mediante el directorio #include en el archivo principal de MQ5 y en sus archivos de inclusión) se añaden automáticamente a la sección de Dependencias.

    Cuando se añade un nuevo archivo de inclusión al código fuente, también aparece en el Navegador del proyecto. Los archivos de cabecera utilizados se añaden a la sección Cabeceras; las imágenes, sonidos y otros programas MQL5 utilizados en el proyecto como recurso se añaden a la sección Recursos. Los archivos MQ5 con el código fuente se muestran en la sección Fuentes. En la sección "Ajustes y archivos", puedes añadir otros archivos, como los archivos de conjunto para las pruebas y las plantillas de gráficos.

    Utilice los comandos del menú contextual para añadir archivos existentes a un proyecto o para eliminar archivos del mismo. Tenga cuidado al borrar archivos, ya que puede eliminar un archivo del proyecto (quitar el enlace) o borrarlo completamente del disco duro:




    La creación de un nuevo proyecto es tan fácil como la creación de un programa MQL5 normal. Haz clic en "Nuevo Proyecto", selecciona el tipo de nuevo programa y especifica las propiedades (como el nombre, los manejadores de eventos, etc) en el Asistente MQL5.

    Para obtener un archivo EX5 ejecutable, puedes abrir el proyecto y pulsar F7 (el comando de compilación) o abrir el archivo MQ5 principal del programa y compilarlo.


    Proyectos compartidos en el almacén MQL5: Detalles de la operación

    Los proyectos compartidos se gestionan desde una sección separada de Proyectos Compartidos. Si todavía no ha conectado el almacenamiento, ejecute el comando "Activar almacenamiento MQL5" desde el menú contextual de la carpeta deseada. El MetaEditor comprobará si su almacenamiento contiene datos guardados y si hay proyectos compartidos disponibles. Todos los datos disponibles se recuperarán del almacenamiento y se cargarán en su ordenador (la operación de salida). Los proyectos de grupo disponibles aparecen en la sección de proyectos compartidos. Para recuperar los proyectos, ejecute "Checkout from Storage" en el menú contextual.

    Para crear un nuevo proyecto de grupo, selecciona la carpeta de Proyectos Compartidos y haz clic en "Nuevo Proyecto":




    A continuación, complete los pasos estándar de MQL5: establezca el tipo, el nombre y las propiedades del programa deseado. Para los proyectos de grupo, debes utilizar nombres claros y comprensibles, para que los demás participantes puedan encontrarlos fácilmente. En los nombres de los proyectos sólo se pueden utilizar letras y números latinos sin espacios.

    Un objeto creado se añade inmediatamente al MQL5 Storage. Los archivos de la biblioteca estándar utilizados en el proyecto no se añaden al almacenamiento, y se pueden añadir manualmente.

    Para permitir que otros participantes trabajen con el proyecto, abra sus propiedades. Desde aquí puede conceder permisos a los usuarios seleccionados especificando su login en MQL5.community, así como establecer parámetros comunes para el trabajo en grupo:

    • Proyecto privado
    • Proyecto de libre acceso
    • Unir por petición el proyecto




    Cuando se compila un proyecto de grupo, el archivo ejecutable EX5 se copia automáticamente en el directorio local de Expertos, Indicadores o Scripts, dependiendo del tipo de programa. Esto le permite ejecutar instantáneamente el programa en el terminal sin tener que copiarlo manualmente en el directorio adecuado.


    Proyectos públicos en MQL5 Storage: Participación en el desarrollo

    Como se ha mencionado anteriormente, cada proyecto de grupo en MQL5 Storage tiene ajustes de publicidad: el proyecto puede ser privado o abierto a otros usuarios. Ahora, todos los proyectos a los que puede unirse libremente se muestran en la pestaña separada "Proyectos públicos".

    Todo el mundo puede encontrar un proyecto interesante y participar en su desarrollo. Basta con hacer clic en Unirse y recibir el proyecto del almacén.




    Cada usuario unido obtiene derechos de sólo lectura. Póngase en contacto con el autor del proyecto para poder presentar sus cambios. Para conocer su nombre de usuario, abra las propiedades del proyecto a través del menú contextual.

  2. Terminal: Ahora, la plataforma de negociación permite crear instrumentos financieros sintéticos, es decir, símbolos basados en uno o varios instrumentos existentes. El usuario debe establecer la fórmula para calcular las cotizaciones, tras lo cual la plataforma generará los ticks del instrumento sintético en tiempo real, y también creará su historial de minutos.


    Cómo funciona

    • El usuario crea un instrumento sintético y establece la fórmula para el cálculo de la cotización.
    • La plataforma calcula los ticks con una frecuencia de 10 veces por segundo, siempre que el precio de al menos uno de los instrumentos utilizados en la fórmula haya cambiado.
    • La plataforma también calcula el historial de barras de un minuto (de los últimos dos meses) basándose en las barras de un minuto de los instrumentos utilizados en su fórmula. Todas las barras nuevas (la actual y las siguientes) se construyen en tiempo real basándose en los ticks generados del instrumento sintético.

    Por ejemplo, puede crear un instrumento que muestre el índice del dólar (USDX). Utiliza la siguiente fórmula:

    50.14348112 * pow(ask(EURUSD),-0.576) * pow(USDJPY,0.136) * pow(ask(GBPUSD),-0.119) * pow(USDCAD,0.091) * pow(USDSEK,0.042) * pow(USDCHF,0.036)

    Nota: los pares USDEUR y USDGBP se utilizan en la fórmula del índice del dólar de origen. Dado que en la plataforma sólo están disponibles los pares inversos, en la fórmula del símbolo sintético se utiliza una potencia negativa y Ask en lugar de Bid.

    La plataforma calculará en tiempo real el precio del nuevo instrumento basándose en las cotizaciones de los otros seis símbolos proporcionados por su broker. Los cambios de precio se visualizarán en la ventana de Market Watch y en el gráfico:




    Cree un nuevo símbolo personalizado, abra su especificación e introduzca la fórmula:




    Para mayor comodidad, el editor de fórmulas muestra una lista de posibles opciones a medida que se escriben los nombres de los símbolos y las funciones.

    El cálculo de los ticks y las barras de un minuto de un instrumento sintético se inicia cuando este instrumento se añade a la Observación del Mercado. Además, todos los símbolos necesarios para el cálculo del precio sintético se añaden automáticamente a la Observación del Mercado. En el diario de la plataforma se añadirá una entrada sobre el inicio del cálculo: Símbolo sintético USDX: se ha iniciado el procesamiento.
    • El cálculo de un instrumento sintético se detiene después de que se elimine del Market Watch.
    • Los símbolos que se utilizan actualmente para calcular los precios de los símbolos sintéticos no pueden ocultarse de la Observación del Mercado.

    Cálculo de cotizaciones en tiempo real
    Cada 100 ms (es decir, diez veces por segundo) se comprueban los precios de los símbolos utilizados en el cálculo. Si al menos uno de ellos ha cambiado, se calcula el precio del símbolo sintético y se genera un nuevo tick. El cálculo se realiza en paralelo en tres hilos para los precios Bid, Ask y Last. Por ejemplo, si la fórmula de cálculo es EURUSD*GBPUSD, el precio del símbolo sintético se calculará de la siguiente manera:

    • Oferta = bid(EURUSD)*bid(GBPUSD)
    • Ask = ask(EURUSD)*ask(GBPUSD)
    • Último = último(EURUSD)*último(GBPUSD)

    La disponibilidad de cambios se comprueba por separado para cada precio. Por ejemplo, si sólo ha cambiado el precio Bid de un instrumento fuente, sólo se calculará el precio correspondiente de un instrumento sintético.

    Creación de un historial de barras de minutos
    Además de recoger los ticks en tiempo real, la plataforma crea un historial de minutos del instrumento sintético. Esto permite a los operadores ver gráficos de símbolos sintéticos similares a los normales, así como realizar análisis técnicos utilizando objetos e indicadores.

    Cuando un operador añade un instrumento sintético a la Observación del Mercado, la plataforma comprueba si existe su historial de minutos calculado. Si no existe, se creará el historial de los últimos 60 días, que incluye unas 50.000 barras. Si se especifica un valor inferior en el parámetro "Max. bars in chart" en los ajustes de la plataforma, se aplicará la restricción correspondiente.

    Si algunas de las barras de este periodo ya han sido creadas, la plataforma generará adicionalmente nuevas barras. Se crea un historial más profundo si el usuario intenta ver un periodo de tiempo más antiguo en el gráfico (desplazándose hacia atrás o accediendo desde un programa MQL5).

    El historial de barras de un minuto de un instrumento sintético se calcula en base a barras de un minuto (no ticks) de los instrumentos utilizados en su fórmula. Por ejemplo, para calcular el precio de apertura de una barra de 1 minuto de un símbolo sintético, la plataforma utiliza los precios de apertura de los símbolos utilizados en su fórmula. Los precios de apertura, cierre y cierre se calculan de forma similar.

    Si la barra requerida no está disponible para ninguno de los instrumentos, la plataforma utilizará el precio de Cierre de la barra anterior. Por ejemplo, se utilizan tres instrumentos: EURUSD, USDJPY y GBPUSD. Si en el cálculo de una barra correspondiente a las 12:00 la barra requerida de USDJPY no está disponible, se utilizarán los siguientes precios para el cálculo:

    • Apertura: Apertura del EURUSD 12:00, cierre del USDJPY 11:59, apertura del GBPUSD 12:00
    • Máximo: EURUSD Máximo 12:00, USDJPY Cierre 11:59, GBPUSD Máximo 12:00
    • Baja: EURUSD baja 12:00, USDJPY cierra 11:59, GBPUSD baja 12:00
    • Cierre: Cierre del EURUSD 12:00, Cierre del USDJPY 11:59, Cierre del GBPUSD 12:00

    Si la barra de minutos no está disponible para todos los instrumentos utilizados en la fórmula, no se calculará la barra de minutos correspondiente del instrumento sintético.

    Dibujo de nuevas barras de minutos
    Todas las barras nuevas (la actual y las siguientes) del instrumento sintético se crean a partir de los ticks generados. El precio utilizado para construir las barras depende del valor del parámetro Modo Gráfico en la especificación:





    Qué operaciones se pueden utilizar en la fórmula del símbolo
    Para el cálculo de los precios sintéticos se pueden utilizar los datos de precios y algunas propiedades de los símbolos existentes proporcionados por el corredor. Especifique lo siguiente:

    • Nombre del símbolo: dependiendo del precio sintético que se calcule, se utilizará el Bid, Ask o Last del instrumento especificado. Por ejemplo, si se especifica EURUSD*GBPUSD, Bid se calcula como bid(EURUSD)*bid(GBPUSD), y Ask = ask(EURUSD)*ask(GBPUSD).
    • bid(nombre del símbolo) - el precio bid del símbolo especificado se utilizará forzosamente para calcular el precio Bid del instrumento sintético. Esta opción es similar a la anterior (donde no se especifica el tipo de precio).
    • ask(nombre del símbolo) - el precio de venta del símbolo especificado se utilizará para calcular el precio de compra del instrumento sintético. El precio Bid del instrumento especificado se utilizará para calcular el Ask. El último precio del símbolo especificado se utilizará para calcular el último. Si se especifica ask(EURUSD)*GBPUSD, se utilizará el siguiente cálculo:
      • Вid = ask(EURUSD)*bid(GBPUSD)
      • Ask = bid(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • last(nombre del símbolo) - el último precio del símbolo especificado se utilizará en el cálculo de todos los precios del instrumento sintético (Bid, Ask y Last). Si se especifica last(EURUSD)*GBPUSD, se utilizará el siguiente cálculo:
      • Вid = last(EURUSD)*bid(GBPUSD)
      • Ask = last(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • volumen(nombre del símbolo) - el volumen de ticks del instrumento especificado se utilizará en la fórmula. Asegúrese de que la información sobre el volumen es proporcionada por el corredor para este símbolo.
    • point(nombre del símbolo) - el cambio de precio mínimo del instrumento especificado se utilizará en los cálculos.
    • digits(nombre del símbolo) - el número de decimales del precio del símbolo especificado se utilizará en la fórmula.

    Si un símbolo tiene un nombre complejo (contiene guiones, puntos, etc.), debe escribirse entre comillas. Ejemplo: "RTS-6.17".
    En la fórmula se pueden utilizar las siguientes operaciones aritméticas: suma (+), resta (-), multiplicación (*), devisión (/) y resto de la división (%). Por ejemplo, EURUSD+GBPUSD significa que el precio se calcula como la suma de los precios de EURUSD y GBPUSD. También se puede utilizar el unario menos para cambiar el signo, por ejemplo: -10*EURUSD.

    Tenga en cuenta la prioridad de cálculo de las operaciones aritméticas:

    • Las operaciones de multiplicación, división y resto se realizan en primer lugar; después se realizan las operaciones de suma y resta.
    • Las operaciones se realizan de izquierda a derecha. Si la fórmula utiliza varias operaciones que tienen la misma prioridad (por ejemplo, la multiplicación y la división), se realizará primero la operación de la izquierda.
    • Puede utilizar paréntesis ( y ) para cambiar la prioridad de las operaciones. Las operaciones entre paréntesis tienen la mayor prioridad en el cálculo. El principio de izquierda a derecha también se aplica para ellas: las operaciones entre paréntesis de la izquierda se calculan primero.

    Puede utilizar constantes en la fórmula:

    • Numéricos (enteros y flotantes). Ejemplo: EURUSD*2+GBPUSD*0,7.
    • Propiedades de los símbolos _Dígitos y _Punto. Añaden a la fórmula las propiedades adecuadas del símbolo personalizado de la especificación. _Dígitos significa el número de decimales en el precio del instrumento; _Punto significa el menor cambio en el precio del símbolo.

    También puedes utilizar en la fórmula todas las funciones matemáticas soportadas en MQL5, excepto MathSrand, MathRand y MathIsValidNumber: Sólo se utilizan nombres cortos para todas las funciones, como fabs(), acos(), asin(), etc.

  3. Terminal: Se ha implementado una nueva opción que permite añadir cotizaciones de instrumentos personalizados en tiempo real. Ahora es posible desarrollar un Asesor Experto MQL5 que alimente las cotizaciones del símbolo personalizado especificado. Para ello se utiliza la función CustomTicksAdd.
    int  CustomTicksAdd(
       const string           symbol,       // Symbol name
       const MqlTick&         ticks[]       // The array with tick data that should be applied to the custom symbol
       );
    La función CustomTicksAdd permite alimentar las cotizaciones como si éstas se recibieran del servidor de un broker. Los datos se envían a la ventana Market Watch en lugar de escribirse directamente en la base de datos de ticks. Entonces, el terminal guarda los ticks de la ventana Market Watch en la base de datos. Si se pasa un gran volumen de datos en una llamada, el comportamiento de la función cambia, para ahorrar recursos. Si se transmiten más de 256 ticks, los datos se dividen en dos partes. Una parte mayor se graba directamente en la base de datos de ticks (similar a CustomTicksReplace). La segunda parte, que consiste en los últimos 128 ticks, se envía al Market Watch, desde donde el terminal guarda los ticks en una base de datos.

  4. MQL5: Se ha añadido el nuevo servicio en línea MQL5 Cloud Protector para proporcionar una protección adicional a los programas MQL5. La protección es similar a la opción utilizada en la mayor tienda de aplicaciones comerciales MetaTrader Market, donde los archivos de productos EX5 enviados por los vendedores se compilan adicionalmente en código nativo.

    Ahora, este tipo de protección está disponible para todos los usuarios de la plataforma. Para proteger sus archivos, ejecute el siguiente comando en el MetaEditor: Herramientas-MQL5 Cloud Protector. La única diferencia de MQL5 Cloud Protector respecto al mecanismo utilizado en el Mercado, es que el archivo no está vinculado al ordenador del usuario. Los archivos protegidos a través de MQL5 Cloud Protector pueden ser ejecutados en cualquier ordenador de forma similar a los archivos EX5 comunes.
    MQL5 Cloud Protector es un servicio seguro. La protección adicional se aplica sólo a un archivo compilado. El código fuente no se pasa al servicio. En el primer paso, un programa se compila en un archivo EX5 en el ordenador del usuario; después, el archivo compilado se envía a través de un canal cifrado al servicio, donde se protege y se devuelve al usuario.



  5. Terminal: La ventana de Observación del Mercado ahora presenta adicionalmente los precios máximos y mínimos. Estas columnas están ocultas por defecto. Pueden activarse mediante el menú contextual:




    Si el gráfico de un símbolo se construye utilizando los precios de oferta (según la configuración de las especificaciones), se muestran los precios de oferta máxima y mínima para este símbolo. Si el gráfico de un símbolo se construye utilizando los precios Last, se mostrarán los precios Last High y Last Low para este símbolo.

    Si Market Watch contiene al menos un símbolo cuyo gráfico se construye en base a los precios Last, la columna Last se activa automáticamente además de High/Low.

  6. Terminal: Ahora es posible editar el historial de ticks de los instrumentos financieros personalizados. Haga clic en "Símbolos" en el menú contextual de Market Watch, seleccione un símbolo personalizado y solicite el intervalo de datos requerido en la pestaña Ticks.

    • Pulse dos veces para cambiar el valor.
    • Utilice el menú contextual para añadir o eliminar entradas.
    • Si necesita eliminar varias barras/ticks a la vez, selecciónelas con el ratón, manteniendo pulsada la tecla Shift o Ctrl+Shift.




    Para mayor comodidad, las entradas modificadas se resaltan de la siguiente manera:

    • El fondo verde indica una entrada modificada
    • El fondo gris indica una entrada eliminada
    • El fondo amarillo indica una entrada añadida

    Para guardar los cambios, haga clic en "Aplicar cambios" en la parte inferior de la ventana.

  7. Terminal: Se ha añadido la visualización de cuentas preliminares en el árbol del Navegador.

    Los operadores pueden enviar una solicitud a un corredor para abrir una cuenta real directamente desde los terminales de escritorio. El usuario debe rellenar un sencillo formulario de solicitud con los datos de contacto. A continuación, se crea una cuenta preliminar especial para el operador. A continuación, el corredor se pone en contacto con el operador para formalizar las relaciones y convertir la cuenta real en la preliminar.




  8. Terminal: Se ha añadido la visualización del tiempo en milisegundos en la ventana de cotizaciones.





  9. Terminal: La exploración de los servidores disponibles en el diálogo de apertura de una nueva cuenta es ahora más rápida.
  10. Terminal: Se ha corregido la visualización del objeto gráfico Línea de tendencia con las opciones Rayo izquierdo y Rayo derecho activadas.
  11. Terminal: Optimizado el funcionamiento con una gran cantidad de correos electrónicos internos (cientos de miles).
  12. Terminal: Optimización del funcionamiento del terminal con una gran cantidad de instrumentos de negociación (50.000 o más).
  13. Terminal: Añadida la optimización del historial de ticks de los instrumentos financieros personalizados ejecutados después de editar el historial.
  14. MQL5: Se han añadido nuevas funciones para trabajar con instrumentos financieros personalizados.

    Función Acción
    CustomSymbolCreate Crea un símbolo personalizado con el nombre especificado en el grupo especificado
    CustomSymbolDelete Elimina un símbolo personalizado con el nombre especificado
    CustomSymbolSetInteger Establecer el valor de la propiedad de tipo entero para un símbolo personalizado
    CustomSymbolSetDouble Establecer el valor de la propiedad de tipo real para un símbolo personalizado
    CustomSymbolSetString Establece el valor de la propiedad de tipo cadena para un símbolo personalizado
    CustomSymbolSetMarginRate Establece las tasas de margen en función del tipo de orden y la dirección para un símbolo personalizado
    CustomSymbolSetSessionQuote Establece la hora de inicio y fin de la sesión de cotización especificada para el símbolo y el día de la semana especificados
    CustomSymbolSetSessionTrade Establecer la hora de inicio y fin de la sesión de negociación especificada para el símbolo y el día de la semana especificados
    CustomRatesDelete Eliminar todas las barras del historial de precios del símbolo personalizado en el intervalo de tiempo especificado
    CustomRatesReplace Reemplaza completamente el historial de precios del símbolo personalizado en el intervalo de tiempo especificado con los datos de la matriz de tipo MqlRates
    CustomRatesUpdate Añade las barras que faltan al historial del símbolo personalizado y sustituye los datos existentes por los de la matriz de tipo MqlRates
    CustomTicksAdd Añade datos de una matriz de tipo MqlTick al historial de precios de un símbolo personalizado. El símbolo personalizado debe estar seleccionado en la ventana de Market Watch.
    CustomTicksDelete Borra todos los ticks del historial de precios del símbolo personalizado en el intervalo de tiempo especificado
    CustomTicksReplace Reemplaza completamente el historial de precios del símbolo personalizado en el intervalo de tiempo especificado con los datos de la matriz de tipo MqlTick

  15. MQL5: Se han añadido colecciones de datos genéricos a la biblioteca estándar. Contienen clases e interfaces para definir colecciones basadas en plantillas. Las nuevas colecciones fuertemente tipadas proporcionan una mayor comodidad en el desarrollo de aplicaciones y un alto rendimiento en el manejo de datos.

    La biblioteca se coloca en la carpeta Include\Generic del directorio de trabajo del terminal.

  16. MQL5: Añadido el soporte de plantillas para el tipo de datos unión.
  17. MQL5: Se ha añadido la propiedad SYMBOL_VISIBLE del instrumento comercial. La llamada de SymbolInfoInteger(symbol, SYMBOL_VISIBLE) devuelve false si el símbolo especificado no es visible en la Observación del Mercado.
  18. MQL5: Añadida la nueva propiedad CHARTEVENT_MOUSE_WHEEL. El evento se llama cuando la rueda del ratón se desplaza o se pulsa en el gráfico (si CHART_EVENT_MOUSE_WHEEL=true para el gráfico).
  19. MQL5: Se han añadido las siguientes propiedades del gráfico:

    • CHART_EVENT_MOUSE_WHEEL - activar/desactivar la generación de CHARTEVENT_MOUSE_WHEEL (evento de desplazamiento y clic del ratón en el gráfico). Valores posibles: 0 y 1.
    • CHART_CROSSHAIR_TOOL - activa/desactiva la posibilidad de cambiar el cursor al modo Crosshair mediante un clic en el centro. Valores posibles: 0 y 1.
    • CHART_CONTEXT_MENU - activar/desactivar el uso del clic derecho para mostrar el menú contextual del gráfico. Valores posibles: 0 y 1.

  20. MQL5: Ahora, los buffers de dibujo con el estilo DRAW_NONE no se tienen en cuenta a la hora de calcular la escala de la ventana del indicador.
  21. MQL5: Añadida la generación del evento CHARTEVENT_CHART_CHANGE al establecer la propiedad CHART_SCALEFIX (escala fija) para el gráfico.
  22. MQL5: Se ha añadido la función ArraySwap, que permite intercambiar rápidamente el contenido de las matrices dinámicas.
    bool  ArraySwap(
       void&  array1[],      // The first array
       void&  array2[]       // The second array
       );
    La función acepta matrices dinámicas del mismo tipo y de las mismas dimensiones. En el caso de las matrices multidimensionales, el número de elementos de todas las dimensiones, excepto la primera, debe coincidir.

  23. MQL5: Añadida la nueva propiedad TERMINAL_RETRANSMISSION - porcentaje de paquetes de red reenviados(retransmisiones) en el protocolo TCP/IP para todas las aplicaciones y servicios en ejecución en el ordenador dado. La pérdida de paquetes ocurre incluso en las redes más rápidas y correctamente configuradas. En este caso, no hay confirmación de la entrega del paquete entre el destinatario y el emisor. Por lo tanto, los paquetes perdidos se vuelven a enviar.

    El terminal no calcula este valor. Se solicita al sistema operativo una vez por minuto. No es una indicación de la calidad de la conexión entre un terminal concreto y un servidor comercial, ya que el porcentaje se calcula para toda la actividad de la red, incluida la actividad del sistema y de fondo.

    La propiedad TERMINAL_RETRANSMISSION se añade a la enumeración ENUM_TERMINAL_INFO_DOUBLE, la función TerminalInfoDouble se utiliza para obtenerla.
  24. MQL5: Optimizado el trabajo con el historial de operaciones.
  25. Señales: Se fija la indicación del tipo de cumplimentación de la orden en caso de cierre forzado de las posiciones abiertas según una Señal. En las opciones de copiado de señales se ofrece la opción "Parar si la cuenta es inferior a XXX USD": si la equidad cae por debajo de un nivel especificado, el copiado de señales comerciales se termina automáticamente, todas las posiciones se cierran. Anteriormente, se podía establecer un tipo de llenado incorrecto para las órdenes de cierre de posiciones en caso de cierre forzado. Ahora el terminal comprueba los tipos de relleno permitidos en la configuración de los símbolos e indica una opción adecuada.
  26. Probador: El comportamiento de la función HistoryOrderSelect en el Probador de Estrategias ahora corresponde a la misma función en el terminal del cliente.
  27. Probador: El comportamiento de las funciones CopyTicks y CopyTicksRange en el Probador de Estrategias ahora se corresponde con las mismas funciones en el terminal del cliente.
  28. Probador: Optimizada la visualización de los objetos gráficos durante las pruebas visuales.
  29. Probador: Corregida la visualización de los resultados de las pruebas de los instrumentos de cambio (con el modelo de gestión del riesgo de cambio). Ahora, el gráfico sólo muestra la equidad, mientras que el saldo y la carga del depósito no se muestran. El estado de negociación de estas cuentas se evalúa en función del nivel de capital. El saldo sólo muestra la cantidad de dinero en la cuenta e ignora los activos y pasivos del operador. La carga de depósito (margen/capital) no se muestra, porque en el modo de cálculo de intercambio el margen es igual al valor actual descontado del activo/pasivo, y cambia junto con el capital.
  30. MetaEditor: Se ha añadido la posibilidad de insertar fácilmente propiedades y recursos al código del programa. Por ejemplo, se puede añadir rápidamente un archivo incluido al código. Utilice el comando "Insert-MQH as #incude", y seleccione el archivo de inclusión deseado. La directiva #include con la ruta adecuada al archivo seleccionado se insertará en el código del programa.




    El mismo menú permite añadir al código del programa archivos en forma de matriz binaria o de texto. Entre otras cosas, puede transferir plantillas de gráficos con Asesores Expertos o indicadores: inserte su plantilla en el código del programa como una matriz, y guárdela en el disco usando la función FileSave. Después, la plantilla puede aplicarse en el gráfico deseado directamente desde un Asesor Experto utilizando la función ChartApplyTemplate.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- Template file as a binary array
       unsigned char my_template[]=
         {
          0xFF,0xFE,0x3C, ... ,0x00 // The data array in this example is shortened
         };
    //--- Saving and applying the template
       if(FileSave("my_template.tpl",my_template))
         {
          Print("Custom template saved in \\MQL5\\Files");
          if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
             Print("Custom template applied to the current chart");
          else
             Print("Failed to apply custom template");
         }
       else
          Print("Failed to save custom template");
      }

  31. MetaEditor: Añadida una opción para convertir cadenas entre los formatos ASCII, HEX y Base64. Seleccione una línea en el código fuente y haga clic en el comando deseado en el menú Editar-Convertir:




  32. MetaEditor: Corregida la búsqueda sin distinción de mayúsculas y minúsculas en los archivos.
  33. MetaEditor: Corregido un error del depurador que podía producirse al calcular expresiones similares a x.y[0][1].z.
  34. MetaEditor: Arreglada la navegación por el código mediante los botones Adelante y Atrás.
  35. La interfaz de usuario ahora también está disponible en holandés.
  36. Documentación actualizada.

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


 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсудим совместные проекты в редакторе - зачем они и куда движутся

Renat Fatkhullin, 2017.12.28 16:51

Me olvidé por completo - estamos lanzando un nuevo sistema de comunicación para la comunicación en enero.

Se trata de un análogo de Telegram, incluyendo canales y grupos (públicos y privados).

Será posible lanzar grupos temáticos, incluso de pago.

Por ejemplo, distribuir el contenido analítico por suscripción. Gran énfasis en el intercambio de datos desde los terminales. Esto hará mucho más rápido y cómodo el intercambio de gráficos, perfiles, configuraciones, programas, etc.

 
Sergey Golubev:
Sr. Sergey, ¿no cree que esto creará una gran separación y aislamiento del conocimiento libre en el foro? Porque ahora la gente tendrá que suscribirse para obtener conocimientos.
 

En cuanto a MT5 su ahora robusto y prometedor. Estoy planeando migrar a MT5 como en el próximo año, rápidamente quiero preguntar con respecto a la "fórmula sintética y símbolo personalizado", digamos que mi corredor no proporciona el símbolo personalizado que elijo para crear, puedo abrir operaciones en esos símbolo y hacer ganancias/ pérdidas y será añadido / deducido a mi saldo?

 

Creación de un feed de noticias personalizado para MetaTrader 5


MetaTrader 5 tiene muchas características útiles que un comerciante necesitaría, independientemente de su estilo de comercio, incluyendo un posible acceso a un feed de noticias en vivo. Proporciona a los comerciantes un contexto inestimable que puede tener algún efecto en los mercados. La única limitación es el alcance de las noticias proporcionadas. Creo que los operadores podrían beneficiarse de tener acceso a una fuente de noticias más flexible que permita no sólo elegir el tipo de noticias sino también su fuente.

Razón de la queja: