Errori, bug, domande - pagina 2689

 
fxsaber:

Non necessario. Vedere Servizi.

Sì, non li ho fumati fino ad ora. Grazie per l'idea.

 
Dmitri Custurov:

Le richieste web e i socket sono comprensibili, ma wss, per esempio, capisco che non funziona.

Questo è un protocollo - deve essere scritto in MQL sopra l'API socket fornita dal terminale. Può essere "strappato" da implementazioni pubbliche in altre lingue.

 
Quando l'EA invia un ordine, c'è un modo per catturare questo evento da un altro EA e ottenere i dati dell'ordine? Nessuna risposta dal server.
 
Dmitri Custurov:
Quando l'EA invia un ordine, c'è un modo per catturare questo evento da un altro EA e ottenere i dati dell'ordine? Nessuna risposta dal server.

Dalla rivista.

 
Andrey Khatimlianskii:

Dalla rivista.

Sì, è una stampella. Ma potrebbe funzionare. (Grazie.

 

Non va bene, ottengo un errore:

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

Fare una "stampella" per una situazione semplice è necessario :( .

 
Aliaksandr Hryshyn:

Non va bene, ottengo un errore:

Bisogna fare una "stampella" per una situazione semplice :( .

Non è possibile che l'int sia una struttura. Correggere l'errore.

 
Nikolai Semko:

Non è possibile che l'int sia una struttura. Correggere l'errore.

Beh, sì. Sarebbe solo logico rendere possibile, per esempio, aggiungere una funzione simile per i tipi semplici.

 
Aliaksandr Hryshyn:

Beh, sì. Sarebbe solo logico rendere possibile, per esempio, aggiungere una funzione simile per i tipi semplici.

TypeToBytes lo fa in modo uniforme.

 
Aliaksandr Hryshyn:

Beh, sì. Sarebbe solo logico rendere possibile, per esempio, aggiungere una funzione simile per i tipi semplici.

Non vedo la logica in questo.
per i tipi semplici, in primo luogo, si può fare così:

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]);
  }

in secondo luogo, 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]);
  }

e non sono tutte stampelle

risultato in entrambi i casi:

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