Errores, fallos, preguntas - página 1203

 

En los servidores de intercambio reales, por supuesto, los volúmenes están separados para la venta y la compra.

En los servidores de bolsa de prueba (no confundir con los de forex), las cotizaciones suelen proceder de un sistema de simulación de prueba completamente diferente y los "servidores de demostración" de la bolsa nunca deben utilizarse para el análisis.

 

Error durante la ejecución: fundición incorrecta de punteros (compilación 977, pero ya ocurría de vez en cuando)

//AAA15.mq5
#define  PF              Print( __FUNCTION__ );
#define  PFI( i )        Print( __FUNCTION__, " ", i );
class A { public:
};
class R { public:
        void y( A* a )          { PF  ((B *)a).g( 1 ); }
};
class L : public R { public:
        void y( A* a )          { PF  ((B *)a).g( 2 ); }
};
class B : public A { public:
        virtual void g( R* r )  { PF  r.y( GetPointer( this ) ); delete( r ); }
        virtual void g( int i ) { PFI( i ) }
};
class C : public B { public:
        virtual void g( int i ) { PFI( i ) }
};
#import "AAA17.ex5"
        C *f();
#import "AAA16.ex5"
        void h();
        R *w();
#import
#ifndef  HEADER
void OnStart()
{
        f().g( w() );
        h();
}
#endif
//AAA16.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
void h() export { PF  f().g( w()); }
R *w()   export { PF  return new L(); }
//AAA17.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
class X { public:
        X()           { PF  c = new C(); }
        virtual ~X()  { PF  delete( c ); }
        C *c;
};
static X x;
C *f() export { PF  return ( x.c ); }

Si mueves algo (por ejemplo, intercambiar declaraciones #import) o haces 2 archivos en lugar de 3 o eliminas la llamada h() - entonces en lugar de los errores especificados ocurren otros errores

Si recompones el código anterior, acabará llamando a R::y en lugar de a L::y

En una versión más compleja, algunas funciones comunes de los módulos son llamadas antes (!) de los propios constructores estáticos (como si en el ejemplo anterior se llamara a f() antes de X::X, que a su vez es llamado correctamente antes de OnStart). Intentaré citar un ejemplo, pero hay archivos enormes. Pero a veces funciona correctamente, así que el error no es mío porque el orden de creación de los objetos lo define el propio compilador y no puedo cambiarlo

 

También he observado que si el módulo principal (OnStart) se modifica de forma insignificante (se añade alguna variable o Print), a menudo no se inicia hasta que se recompilan todos los módulos ex5 utilizados. En ese momento, el mensaje de Experts informa de que no hay ninguna función, que se sabe que está ahí, en uno de los módulos no centrales de ex5 (que se demuestra que es operable después de recompilar todos los módulos).

Y experimentalmente se encontró que las funciones que son llamadas antes (!) de los constructores estáticos son llamadas exactamente desde esta función (que MT no puede encontrar periódicamente)

 
Estimados programadores, ¿quién podría aconsejarme sobre cómo preparar un EA para el Mercado? Puedes escribirme en persona y/o aquí.
 
yosuf:
Estimados programadores, ¿quién podría aconsejarme sobre cómo preparar un EA para el Mercado? Puedo hacerlo en persona y/o aquí.
Puedes abrir un tema separado y luego discutir la pregunta en él.
 
Hoy ha habido un extraño fallo con MT4: la cuenta demo en el servidor MetaQuotes-Demo en el "Navigator" del terminal se ha movido de repente a la lista de otro broker. Tuve que borrar esta cuenta extraviada del terminal y volver a introducirla.
 
Renat:

En los servidores de intercambio reales, por supuesto, los volúmenes están separados para la venta y la compra.

En los servidores de bolsa de prueba (no confundir con forex) las cotizaciones suelen proceder de un sistema de simulación de prueba completamente diferente y los "servidores de demostración" de la bolsa no deben utilizarse en ningún caso para el análisis.

Renat,

Gracias.

 
Renat:
А время было торговым? Лучше всего обратиться в службу поддержки брокера.
Время торговое, тики тикают. К брокеру обратился. Они ответили, что российские CFD - индикативы. Почему они отображаются в терминале черным, они не знают.
En general, la continuación de la investigación arrojó los siguientes resultados. Al poner el cursor del ratón sobre los tickers en la visión general del mercado aparece un tooltip donde para los símbolos grises aparece Trade: No. Pero para los CFD rusos, que se muestran en negro, aparece Trade: Close (una vez más hay que tener en cuenta que el tiempo está negociando y los ticks en el símbolo vienen en este momento). De lo que deduzco que el broker tiene varios niveles de bloqueo de operaciones, de los cuales sólo algunos (o incluso sólo uno) están marcados en gris, y todos los demás están amontonados en un montón común con los símbolos activos, ya que se muestran en negro.
 
marketeer:
De todos modos, las investigaciones posteriores dieron estos resultados. Al poner el cursor del ratón sobre los tickers en la visión general del mercado aparece un tooltip, en el que para los símbolos grises está escrito Trade: No. Pero para los CFD rusos, que se muestran en negro, aparece Trade: Close (una vez más hay que tener en cuenta que el tiempo está negociando y los ticks en el símbolo vienen en este momento). De lo que deduzco que el broker tiene varios niveles de bloqueo de operaciones, de los cuales sólo algunos (o incluso sólo uno) están marcados en gris, y todos los demás están amontonados en un montón común con los símbolos activos, ya que se muestran en negro.

Se ha planteado una pregunta sobre la coloración de los personajes.

Aquí está la respuesta específicamente en la coloración en el servidor de demostración MQ^

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

Colorear en Market Watch

barabashkakvn, 2014.05.12 18:55

Esta es la respuesta del Servicio de Atención al Cliente: "En nuestro servidor, el color de fondo del símbolo no significa esencialmente nada.

Si nos referimos específicamente al color de la letra en el nombre del símbolo: el gris significa que la negociación del símbolo está deshabilitada, el negro liso significa que la negociación está permitida.

Es decir, para descifrar el color de fondo del símbolo hay que ponerse en contacto con el agente de bolsa y no existe una norma unificada sobre la coloración.

Pero aquí hay una promesa de arreglarlo:

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

Colores en la vigilancia del mercado

Renat, 2014.05.13 12:37

La locura de los colores debería haberse abordado hace mucho tiempo.

Añadiremos un comando de restablecimiento del color y nuevos comandos para agrupar y ordenar los instrumentos en la ventana.

Hay una actualización radical de los sistemas de comandos, menús e interfaces en MT4/MT5 y habrá una beta antes de iFX EXPO el 25 de mayo. En general, las nuevas construcciones ofrecerán increíbles oportunidades a los comerciantes.


 
barabashkakvn:

Se ha planteado una pregunta sobre la coloración de los personajes.

Aquí está la respuesta específicamente en la coloración en el servidor de demostración MQ^

y aquí está la promesa de arreglarlo:


Tal vez. Sólo que en realidad no es muy conveniente todavía, ya que la interfaz de usuario es engañosa. A la espera de mejoras.