Terminal
- 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.
- 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.
- 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.)
- 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.
- Añadido el soporte de calendario de eventos económicos en varias lenguas.
- Añadidos los iconos de los pictogramas de los países que faltaban en el calendario económico.
- 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.
- Corregida la puesta en orden de las ventanas abiertas de los gráficos con los comandos en el menú "Window".
- Corregido el error cuando el terminal en ciertos casos no podía
encontrar el archivo de certificado al usar la autenticación ampliada.
- Corregido el error que provocaba en ciertos casos un bucle en la sincronización de la historia de precios.
- 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.
- 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".
- 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.
- Se han continuado los trabajos de adaptación del interfaz al funcionamiento de las pantallas de alta defición (4K).
- 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.
- Corregida la representación de una serie de elementos del interfaz de usuario al trabajar con Windows 10.
- Actualizadas las traducciones del interfaz de usuario.
Market
- Revisado y optimizado el funcionamiento con la base de productos MQL5 Market.
- 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.
- Añadida la compra directa de productos con ayuda del sistema de pago UnionPay.
- Añadido el historial ampliado al comprar productos en MQL5 Market.
Virtual Hosting y Signals
- 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.
- 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.
- 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
- 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.
- 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;
double bid;
double ask;
double last;
ulong volume;
long time_msc;
uint flags;
};
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.
- 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:
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
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]);
}
};
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];
}
};
class CFoo
{
int m_x;
public:
CFoo(int x):m_x(x) { }
int X(void) const { return(m_x); }
};
TArray<int> ExtIntArray;
TArray<double> ExtDblArray;
TArrayPtr<CFoo> ExtPtrArray;
void OnStart()
{
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);
}
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);
}
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
- Añadidas las nuevas operaciones * y & - respectivamente, para
obtener la variable según el enlace y para obtener el enlace a la
variable.
- 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,
const string prefix,
int sub_window=-1,
int object_type=-1
);
- 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.
- 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.
- Realizada una serie de correcciones en la biblioteca estándar MQL5.
- La documentación sobre la Biblioteca estándar se ha traducido al alemán, francés, chino, turco, español y portugués.
- Añadida la documentación MQL5 en japonés.
Tester
- 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.
- La representación de ciertos indicadores durante el testado visual se ha adecuado al terminal de cliente.
- 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.
- Corregida la depuración de los indicadores al simular sobre datos históricos.
Correciones de crash logs.
Se ha actualizado la documentación.
Lea las noticias anteriores, por favor: