Errores, fallos, preguntas - página 2444

 
Sergey Dzyublik:

Baja la agresividad.

 
fxsaber:

Por parte del promotor, lo único que se necesita es la voluntad, ya que se tarda un minuto en hacerlo.

Sólo hay que dar el hash del código nativo antes de la "ofuscación" en EX5.

Pues también cambia sin cambiar el código, si lo he entendido bien.
 
Andrey Khatimlianskii:
Bueno, también cambia sin ningún cambio de código, si lo he entendido bien.

El resultado de la compilación es siempre el mismo. No existe el azar.

Y luego este resultado es empujado a EX5, donde la protección es al azar.

 
fxsaber:

Sobre la eliminación de los espacios extra, el problema se resuelve en 4 líneas mediante el estilo SQL:

   string test = "AB C  D   E    F     G";
   Print(test);
   
   string delimeter = "{}?##%%";
   StringReplace(test, "  ", " " + delimeter);
   StringReplace(test, delimeter + " ", "");
   StringReplace(test, " " + delimeter, " ");

   Print(test);

Resultado:

2019.04.24 15:08:09.150 Test (EURUSD,H1)        AB C  D   E    F     G
2019.04.24 15:08:09.150 Test (EURUSD,H1)        AB C D E F G



Lo principal es el deseo, como se dice.

 
Sergey Dzyublik:

En cuanto a la eliminación de los espacios sobrantes, la tarea se resuelve en 4 líneas mediante el estilo SQL:

string test = "AB C  D \"   \"  E    F     G";
 
fxsaber:

El resultado de la compilación es siempre el mismo. No existe el azar.

Y luego este resultado se vierte en EX5, donde la protección es aleatoria.

¿Y una suma de comprobación que no depende de los cambios en ex5 se mete en opt?

Entonces sí, los desarrolladores podrían dar acceso a ella.

 
fxsaber:

¿Necesita resolver un problema o encontrar una razón para no resolverlo?

 
Andrey Khatimlianskii:

¿Y opt obtiene una suma de comprobación que no depende de los cambios en ex5?

No, es el ex5 el que se mete en el opt. Esta es la razón por la que la recompilación restablece la caché del probador.

 
Sergey Dzyublik:

¿Necesita resolver un problema o encontrar una razón para no resolverlo?

La tarea ha sido expresada. Necesito que el resultado de la ejecución del programa se restablezca en un archivo con un nombre diferente cuando se cambie la lógica (código nativo).

 

El programa no funciona, descubrí por experiencia que se bloquea en esta línea:

boost::asio::connect(*socket_, endpoint); (de tick_receiver.cpp )

de esta función:


_DLLAPI int __stdcall client_connect(int port){ // no hay tamaño variable aquí para este error


boost::asio::ip::tcp::resolver(io);

boost::asio::ip::tcp::resolver::results_type endpoint = resolver.resolve("127.0.0.1", std::to_string(port));

boost::asio::connect(*socket_, endpoint); // aquí cae

volver 1;

}



2019.04.24 15:17:45.306 test_tick_receiver (EURUSD,H1) Violación de acceso en 0x00007FFC1AF29200 leída a 0x00000000000000000000 en 'C:\NUsers\rukpe\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Experts\tick_receiver.dll'

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) crash --> 00007FFC1AF29200 498B4D00 mov rcx, [r13+0x0]

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29204 33C0 xor eax, eax

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29206 49837D08FF cmp qword [r13+0x8], 0xff

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920B 742D jz 0x7ffc1af2923a

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920D 33D2 xor edx, edx

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF2920F F0480FB15138 lock cmpxchg [rcx+0x38], rdx

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00007FFC1AF29215 740C jz 0x7ffc1af29223

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 00: 0x00007FFC1AF29200

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 01: 0x000001BA759C1F40

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 02: 0xFFFFFFFFFFFFFFFFFF

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 03: 0x000001BA6E450000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 04: 0x000001BA7575C5A0

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 05: 0x0000002E16AFE670

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 06: 0x00000FED243F54C5

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 07: 0x000001BA6E452000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1) 08: 0x00007FF7DAEC6000

2019.04.24 15:17:45.338 test_tick_receiver (EURUSD,H1)


Archivos adjuntos:
1.zip  54 kb