Errores, fallos, preguntas - página 2689

 
fxsaber:

No es necesario. Ver servicios.

Sí, no los he fumado hasta ahora. Gracias por la idea.

 
Dmitri Custurov:

Las peticiones web y los sockets son comprensibles, pero el wss, por ejemplo, entiendo que no funciona.

Esto es un protocolo - tiene que ser escrito en MQL sobre la API de socket proporcionada por el terminal. Se puede "arrancar" de implementaciones públicas en otros idiomas.

 
Cuando el EA envía una orden, ¿hay alguna forma de captar este evento desde otro EA y obtener los datos de la orden? No hay respuesta del servidor.
 
Dmitri Custurov:
Cuando el EA envía una orden, ¿hay alguna forma de captar este evento desde otro EA y obtener los datos de la orden? No hay respuesta del servidor.

De la revista.

 
Andrey Khatimlianskii:

De la revista.

Sí, es una muleta. Pero podría funcionar. (Gracias.

 

No es bueno, me da un error:

void OnStart()
  {
   int my_num=4444;
   uchar uchar_array[];
   StructToCharArray(my_num,uchar_array,0);
  }
code generation error           1       1

Hacer una "muleta" para una situación simple es necesario :( .

 
Aliaksandr Hryshyn:

No es bueno, me da un error:

Hay que hacer una "muleta" para una situación simple :( .

No hay forma de que int sea una estructura. Corrija el error.

 
Nikolai Semko:

No hay manera de que int sea una estructura. Corrija el error.

Pues sí, lo lógico sería que, por ejemplo, se pudiera añadir una función similar para los tipos simples.

 
Aliaksandr Hryshyn:

Pues sí, lo lógico sería que, por ejemplo, se pudiera añadir una función similar para los tipos simples.

TypeToBytes lo hace de manera uniforme.

 
Aliaksandr Hryshyn:

Pues sí, lo lógico sería que, por ejemplo, se pudiera añadir una función similar para los tipos simples.

No veo la lógica en eso.
para los tipos simples, en primer lugar, puedes hacerlo así:

void OnStart()
  {
   struct Int {
   int i;};
   Int my_num={4444};
   uchar uchar_array[];
   StructToCharArray(my_num,uchar_array,0);
   for (int i=0;i<ArraySize(uchar_array);i++) printf("char[%d] = %d",i,uchar_array[i]);
  }

En segundo lugar, sí:

void OnStart()
  {
   union _int {
   int i;
   uchar c[sizeof(int)]; };
   _int _i;
   _i.i=4444;
   for (int i=0;i<sizeof(_int);i++) printf("char[%d] = %d",i,_i.c[i]);
  }

y no todo son muletas

resultado en ambos casos:

2020.03.31 12:58:11.353 Test_StructToCharArray (EURUSD,M10)     char[0] = 92 
2020.03.31 12:58:11.353 Test_StructToCharArray (EURUSD,M10)     char[1] = 17 
2020.03.31 12:58:11.353 Test_StructToCharArray (EURUSD,M10)     char[2] = 0
2020.03.31 12:58:11.353 Test_StructToCharArray (EURUSD,M10)     char[3] = 0
17*256+92=4444