Terminal
- Para ampliar las posibilidades de fórex retail, se ha añadido a
la plataforma un segundo sistema de registro: la cobertura. Ahora puede
haber multitud de posiciones de un instrumento, incluidas las
posiciones opuestas. Esto hace que sea posible poner en práctica
estrategias comerciales con el llamado bloqueo: si el precio va en
contra del tráder, este tiene la posibilidad de abrir una posición en la
dirección opuesta.
El nuevo sistema de registro es análogo al
usado en MetaTrader 4, por lo que será algo familiar para los tráders.
Además, los tráders podrán valerse de todas la ventajas de la quinta
versión de la plataforma: ejecución de órdenes usando varias operaciones
(incluyendo las parciales), el simulador multidivisa y de flujo
múltiple con soporte de la red de cálculos MQL5 Cloud Network y mucho más.
Ahora en una cuenta es posible comerciar en la bolsa, donde se usa la
compensación y solo se puede tener una posición en un instrumento.
Además, en la misma plataforma, pero en otra cuenta se puede comerciar
en fórex y usar la cobertura.
Cómo abrir una cuenta con cobertura y dónde mirar el tipo de registro de posición
El tipo de registro de posición se establece a nivel de la cuenta, se
muestra en el encabezamiento de la ventana del terminal, así como en el
registro de actividad:
Para abrir una cuenta demo con cobertura, active la opción correspondiente:
Sistema de compensación
Este sistema presupone que en un momento concreto, en la cuenta puede haber solo una posición abierta del mismo símbolo:
- Si ya hay una posición en el instrumento, al realizarse una
operación en la misma dirección, se produce un incremento del volumen de
esta posición.
- Al realizarse una operación en la dirección opuesta, tiene
lugar la reducción del volumen de la posición existente, su cierre (al
realizarse una operación con un volumen igual al de la posición actual) o
bien el viraje (si el volumen de la operación opuesta es mayor al de la
posición actual).
En este caso, no tiene importancia como resultado de qué acción se
realiza la operación en la dirección opuesta, si como fruto de la
ejecución de una orden de mercado o debido a la activación de una orden
pendiente.
Más abajo mostramos un ejemplo de ejecución de dos operaciones de compra de EURUSD con un volumen de 0.5 cada una de ellas:s each:
Como resultado de la ejecución de estas operaciones, tenemos una posición general con un volumen de 1 lote.
Sistema de cobertura
Este sistema de registro de la posición permite tener multitud de
posiciones comerciales de un mismo instrumento, incluso en direcciones
diferentes.
Si hay una posición abierta de un instrumento
comercial y el tráder efectúa una nueva operación (o se activa una orden
pendiente), se abre una nueva posición. La posición existente no
cambia.
Más abajo mostramos un ejemplo de ejecución de dos operaciones de compra de EURUSD con un volumen de 0.5 cada una de ellas:
Como resultado de la ejecución de estas operaciones, tenemos la apertura de dos posiciones diferentes.
Nuevo tipo de operación comercial Close By
Para las cuentas con cobertura de registro de posiciones se ha añadido
un nuevo tipo de operaciones comerciales: el cierre de una posición con
una opuesta. Esta operación permite cerrar simultáneamente dos
posiciones en direcciones opuestas de un mismo instrumento. Si las
posiciones opuestas tienen una cantidad diferente de lotes, entonces
quedará abierta solo una orden de las dos. Su volumen será igual a la
diferencia de lotes de las dos posiciones cerradas, y la dirección de la
posición y el precio de apertura serán como en la mayor (en volumen) de
las posiciones cerradas.
En comparación con el cierre individual de dos posiciones, el cierre por orden opuesta permite al tráder ahorrarse un spread:
- Con el cierre individual, el tráder paga dos veces: cierra la compra al precio menor (Bid), y la venta, al mayor (Ask).
- Con el cierre por orden opuesta, para cerrar la primera
posición se usa el precio de apertura de la segunda posición, y para la
segunda posición, el precio de apertura de la primera.
Al cerrar la posición con otra opuesta se establece una orden del tipo
"close by". En el comentario a la misma se indican los tickets de las
posiciones cerradas. El cierre de una pareja de posiciones opuestas
tiene lugar mediante dos operaciones del tipo "out by". La magnitud del
beneficio/pérdida total obtenido como resultado del cierre de ambas
posiciones, se indica solo en una de las operaciones.
- Como complemento al soporte de la cobertura, en la
plataforma se han ampliado las posibilidades de traslado de cuentas
desde MetaTrader 4. Ahoras los brókers pueden trasladar de forma
automática las cuentas a MetaTrader 5 junto con todas las operaciones:
las órdenes abiertas y pendientes, así como toda la historia comercial.
Al conectar por primera vez una cuenta trasladada desde MetaTrader 4,
usted podrá ver una ventana de bienvenida. El traslado se realiza de
forma segura. Para comenzar a trabajar, indique la contraseña de la
cuenta que antes utilizaba en MetaTrader 4, y después introduzca una
nueva contraseña.
Una vez efectuado el procedimiento, usted podrá trabajar de la forma
habitual, como si la cuenta se hubiese abierto en MetaTrader 5, y
conservando además toda la historia de operaciones de MetaTrader 4 en la
cuenta nueva.
Al efectuar la importación, los
tickets de las órdenes y posiciones (incluidas las órdenes de la
historia) no se guardan, dado que a una entrada en la historia comercial
de MetaTrader 4 pueden corresponder hasta 4 entradas en la historia de
MetaTrader 5. Todas las entradas de trading reciben nuevos tickets.
Los números de las cuentas pueden conservarse o ser sustituidos,
dependiendo de la forma en la que el bróker realice la importación.
- Añadido Chat. Ahora podrá hablar con sus amigos en MQL5.community
directamente en la plataforma comercial. En el chat se muestran todos
los mensajes de la cuenta MQL5. Para comenzar a hablar, entre en su
cuenta directamente desde la ventana del chat o a través de los ajustes
de la plataforma: Servicio -> Ajustes -> Comunidad.
- Simplificado la ventana de diálogo de apertura de la
cuenta demo, añadida la posibilidad de abrir cuentas con cobertura.
Ahora no es necesario rellenar un formulario enorme, basta con indicar
los datos principales y elegir los parámetros comerciales: el tipo de
cuenta, el depósito, el apalancamiento y la posibilidad de cobertura.
- Para comenzar a trabajar con la plataforma rápidamente, se
ha añadido la selección automática de la cuenta demo. Si en la
plataforma no hay ni una cuenta, entonces al iniciarla se destaca la
cuenta demo en el primer servidor comercial disponible. Después de
abrirse con éxito, la cuenta estará activada.
- Ahora cada posición tiene un ticket, un número único.
Normalmente, corresponde al ticket de la orden como resultado de la cual
se abrió la posición, excepto en los casos en los que el ticket ha
cambiado debido a las operaciones de servicio en el servidor. Por
ejemplo, el aumento de los swaps por la reapertura de posición. El
ticket de todas las posiciones abiertas con anterioridad se designará
después de actualizar hasta la nueva versión del terminal.
- Corregida la colocación de los niveles de Stop Loss y Take
Profit al establecer una orden de mercado que provoca el cambio de
dirección de la posición. Los niveles anteriormente correspondientes no
se han establecido en la nueva posición.
- Corregida la representación de los precios con cuatro o
más dígitos tras la coma en los elementos de control del panel de
comercio con un click.
- Corregido el error de representación de una noticia en la ventana de vista previa antes de la impresión.
- Corregidos los errores de representación del gráfico de ticks.
- Corregida la apertura de la profundidad de mercado después de la finalización forzosa del trabajo del terminal.
- Añadida la posibilidad de comprobar si están permitidas
las órdenes de mercado al representar los elementos de control del panel
de comercio con un click.
- Optimizado el cálculo del beneficio y el margen con una gran cantidad de órdenes y posiciones abiertas.
- Añadida la traducción de la interfaz de usuario al malayo.
- Guía de usuario completamente actualizada. Un nuevo
diseño, capturas de pantalla interactivas y vídeos tutoriales
incorporados, todo para hacer el aprendizaje del comercio con MetaTrader
5 lo más sencillo y cómodo posible:
- Corregida la representación de los objetos gráficos en el modo "Gráfico arriba".
Tester
- Añadida la posibilidad de testar los robots comerciales e indicadores técnicos según la historia de ticks real.
La simulación y optimización sobre ticks reales son las más próximas a
las condiciones reales. En lugar de los ticks generados basándose en los
datos por minutos, se usan los ticks reales de los instrumentos
financieros, acumulados por el bróker. Se trata de los ticks de la bolsa
y de los proveedores de liquidez.
Para comenzar la simulación u
optimización según los ticks reales, elija el modo correspondiente en
el simulador de estrategias:
Los datos de tick tienen un tamaño significativamente mayor que los de
minutos. Al realizarse el primer inicio de la simulación, su descarga
puede ocupar bastante tiempo. Los datos de tick descargados se guardan
por meses en archivos TKC en el catálogo \bases\[nombre del servidor
comercial]\ticks\[nombre del símbolo]\.
Peculiaridades de la simulación con ticks reales
Al realizar la simulación con ticks reales, el spread en los límites de
la barra de minutos puede cambiar, mientras que con la generación de
ticks, dentro del minuto se usa un spread fijo en la barra
correspondiente.
Si se transmite la profundidad de mercado
bursátil de un instrumento, las barras se construyen estrictamente según
los precios de ejecución de la última operación Last. En caso
contrario, el simulador intenta primero construir las barras con los
precios Last, y solo si no los hay, usa los precios Bid. El evento de
llegada de un tick OnTick se activa en todos los ticks,
independientemente de si ha habido precio Last o no.
Preste
atención a que las operaciones comerciales siempre se realizan según los
precios Bid y Ask, incluso si el gráfico se construye según los precios
Last. Por ejemplo, un experto que use en el comercio solo los precios
de apertura de barra (concretamente el Moving Average incorporado)
recibirá la señal con un precio (Last), pero realizará la operación con
otro (Bid o Ask dependiendo de la dirección). Al usar el modo de
generación "Todos los ticks", las barras se construyen según los precios
Bid, y las operaciones se realizan según Bid y Ask. Además, Ask se
calcula como Bid + el spread fijo de la barra de minutos
correspondiente.
Si en la historia del símbolo hay una barra de
minutos, pero no hay datos de tick de este minuto, el simulador
generará los ticks en el modo "Todos los ticks". Esto permite poner a
prueba el asesor en el perido planeado en el caso de que el bróker no
disponga de datos de tick completos. Si en la historia del símbolo no
hay barra de minutos, pero si existen datos de tick de ese minuto,
entonces esos ticks se ignoran. Los datos de minutos se consideran más
fiables.
Simulación con ticks reales en la red de cálculos en nube MQL5 Cloud Network
La simulación con ticks reales está disponible no solo en los agentes
locales y remotos, sino también a través de la red de cálculos en la
nube MQL5 Cloud Network.
La optimización de estrategias, que podría ocupar meses, se puede
ejecutar en unas cuantas horas, usando el poder de cálculo de miles de
computadoras.
Para realizar la simulación a través de la red, active el uso de los agentes en la nube:
Al realizar la simulación de ticks reales a través de MQL5 Cloud
Network, se puede transmitir un gran volumen de transferencia por
internet. Esto puede influir significativamente en el coste total del
uso de la red de computación.
- Corregido el error como resultado del cual no se calculaba la comisión en ciertos tipos de instrumentos comerciales.
- Corregido el rellenado del campo Expert de las órdenes
comerciales que aparecían como resultado de la activación de SL/TP, de
acuerdo con el campo Expert en las posiciones correspondientes. Antes no
se rellenaba.
- Corregido el cambio a la pestaña de resultados de la optimización normal y en tiempo real.
- Corregido el cálculo y representación del indicador "Envelopes".
- Optimizada la ejecución del testing visual.
- Optimizado el cálculo del beneficio y el margen con una gran cantidad de órdenes y posiciones abiertas.
- Optimizada la ejecución de las operaciones comerciales en el comercio de alta frecuencia.
- Ahora la sincronización de la historia no se realiza al
solicitar las propiedades de un símbolo secundario, que no exigen las
cotizaciones actuales. Por ejemplo, SYMBOL_SELECT, SYMBOL_DIGITS,
SYMBOL_SPREAD_FLOAT, SYMBOL_TRADE_CALC_MODE, SYMBOL_TRADE_MODE,
SYMBOL_TRADE_STOPS_LEVEL, SYMBOL_TRADE_FREEZE_LEVEL,
SYMBOL_TRADE_EXEMODE, etcétera. Antes, al solicitarse cualquier
propiedad de un símbolo secundario, se sincronizaba la historia de dicho
símbolo.
MQL5
- Modificado el formato de los archivos ejecutables EX5, debido a
la adición de nuevas posibilidades en el lenguaje MQL5 y a la aparición
de la cobertura en la plataforma MetaTrader 5. Todos los programas EX5
antiguos compilados en el MetaEditor de los builds anteriores
funcionarán correctamente después de la actualización, de esta forma, la
compatibilidad de abajo hacia arriba se conserva totalmente.
Al mismo tiempo, los programas EX5 compilados en los builds 1325 y
superiores no funcionarán en los terminales con los builds antiguos, no
existe la compatibilidad inversa. - Añadido el soporte de las clases abstractas y las funciones virtuales puras.
Las clases abstractas están diseñadas para crear entidades genéricas,
sobre cuya base se supone que se crearán clases derivadas más concretas
en lo sucesivo. Una clase abstracta, es una clase que sólo puede ser
utilizada como clase básica para alguna otra clase, por eso no se puede
crear un objeto de tipo de clase abstracta.
La clase que
contenga aunque sea solo una función virtual pura, es abstracta. Por eso
las clases derivadas de una clase abstracta deben implementar todas sus
funciones virtuales puras, de lo contrario, también serán clases
abstractas.
Una función virtual se declara como "pura" con la
ayuda de la sintaxis de un especificador puro. Veremos como ejemplo la
clase CAnimal, que se crea solo para proporcionar las funciones
generales, los propios objetos del tipo CAnimal tienen un carácter
demasiado general para la aplicación práctica. De esta forma, la clase
CAnimal es un buen candidato a clase abstracta:
class CAnimal
{
public:
CAnimal();
virtual void Sound() = 0;
private:
double m_legs_count;
};
Aquí la función Sound() es virtual pura, por eso se la declara con el especificador de función virtual pura PURE (=0).
Las funciones virtuales puras son solo aquellas funciones virtuales
para las que se indica el especificador puro PURE, y precisamente:
(=NULL) o (=0). Ejemplo de declaración y uso de una clase abstracta:
class CAnimal
{
public:
virtual void Sound()=NULL;
};
class CCat : public CAnimal
{
public:
virtual void Sound() { Print("Myau"); }
};
new CAnimal;
CAnimal some_animal;
new CCat;
CCat cat;
Limitaciones de uso de las clases abstractas
Si el constructor de una clase abstracta invoca una función virtual pura (directa o indirectamente) el resultado es indefinido.
class CAnimal
{
public:
virtual void Sound(void)=NULL;
void CallSound(void) { Sound(); }
CAnimal()
{
Sound();
CallSound();
}
};
Sin embargo, los constructores y destructores de las clases abstractas pueden invocar otras funciones miembro.
- Para que la organización de modelos de eventos sea más sencilla, se ha añadido el soporte de índices a una función.
Para declarar un índice a una función, determine el tipo "índice a una función", por ejemplo:
typedef int (*TFunc)(int,int);
Ahora TFunc es un tipo y se puede declarar la variable-índice a una función:
TFunc func_ptr;
En la variable func_ptr se puede guardar la dirección de una función para invocarla más tarde:
int sub(int x,int y) { return(x-y); }
int add(int x,int y) { return(x+y); }
int neg(int x) { return(~x); }
func_ptr=sub;
Print(func_ptr(10,5));
func_ptr=add;
Print(func_ptr(10,5));
func_ptr=neg;
Print(func_ptr(10));
Los índices a una función se pueden guardar y transmitir como
parámetros. No es posible recibir un índice a un método de clase no
estático.
- Se han añadido a la estructura de la solicitud comercial MqlTradeRequest dos nuevos campos:
- position — ticket de la posición. Hay que rellenarlo al
comerciar con cobertura, en caso de cambiar o cerrar una posición para
su identificación inequívoca. Al comerciar con el sistema de
compensación del registro de posiciones, rellenar esta campo no influye
en nada, puesto que la identificación de la posición tiene lugar por el
nombre del instrumento comercial.
- position_by — ticket de la posición opuesta. Se usa al cerrar
una posición con otra opuesta, abierta en el mismo instrumento, pero en
dirección contraria. Solo se usa con el sistema de cobertura del
registro de posiciones.
- A la enumeración de los tipos de operaciones comerciales
ENUM_TRADE_REQUEST_ACTIONS se ha añadido TRADE_ACTION_CLOSE_BY, el
cierre de una posición con la opuesta. Solo se usa con el sistema de
cobertura del registro de posiciones.
- A la enumeración de las propiedades de las órdenes,
operaciones y posiciones se han añadido los tickets de las operaciones
comerciales:
- A ENUM_ORDER_PROPERTY_INTEGER se ha añadido la propiedad
ORDER_TICKET, el ticket de la orden. Un número único que se asigna a
cada orden.
- A ENUM_DEAL_PROPERTY_INTEGER se ha añadido la propiedad
DEAL_TICKET, el ticket de la operación. Un número único que se asigna a
cada operación.
- A ENUM_POSITION_PROPERTY_INTEGER se ha añadido
POSITION_TICKET, el ticket de la posición. Un número único que se asigna
a cada posición abierta de nuevo. Normalmente, corresponde al ticket de
la orden como resultado de la cual se abrió la posición, excepto en los
casos en los que el ticket ha cambiado debido a las operaciones de
servicio en el servidor. Por ejemplo, el aumento de los swaps por la
reapertura de posición. Para encontrar la orden con la que se ha abierto
la posición, se debe usar la propiedad POSITION_IDENTIFIER. El valor
POSITION_TICKET corresponde a MqlTradeRequest::position.
- A la enumeración de los tipos de órdenes ENUM_ORDER_TYPE se
ha añadido el valor ORDER_TYPE_CLOSE_BY, la orden de cierre de una
posición con una posición opuesta.
- A la enumeración de los tipos de órdenes
ENUM_ORDER_PROPERTY_INTEGER se ha añadido el valor ORDER_POSITION_BY_ID,
el identificador de una posición opuesta para las órdenes del tipo
ORDER_TYPE_CLOSE_BY.
- A la enumeración de las direcciones de una operación
ENUM_DEAL_ENTRY se ha añadido el valor DEAL_ENTRY_OUT_BY, la operación
ha tenido lugar como resultado del cierre de una posición por la
opuesta.
- A la estructura de la transacción comercial MqlTradeRequest se han añadido dos campos análogos:
- position — ticket de la posición a la que ha influido la
transacción. Se rellena para las transacciones relacionadas con el
procesamiento de las órdenes de mercado (TRADE_TRANSACTION_ORDER_*
excepto TRADE_TRANSACTION_ORDER_ADD, donde el ticket de la posición no
se ha adjudicado) y con la historia de las órdenes
(TRADE_TRANSACTION_HISTORY_*).
- position_by — ticket de la posición opuesta. Se usa al cerrar
una posición con otra opuesta, abierta en el mismo instrumento, pero en
dirección contraria. Se rellena solo para las órdenes de cierre de una
posición con la opuesta (close by) y las operaciones de cierre con una
opuesta (out by).
- Añadida la función PositionGetTicket, que retorna el ticket
de la posición según el índice en la lista de posiciones abiertas y
elige de forma automática esta posición para trabajar con ella
posteriormente con la ayuda de las funciones PositionGetDouble,
PositionGetInteger, PositionGetString.
ulong PositionGetTicket(
int index
);
- Añadida la función PositionSelectByTicket, que elige una
posicón abierta para trabajar posteriormente con ella según el ticket
indicado.
bool PositionSelectByTicket(
ulong ticket
);
- A la enumeración de propiedades de los instrumentos
comerciales ENUM_SYMBOL_INFO_DOUBLE se ha añadido el valor
SYMBOL_MARGIN_HEDGED, el tamaño del contrato o margen para un lote de
posiciones solapadas (posiciones opuestas de un símbolo).
- Si para el instrumento se ha establecido un margen inicial
(SYMBOL_MARGIN_INITIAL), entonces el margen cubierto se indica como
valor absoluto (en dinero).
- Si no se ha establecido un margen inicial (igual a 0),
entonces en SYMBOL_MARGIN_HEDGED se indica el tamaño del contrato, que
se usará al calcular el margen según la fórmula correspondiente el tipo
de instrumento comercial (SYMBOL_TRADE_CALC_MODE).
Las peculiaridades del cálculo del margen para las posiciones con cobertura se describen en la guía del usuario de la plataforma comercial MetaTrader 5.
- A la enumeración de las propiedades de la cuenta
ENUM_ACCOUNT_INFO_INTEGER se ha añadido el valor ACCOUNT_MARGIN_MODE, el
modo de cálculo del margen para la cuenta comercial actual:
- ACCOUNT_MARGIN_MODE_RETAIL_NETTING se utiliza para el mercado
no bursátil al registrar las posiciones en el modo "compensación" (en un
símbolo puede haber solo una posición). El cálculo del margen se
realiza basándose en el tipo de instrumento (SYMBOL_TRADE_CALC_MODE).
- ACCOUNT_MARGIN_MODE_EXCHANGE se usa para el mercado bursátil.
El cálculo del margen se realiza basándose en los descuentos indicados
en los ajustes de los instrumentos. Los descuentos son establecidos por
el bróker, pero no pueden ser inferiores a los valores determinados por
la bolsa.
- ACCOUNT_MARGIN_MODE_RETAIL_HEDGING se usa para el mercado no
bursátil al realizarse el registro independiente de posiciones
("cobertura", en un símbolo pueden existir varias posiciones). El
cálculo del margen se realiza basándose en el tipo de instrumento
(SYMBOL_TRADE_CALC_MODE) y teniendo en cuenta el tamaño del margen
cubierto (SYMBOL_MARGIN_HEDGED).
- A la enumeración de propiedades del terminal de cliente
ENUM_TERMINAL_INFO_INTEGER se ha añadido el valor TERMINAL_SCREEN_DPI,
la capacidad de resolución a la hora de mostrar información en la
pantalla se mide por la cantidad de puntos por pulgada lineal de la
superficie (DPI). El conocimiento de este parámetro permite definir las
dimensiones de los objetos gráficos de tal forma que parezcan iguales en
monitores con diferente capacidad de resolución.
- A la enumeración de propiedades del terminal de cliente
ENUM_TERMINAL_INFO_INTEGER se ha añadido el valor TERMINAL_PING_LAST, el
último valor conocido del ping hasta el servidor comercial en
microsegundos. En un segundo hay millón de microsegundos.
- Corregido el retorno del resultado de la invocación de la
función SendFTP. Antes, en caso de enviarse con éxito, retornaba el
valor FALSE en lugar de TRUE.
- Corregido el error en la función StringConcatenate, que en
ciertos casos provocaba el error de ejecución "Access violation".
- Corregida una serie de errores al trabajar con las funciones-plantilla.
- Ahora las funciones Print, Alert y Comment pueden mostrar líneas con un tamaño de 4000 símbolos.
- Corregido el error en la función ArrayCompare, que surgía al comparar la matriz consigo misma.
- Añadido a la biblioteca estándar el soporte del comercio con cobertura:
CPosition
Se han añadido los métodos:
- SelectByMagic, elige una posición según el número mágico y el símbolo para trabajar posteriormente con ella.
- SelectByTicket, elige una posición según el ticket para trabajar posteriormente con ella.
CTrade
Se han añadido los métodos:
- RequestPosition, obtiene el ticket de la posición.
- RequestPositionBy, obtiene el ticket de la posición opuesta.
- PositionCloseBy, cierra una posición con la posición opuesta según el ticket indicado.
- SetMarginMode, establece el modo de cálculo del margen de acuerdo con los ajustes de la cuenta actual.
Se ha añadido la sobrecarga para los métodos:
- PositionClose, cierra una posición según el ticket.
- PositionModify, modifica la posición según el ticket.
CAccountInfo
Se han cambiado los métodos:
- MarginMode, ahora obtiene el modo del cálculo del margen. Antes funcionaba de forma análoga al nuevo método StopoutMode.
- MarginDescription, ahora obtiene el modo de cálculo del margen
como línea. Antes funcionaba de forma análoga al nuevo método
StopoutModeDescription.
Se han añadido los métodos:
- StopoutMode, obtiene el modo de establecimiento del nivel mínimo del margen.
- StopoutModeDescription, obtiene el modo de establecimiento del nivel mínimo del margen como línea.
CExpert
Se han añadido los métodos:
- SelectPosition, elige una posición para trabajar posteriormente con ella.
- Introducida una serie de cambios en la biblioteca estándar.
- Corregido el error de descarga de las bibliotecas DLL.
- Añadido el soporte de constructores de plantilla de las clases.
Señales
- Corregida una serie de errores de representación del escaparate de señales.
MetaEditor
- Corregida la búsqueda de una palabra por los archivos en el modo "Solo palabra completa".
- Añadido el paso a un archivo con un doble click en la
línea del resultado de la compilación del archivo correspondiente.
- Corregida la representación de ciertos elementos de control en Windows XP.
Se ha actualizado la documentación.
Lea las noticias anteriores, por favor: