Fehler, Irrtümer, Fragen - Seite 2689

 
fxsaber:

Nicht erforderlich. Siehe Dienstleistungen.

Ja, ich habe sie bis jetzt noch nicht geraucht. Danke für diese Idee.

 
Dmitri Custurov:

Webanfragen und Sockets sind verständlich, aber wss, zum Beispiel, ich verstehe es funktioniert nicht.

Dies ist ein Protokoll - es muss in MQL auf der vom Terminal bereitgestellten Socket-API geschrieben werden. Sie kann von öffentlichen Implementierungen in anderen Sprachen "abgekupfert" werden.

 
Wenn EA eine Bestellung sendet, gibt es eine Möglichkeit, dieses Ereignis von einem anderen EA abzufangen und die Bestelldaten zu erhalten? Keine Antwort vom Server.
 
Dmitri Custurov:
Wenn EA eine Bestellung sendet, gibt es eine Möglichkeit, dieses Ereignis von einem anderen EA abzufangen und die Bestelldaten zu erhalten? Keine Antwort vom Server.

Aus der Zeitschrift.

 
Andrey Khatimlianskii:

Aus der Zeitschrift.

Ja, das ist eine Krücke. Aber es könnte funktionieren. (Vielen Dank.

 

Nicht gut, ich erhalte eine Fehlermeldung:

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

Es ist notwendig, eine "Krücke" für eine einfache Situation zu machen :( .

 
Aliaksandr Hryshyn:

Nicht gut, ich erhalte eine Fehlermeldung:

Man muss eine "Krücke" für eine einfache Situation machen :( .

Es ist unmöglich, dass int eine Struktur ist. Fehler korrigieren.

 
Nikolai Semko:

Es ist unmöglich, dass int eine Struktur ist. Fehler korrigieren.

Ja, es wäre nur logisch, eine ähnliche Funktion auch für einfache Typen zu ermöglichen.

 
Aliaksandr Hryshyn:

Ja, es wäre nur logisch, eine ähnliche Funktion auch für einfache Typen zu ermöglichen.

TypeToBytes tut dies einheitlich.

 
Aliaksandr Hryshyn:

Ja, es wäre nur logisch, eine ähnliche Funktion auch für einfache Typen zu ermöglichen.

Ich verstehe die Logik nicht, die darin steckt.
für einfache Typen, können Sie erstens so vorgehen:

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

Zweitens, ja:

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

und es sind nicht nur Krücken

Ergebnis in beiden Fällen:

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