Errores, fallos, preguntas - página 1655

 
coderex:
¿tal vez es el constructor de la estructura? está ahí de todos modos
¿Por qué tanta inseguridad? Por supuesto que sí :)
 
Andrey Barinov:
¿Por qué tanta inseguridad? Por supuesto que sí :)
No estoy tan seguro porque no sé qué esperar, actualicé el terminal a 1395 y ahora no sé cómo retroceder a 1375 porque el robot dejó de hacer lo que debía hacer...
 
Andrey Barinov:
¿Por qué tanta inseguridad? Por supuesto que sí :)
Bien, ¿dónde está el destructor?
 
Vladimir Pastushak:
Bien, ¿dónde está el destructor?
Y lo más importante, ¿dónde está todo lo demás?
 

El comprobador offline no vuelve a su estado inicial después de pulsar "Start": el botón "Stop" está permanentemente encendido. Esto ocurre cuando el intervalo de la prueba supera el historial disponible.

2016.08.28 10:19:48     Core 1  RTS-9.16: read container failed
2016.08.28 10:19:48     Core 1  RTS-9.16: ticks synchronization started
2016.08.28 10:19:48     Core 1  RTS-9.16: history synchronized from 2015.06.22 to 2016.08.25
2016.08.28 10:19:48     Core 1  RTS-9.16: load 2651 bytes of history data to synchronize in 0:00:00.016
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol synchronized, 3224 bytes of symbol info received
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol to be synchronized
....
2016.08.28 10:19:41     Tester  RTS-9.16,M1 (BCS-MetaTrader5): testing of Experts\Test.ex5 from 2016.08.01 00:00 to 2016.08.28 00:00

 
Por favor, explique por qué no se puede utilizar la construcción que está en el código? ¿Y cómo cambiar (aparentemente, un nuevo tipo de punteros para MQL) para que tal construcción funcione? ¿Y se ralentizará?
void f1( int i1, int i2, int i3, int i4, int i5 ) {}
void f2( int i1, int i2, int i3, int i4, int i5 ) {}

void OnStart()
{  
  bool Condition = true;
  
//  (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5); // 'f1', 'f2' - expression of 'void' type is illegal

  if (Condition)
    f1(1, 2, 3, 4, 5);
  else
    f2(1, 2, 3, 4, 5);
  
  (Condition ? f1 : f2)(1, 2, 3, 4, 5); // Почему так нельзя? Как сделать, чтобы можно было?
}
 
fxsaber:
Por favor, explique por qué no se puede utilizar la construcción que está en el código? ¿Y cómo cambiar (aparentemente, un nuevo tipo de punteros para MQL) para que tal construcción funcione? ¿Y causará retrasos?

Prueba esto

int b = (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5);
 

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

Bichos, errores, preguntas

A100, 2016.08.25 14:49

Error al ejecutar

En una versión más compleja reproducida como: EX5 loading failed

En la compilación 1398 sigue apareciendo el error 'EX5 loading failed' (aparentemente no relacionado con ese ejemplo)

//Script1.mq5
typedef void (*fn)();
#import "Script2.ex5"
        void g( fn );
#import "Script3.ex5"
        void h();
#import
void OnStart() { g( h ); }
//Script2.mq5
#property library
typedef void (*fn)();
void g( fn f ) export { f(); }
//Script3.mq5
#property library
void h() export {}
 
Vladimir Pastushak:
¿Utiliza usted mismo el almacenamiento?

Respondiendo en cuatro días. Pero como dicen, más vale tarde que nunca.

Rara vez, pero uso la bóveda. Sobre todo para salvar el trabajo que he hecho de la pérdida. Yo también paso de un ordenador a otro, a través del almacenamiento. Antes usaba Yandex-disk. Pero allí para transferir esto es como se deben hacer muchas manipulaciones.

En el primer ordenador, abre Yandex, selecciona el archivo y súbelo.

En el segundo ordenador, el receptor: abre Yad, elige un archivo, lo descarga, crea un nuevo código en el editor, copia el código descargado y lo compila.

Y no hay confusión adicional con las versiones alojadas por JD.

Tengo esta pregunta. El almacenamiento funciona. Si conecto diferentes ordenadores, el código se transfiere. Pero no puedo verlo desde mi cuenta. No hay botón de "Vista previa". Hay archivos en la carpeta de Proyectos.

 

Hola. Utilizo la función ChartSetInteger (MT5 1395 build) para cambiar la altura de la ventana del indicador:

 if(!ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS, 1, subWindowPixels))
    {
        Print(__FUNCTION__+", Error Code = ",GetLastError());
        return;
    } 
Después de redimensionar la ventana de esta manera, la ventana del indicador se bloquea y no puede ser redimensionada manualmente.
En el siguiente hilo https://www.mql5.com/en/forum/59754, la solución de este problema para MT4 era establecer el tamaño de la ventana del indicador a 0 píxeles, pero en MT5 este método no funciona. Por favor, indique si puede resolver este problema de alguna manera. Gracias.