Errores, fallos, preguntas - página 2477

 
secret:
Es extraño, se ha negado durante unos años y todavía se anuncian para comprar...

Tienes esta carta de la terminal del corredor, por lo que entiendo. Hazle una pregunta o pídele que se ponga en contacto con el servicio de asistencia si no puede solucionarlo él mismo.

 

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

Bichos, errores, preguntas

Sergey Dzyublik, 2019.05.23 13:52


¿Cómo sé que debo esperar a que me corrijan?

(no solucionado en MT5(build 2069))"Bug con la cola de registro en el terminal MT, supuestamente, cuando el número de mensajes en la cola llega al límite, se produce una reasignación de memoria con re-copiado, pero se pierde un mensaje 395".
#(corregido en MT5(build 2069))"Error de compilación al pasar el parámetro (void*)(NULL) a la función de plantilla.
(corregido en MT5(build 2059))"Probador de estrategias: 2 pases previstos, pero en la práctica número infinito de pases > 900pcs debido a un error "OnInit critical error"".
#(no solucionado en MT5(build 2069))"Valor inválido del campo de tamaño del array dentro del operador de asignación por defecto para estructuras con arrays dinámicos.
(no corregido en MT5(build 2069))"El compilador no ve el constructor de copia de clase por defecto cuando devuelve un objeto de clase por valor desde una función".
(corregido en MT5(build 2059))"El compilador falla al ver el type cast "en sí mismo" para las clases patrón y las estructuras "complejas"".
(no arreglado en MT5(build 2069))"Cuando se trabaja con typedef, el uso de una función de plantilla con especialización explícita no genera código para esta función de plantilla".
(no arreglado en MT5(build 2069))"Error de compilación al reutilizar la misma firma de función dentro de typedef".
#(no corregido en MT5(build 2069))"Una parte importante de las funciones para el manejo de cadenas no funciona con caracteres NULL en una cadena (por ejemplo: ShortArrayToString, StringInit, StringFill).
#(no arreglado en MT5(build 2069)) La función StringSetLength sólo funciona para "recortar" la longitud de la cadena, no para aumentarla.
(arreglado en MT5(build 2057))"Probador de Estrategias: 750 procesos "metatester64.exe" se están ejecutando".
"Foro www.mql5.com, al editar un mensaje con una imagen, la imagen anterior no se sustituye por la nueva".


Sugerencias:
"Permitir al usuario forzar la generación/eliminación de código para el operador de asignación por defecto (constructor de copias)".
"Permitir que ArrayCopy copie clases y estructuras "complejas", de forma similar a como las estructuras proporcionan una funcionalidad de copia profunda para cualquier tipo de objeto".
"Proporcionar la funcionalidad para que el usuario pueda leer/establecer el valor de la capacidad cuando se trabaja con matrices dinámicas".
"Cambios para mejorar la infografía del servicio de Señales"

 
Estas constantes

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

Servicios. ¿Ya estás trabajando?

fxsaber, 2019.06.07 06:37

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define  GENERIC_WRITE                    0x40000000
#define  CREATE_ALWAYS                    2
#define  FILE_ATTRIBUTE_NORMAL            0x00000080
#define  FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
  const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

Y muchos otros faltan en SB.

 

Una vez más les pido que desactiven las órdenes limitadas y tomen el deslizamiento en el probador en los símbolos personalizados en ticks reales.

Ahora todos los que conducen en el Probador de Estrategias por ticks reales, donde se aplican órdenes limitadas o órdenes de toma, pertenecen a una de las tres categorías

  • No crean que son engañados por el probador.
  • Los pseudofísicos.
  • fxsaber.

Una gran petición para detener esta práctica al menos en los símbolos personalizados. Esto es necesario no sólo para que el probador no mienta, sino también para poder trabajar más rápido.

Ну а как еще обратить внимание на эту проблему?

 

La función CopyTicks no funciona solicitando el historial de ticks desde una fecha determinada. Por lo tanto, o bien hay que solicitar un gran número de garrapatas, o bien no se puede obtener el historial de garrapatas necesario utilizando el código.

El terminal MT5 se cuelga permanentemente si el espacio en disco se está agotando cuando se realizan grandes solicitudes de historial de ticks. Una caída del terminal puede hacer que se borren todos los ajustes de la cuenta.

 
Gelium:

La función CopyTicks no funciona solicitando el historial de ticks desde una fecha determinada. Por lo tanto, o bien hay que solicitar un gran número de ticks, o bien no se puede obtener el historial de ticks con el código.

El terminal MT5 se cuelga permanentemente si las solicitudes de historial de ticks grandes se quedan sin espacio en el disco. Una caída del terminal puede hacer que fallen todos los ajustes de la cuenta.

Los milisegundos están en la entrada, no los segundos.

 
fxsaber:

Milisegundos ahí en las entradas, no segundos.

Lee la ayuda:

de

[en] Fecha a partir de la cual se solicitan las garrapatas. Especificado en milisegundos desde el 01.01.1970. Si el parámetro from=0, se da la última cuenta de ticks.

Lo siguiente es una simple prueba de código:

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

Esta petición siempre devuelve 2000 ticks con cualquier cambio del parámetro tm_ms. ¿Se supone que debe ser así o estoy haciendo algo mal?

 
Gelium:

Lee la ayuda:

de

[en] Fecha a partir de la cual se solicitan las garrapatas. Especificado en milisegundos desde el 01.01.1970. Si from=0, se da la última cuenta de ticks.

Más allá está una simple prueba de código:

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

Esta petición siempre devuelve 2000 ticks con cualquier cambio del parámetro tm_ms. ¿Se supone que debe ser así o estoy haciendo algo mal?

long tm_ms = (long)D'2019.06.01' * 1000;
ajustar el recuento correcto para que no sea 2000.
 

fxsaber:

long tm_ms = (long)D'2019.06.01' * 1000;


Poner la cuenta correcta para que no sea 2000.

Gracias, ¡funciona! Mi error con int. :)

 
Cada compilación da un valor diferente en Warning
void OnStart()
{
  int i = 0;

  {
    int i = 0; // declaration of 'i' hides local declaration at line 482781488
  }
}