Descargar MetaTrader 5

¿Le ha gustado el artículo?
Ponga el enlace al artículo -
que los demás también lo lean

Utilice nuevas posibilidades de MetaTrader 5

Llega el nuevo MetaTrader 5 y MQL5

12 diciembre 2013, 08:17
Yuriy Zaytsev
0
798

Voy a ofrecer solamente una breve descripción de algunos momentos.


Fig. 1. No es Photoshop -es MQL5.

Lo que más nos interesaba a mí, y a otros, en MQL5 y MT5 es su implementación a un nivel avanzado.

El cambio fundamental en MQL5 es el aspecto de la programación orientada a objetos (POO). No voy a profundizar en la POO; lo que pasa es que los programadores avanzados consiguen más posibilidades. Para aquellos que les gusta MQL4 y no saben nada sobre POO, los desarrolladores dejaron la posibilidad de escribir en MQL5 mediante el estilo de MQL4 y sin programación orientada a objetos. La diferencia está en la funcionalidad que debe aprenderse otra vez.

Tomemos un ejemplo sencillo: ya no existen las variables Ask y Bid. Para obtener los valores de Bid, se debe llamar a la siguiente función:

SymbolInfoDouble(Symbol(),SYMBOL_BID);

Low[0] o iLow ( Symbol(), PERIOD_D1, 0 ) no se usan con frecuencia, pero se pueden reconstruir fácilmente. Las nuevas funciones que trabajan con datos del historial, ofrecen la posibilidad de leer en la memoria los datos del historial, desde un punto hasta el otro, desde una barra hasta otra barra o desde cierto instante hasta otro instante. Se carga en la memoria una primera lectura de unas series de datos de todo el rango visible. Que lo necesites o no, pero hubo una lectura; y si necesitas leer M1, hubo una lectura desde 1999 (en el caso de que el historial esté disponible) hasta la fecha, hora y minuto actuales.

Ahora, se lee sólo el intervalo necesario, lo que permite un ahorro considerable de tiempo y memoria.

MqlRates rates_arrayG[];
Int Bar=30; // read only 30 bars stating from the zero one
iCopBar=CopyRates(Symbol(),PERIOD_M1,0,Bar,rates_arrayG);

Esta función permite ahorrar tiempo y memoria.

Este cambio de funcionalidad no tiene que asustarte. Sólo necesitamos tiempo para aprender nuevas funciones análogas.

Algunas mejoras funcionales que esperaba de MQL:

  • OnTimer() -una función para procesar los eventos del temporizador (ahora, no necesitas hacer un bucle al Asesor Experto para que funcione con cierta periodicidad, independientemente de los ticks entrantes);
  • OnTrade() -una función para procesar los eventos de trading -apertura, cierre de la posición de trading o cambio de volumen;
  • OnChartEvent() -para procesar los eventos mediante ratón o teclado.

Comentemos un poco estas funciones.

Se llama a la función OnTimer() cuando el temporizador está inicializado con antelación en la función predefinida OnInit (procesador de inicialización de eventos del Asesor Experto).

Ejemplo:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   EventSetTimer(1); //each second we'll refer to OnTimer()
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit()
  {
   EventKillTimer(); // canceling of timer reference must be called at exit
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer()
  {
   MqlDateTime str1;
   TimeGMT(str1); // new function to get GMT time
   Comment(str1.hour
           ,str1.min
           ,str1.sec
           ,str1.day
           ,str1.mon
           ,str1.year
           ,str1.day_of_year
           ,OrdersTotal()
           ,PositionsTotal()
           );
  }

Por lo tanto, puedes conseguir el control no sólo del tick de llegada, como antes, sino también de un temporizador que te permite escribir programas que trabajan en tiempo real. Con esta característica, se pueden crear sistemas más completos.

Me gustó la función OnTrade(). La llamada a esta función se realiza al desencadenarse cualquiera de los siguientes eventos de trading: colocar una orden, activación de StopLoss o TakeProfit, cambio en los niveles de StopLoss o TakeProfit, o colocar/eliminar una orden pendiente.

Supervisar los eventos relacionados con las operaciones de trading es mucho más sencillo ahora. Ya no hacen falta los bucles de comprobación del estado de las ordenes en los ticks o barras. Estos bucles se utilizan en MQL4, lo que reduce considerablemente el rendimiento del programa, muy importante en la optimización.

Comentemos la función OnChartEvent(). La llamada de la función se realiza en varios eventos. No he conseguido probarlos todos, pero la lista es impresionante:

  • CHARTEVENT_KEYDOWN — evento de pulsación en el teclado;
  • CHARTEVENT_OBJECT_CLICK — evento de clic del ratón sobre un objeto gráfico de un gráfico (chart);
  • CHARTEVENT_OBJECT_DRAG — evento de mover un objeto gráfico mediante ratón;
  • CHARTEVENT_OBJECT_ENDEDIT — evento de fin de edición de un texto;
  • CHARTEVENT_CUSTOM+n — identificador de evento del usuario;
  • CHARTEVENT_CUSTOM_LAST — el último(a).

La posibilidad de gestionar el trading y los gráficos a un nuevo nivel funcional -es lo que prometieron los desarrolladores.

Han aparecido nuevos objetos gráficos, botones y campos de entrada. La gestión de los gráficos se ha vuelto increíble, se puede incluso insertar imágenes desde los archivos -esta opción ofrece muchas posibilidades a quienes les gustan los diseños especiales. Esto no es Photoshop, es el resultado de las posibilidades de MQL5 y MetaTrader 5. Con las nuevas características puedes crear tus propios botones y añadir tus propios campos de entrada, por ejemplo, un botón para cerrar todas las ordenes abiertas, o un botón par Comprar y Vender rápidamente con unos parámetros predefinidos Stop y Take.


Fig. 2. Los objetos gráficos permiten crear un panel informativo.

Fig. 2. Los objetos gráficos permiten crear un panel informativo

Hay una cosa negativa: no se pueden crear objetos a partir de los indicadores. Esto se hizo aposta para acelerar el rendimiento de los indicadores. La buena noticia es que son conscientes de ello, y probablemente, van a implementar la posibilidad de iniciar varios Asesores Expertos en un solo gráfico. Por lo tanto, seremos capaces de crear indicadores de Asesores Expertos con objetos y sin trading. Se pueden crear dichos indicadores ahora -funcionarán como indicadores. Asimismo, se puede resolver la tarea empezando un Asesor Experto de trading en un gráfico y un Asesor Experto creando objetos en otro, y luego implementar el intercambio entre ellos.

Por ejemplo, he conseguido migrar mi indicador de breakthrough de MQL4 a MQL5 en unas cuantas horas. He dedicado casi todo el tiempo al aprendizaje de la función y a la depuración. En MQL5, el código es más corto.

En cuanto al terminal en sí, me ha impresionado el número de períodos de tiempo. Me parece hasta excesivo. Sin embargo, la enorme cantidad de períodos de tiempo por minutos puede resultar útil para algunos traders. Pues ahora, falta un sólo paso para la creación de un período de tiempo configurado libremente. Ahora, todos los datos se almacenan únicamente en períodos de tiempo por minutos, con lo cual no hay problemas con la sincronización de los diferentes períodos -se trata de una solución tecnológica importante.

En el catalogo HISTORY ya no hay archivos para diferentes períodos de tiempo.



Fig. 3. Todo el historial se almacena en un único archivo.

Otra grata novedad es que ahora podemos limpiar los registros.


Fig. 4. El uso de una tecla para limpiar el registro del Asesor Experto, borra todos los mensajes innecesarios

Esta es sólo una breve reseña de MetaTrader 5. No puedo describir todas las nuevas funciones del sistema en tan poco tiempo; las pruebas empezaron el 09/09/2009. Esta es una fecha simbólica, y estoy seguro de que será un número afortunado. Han pasado pocos días desde que tengo la versión beta del terminal MetaTrader 5 y MQL5. No he conseguido probar todas sus funciones, pero ya estoy impresionado.

Los magos de MetaQuotes han creado un producto increíble. Soy un desarrollador con 25 años de experiencia, he sido testigo del inicio de muchos proyectos y lo puedo afirmar con toda seguridad!

Saludos cordiales,
Yuriy Zaytsev

Skype: yurazyuraz
yzh@mail.ru

Traducción del ruso hecha por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/ru/articles/1

Nuevas oportunidades con Meta Trader 5 Nuevas oportunidades con Meta Trader 5

Meta Trader 4 se hizo popular entre los traders de todo el mundo y parecía tener todo lo que podía esperarse de él. Con su alta velocidad de procesamiento, estabilidad, amplias posibilidades para escribir indicadores, Expert Advisors, sistemas de información para el trading y la posibilidad de elegir entre cientos de brokers distintos, el terminal pronto se destacó del resto. Pero los tiempos van cambiando y pronto nos vimos ante el reto de pasar de Meta Trader 4 a Meta Trader 5. En este artículo vamos a describir las principales diferencias entre la quinta generación del terminal y la versión anterior.

Aumente la velocidad de los cálculos con la red en la nube de MQL5 Aumente la velocidad de los cálculos con la red en la nube de MQL5

¿Cuántos procesadores tiene tu ordenador? ¿Cuántos ordenadores puedes usar para optimizar una estrategia de trading? Aquí mostraremos cómo usar la red en la nube de MQL5 para acelerar los cálculos recibiendo la capacidad de procesamiento a través de la red mundial con solo el clic de un ratón. La frase "el tiempo es dinero" se hace más evidente aun con el paso de los años, y no podemos permitirnos esperar para realisar cálculos importantes durante decenas de horas o incluso días.

Cómo realizar un robot de trading en poco tiempo Cómo realizar un robot de trading en poco tiempo

Operar en los mercados financieros conlleva muchos riesgos, incluido el más importante: el riesgo de tomar una decisión equivocada. El sueño de todo operador es conseguir un robot de trading que esté siempre en buena forma y evite los errores humanos como el miedo, la avaricia y la impaciencia.

MQL5 para Principiantes: Guía para el Uso de Indicadores Técnicos en Asesores Expertos MQL5 para Principiantes: Guía para el Uso de Indicadores Técnicos en Asesores Expertos

Para obtener valores en un indicador incorporado o personalizado en un Asesor Experto, en primer lugar, su identificador se debe crear usando la función correspondiente. Los ejemplos de este artículo muestran cómo usar un indicador técnico mientras crea sus propios programas. El artículo describe indicadores creados con el lenguaje MQL5. Está pensado para aquellos que no tienen mucha experiencia en el desarrollo de estrategias de trading, y ofrece formas sencillas y claras de trabajar con indicadores usando la biblioteca de funciones facilitada.