Errores, fallos, preguntas - página 2339

 
pavlick_:

La compilación falla, errores:
'a' - demasiado complejo, simplificar la macro temp.mq5 24 10
's' - miembro struct indefinido temp.mq5 24 10
...

Es decir, el preprocesador parece estar tratando de expandir recursivamente a.m

Volviendo al tema de la retroiluminación

#define a       s.a

Si .a no está resaltada - entonces el compilador no la considera una macro. Al mismo tiempo es un error. Resulta que el resaltado por sí mismo... y la compilación real por sí misma, mientras que deberían funcionar de forma sincronizada como en los siguientes ejemplos:

#define b       b.x

void OnStart()
{
        int b = 1;
#define b   b + 2
        Print( b ); //Error: 'b' - too complex, simplify the macro
}
Esto en sí mismo es erróneo (porque en C++ compila sin errores y resultado: 3), pero al menos es sincrónico (tanto el iluminador como el compilador se guían por la misma lógica)
 
fxsaber:

A mí tampoco me funciona con datos reales.

He creado un EA de prueba:

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
input int BreakTick = 5;
int OnInit()
  {
   count = 0;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
static int count = 0;
void OnTick()
  {
   if(count++>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
   
  }
//+------------------------------------------------------------------+

DebugBreak() no funciona si se pulsa el botón "Start profiling on real data" en el MetaEditor, pero funciona si se pulsa "Start/continue debugging on real data F5"

No funciona nada en el probador - no se puede detener la ejecución del programa y salir al depurador, registro:

2018.12.05 14:46:19.413 tst EURUSD,H1: count = 6 , Ask = 1.13397

2018.12.05 14:46:18.740 tst EURUSD,H1: count = 5 , Ask = 1.13396

2018.12.05 14:46:09.004 tst EURUSD,H1: count = 4 , Ask = 1.13396

2018.12.05 14:46:03.079 tst EURUSD,H1: count = 3 , Ask = 1.13395

2018.12.05 14:46:02.830 tst EURUSD,H1: count = 2 , Ask = 1.13395

2018.12.05 14:46:02.595 tst EURUSD,H1: count = 1 , Ask = 1.13394

2018.12.05 14:45:53.889 tst EURUSD,H1: inicializado

2018.12.05 14:45:53.869 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:52.131 expert tst EURUSD,H1: cargado con éxito

2018.12.05 14:45:45.899 Expert tst EURUSD,H1: eliminado

2018.12.05 14:45:45.814 tst EURUSD,H1: uninit reason 1

2018.12.05 14:45:44.510 tst EURUSD,H1: count = 14 , Ask = 1.13393

2018.12.05 14:45:44.177 tst EURUSD,H1: count = 13 , Ask = 1.13392

2018.12.05 14:45:42.966 tst EURUSD,H1: count = 12 , Ask = 1.13393

2018.12.05 14:45:42.152 tst EURUSD,H1: count = 11 , Ask = 1.13393

2018.12.05 14:45:41.996 tst EURUSD,H1: count = 10 , Ask = 1.13392

2018.12.05 14:45:39.544 tst EURUSD,H1: count = 9 , Ask = 1.13393

2018.12.05 14:45:39.345 tst EURUSD,H1: count = 8 , Ask = 1.13392

2018.12.05 14:45:35.605 tst EURUSD,H1: count = 7 , Ask = 1.13394

2018.12.05 14:45:32.049 tst EURUSD,H1: count = 6 , Ask = 1.13394

2018.12.05 14:45:29.085 tst EURUSD,H1: count = 5 , Ask = 1.13393

2018.12.05 14:45:27.735 tst EURUSD,H1: count = 4 , Ask = 1.13393

2018.12.05 14:45:27.580 tst EURUSD,H1: count = 3 , Ask = 1.13393

2018.12.05 14:45:26.212 tst EURUSD,H1: count = 2 , Ask = 1.13393

2018.12.05 14:45:25.853 tst EURUSD,H1: count = 1 , Ask = 1.13392

2018.12.05 14:45:25.684 tst EURUSD,H1: inicializado

2018.12.05 14:45:25.664 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:24.163 expert tst EURUSD,H1: cargado con éxito

Primero hubo una ejecución desde el meta-editor a través de "Run profiling on real data" - borré el experto a mano, sólo entonces entré en el editor, luego una ejecución en F5 - aquí todo funcionó, pero es confuso que Print("count = ",count," , Ask = ",Ask); que después del punto de interrupción se ejecutó
 
Igor Makanu:

creó un EA de prueba:

DebugBreak() no funciona si se pulsa el botón "Start profiling on real data" en el MetaEditor, pero funciona si se pulsa "Start/continue debugging on real data F5"

nada funciona en el probador - no se puede detener la ejecución del programa y salir al depurador, registro:

Primero se realizó una ejecución desde el meta-editor a través de "Run profiling on real data" - borró el EA a mano, sólo entonces entró en el editor, luego una ejecución en F5 - todo funcionó aquí

Gracias, sí funciona. Algo aterradoramente frecuente comenzó a publicar declaraciones erróneas...

 
fxsaber:

Gracias, realmente funciona. Algo aterradoramente común para publicar declaraciones erróneas...

Mi abuelo siempre decía: ¡sólo el que no hace nada no se equivoca!

;)

mi ejemplo debía funcionar así, o más bien debía detenerse después de 5 ticks:

void OnTick()
  {
   if(++count>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
  }

registro:

2018.12.05 15:27:06.815 tst EURUSD,H1: count = 5 , Ask = 1.13563

2018.12.05 15:27:06.488 tst EURUSD,H1: count = 4 , Ask = 1.13563

2018.12.05 15:27:05.469 tst EURUSD,H1: count = 3 , Ask = 1.13563

2018.12.05 15:27:04.795 tst EURUSD,H1: count = 2 , Ask = 1.13563

2018.12.05 15:27:04.288 tst EURUSD,H1: count = 1 , Ask = 1.13563

2018.12.05 15:27:03.057 tst EURUSD,H1: inicializado

2018.12.05 15:27:03.024 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 15:27:01.376 expert tst EURUSD,H1: cargado con éxito

 

Necesito probar si el sincronizador del entorno comercial virtual funciona correctamente con el real.

Para ello, necesito ejecutar un EA de prueba en el Visualizador y empezar a interferir con él a mano - colocando posiciones, borrando órdenes pendientes, etc.


Está claro que MT5 no es en absoluto adecuado para eso debido a varias limitaciones (sólo se pueden pulsar botones y los indicadores no pueden operar).

Estoy pidiendo un indicador (no un Asesor Experto o un EA que no sea difícil de cambiar por un indicador) para MT4 que se pueda poner en la ventana del visualizador y que sirva para "trastear" enviando órdenes de trading al Probador a mano.


Si tienes un indicador EX4 de este tipo, envíamelo por mensaje privado. En el mercado hay muchos, pero todos son asesores.

SZY Buscando así, el indicador no pudo encontrar, pero encontró una biblia. Lo resolveré, gracias.

 
fxsaber:

Necesito probar si el sincronizador del entorno comercial virtual funciona correctamente con el real.

Para ello, necesito ejecutar un EA de prueba en el Visualizador y empezar a interferir con él a mano - colocando posiciones, borrando órdenes pendientes, etc.


Está claro que MT5 no es en absoluto adecuado para eso debido a varias limitaciones (sólo se pulsan los botones y los indicadores no pueden operar).

Estoy pidiendo un indicador (no un Asesor Experto o un EA que no sea difícil de cambiar por un indicador) para MT4 que se pueda poner en la ventana del visualizador y que sirva para "trastear" enviando órdenes de trading al Probador a mano.


Si tienes un indicador EX4 de este tipo, envíamelo por mensaje privado. En el mercado hay muchos, pero todos son asesores.

SZY Buscó así, el indicador no pudo encontrar, pero encontró una biblia. Lo buscaré, gracias.

Se prohíbe el uso de funciones comerciales en los indicadores. Es decir, no pueden comerciar.

 
Andrey Barinov:

Los indicadores no pueden utilizar funciones de negociación. Es decir, no pueden comerciar.

¿Incluso en MT4?

 
fxsaber:

¿Incluso en MT4?

Desgraciadamente, en cualquier indicador está prohibido llamar a las funciones comerciales.
¿Has probado mi biblioteca, qué has encontrado?

 
Vladislav Andruschenko:
Desgraciadamente, en cualquier indicador no se permite la llamada de funciones comerciales.
¿Has probado mi biblioteca, qué has encontrado?

Todavía no lo he investigado. La variante con la librería debería funcionar - escribiré la librería en el Asesor Experto con el que me voy a meter para tener un panel para operar manualmente.


¿Es posible adjuntar (ejecutar) un script de trading infinito paralelo a un Asesor Experto de prueba en MT4 Visualizer?

 
fxsaber:

Todavía no lo he investigado. La opción de la librería debería funcionar - escribiré una librería en el EA con el que voy a trastear para tener un panel para operar manualmente.

De acuerdo. En ocasiones, actualizaré la biblia a la última versión.