Erreurs, bugs, questions - page 2689

 
Dmitri Custurov:

Les demandes Web et les sockets sont compréhensibles, mais le wss, par exemple, je comprends qu'il ne fonctionne pas.

Il s'agit d'un protocole - il doit être écrit en MQL au-dessus de l'API de socket fournie par le terminal. Il peut être "arraché" à des implémentations publiques dans d'autres langues.

 
Lorsque l'EA envoie un ordre, y a-t-il un moyen d'attraper cet événement à partir d'un autre EA et d'obtenir les données de l'ordre ? Aucune réponse du serveur.
 
Dmitri Custurov:
Lorsque l'EA envoie un ordre, y a-t-il un moyen d'attraper cet événement à partir d'un autre EA et d'obtenir les données de l'ordre ? Aucune réponse du serveur.

Du magazine.

 
Andrey Khatimlianskii:

Du magazine.

Oui, c'est une béquille. Mais ça pourrait marcher. (gloussements) : Merci.

 

Pas bon, je reçois une erreur :

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

Faire une "béquille" pour une situation simple est nécessaire :( .

 
Aliaksandr Hryshyn:

Pas bon, je reçois une erreur :

Vous devez faire une "béquille" pour une situation simple :( .

Il est impossible que int soit une structure. Corrigez l'erreur.

 
Nikolai Semko:

Il est impossible que int soit une structure. Corrigez l'erreur.

Eh bien, oui. Il serait juste logique de permettre, par exemple, d'ajouter une fonction similaire pour les types simples.

 
Aliaksandr Hryshyn:

Eh bien, oui. Il serait juste logique de permettre, par exemple, d'ajouter une fonction similaire pour les types simples.

TypeToBytes le fait de manière uniforme.

 
Aliaksandr Hryshyn:

Eh bien, oui. Il serait juste logique de permettre, par exemple, d'ajouter une fonction similaire pour les types simples.

Je ne vois pas la logique là-dedans.
pour les types simples, tout d'abord, vous pouvez le faire comme ceci :

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

Deuxièmement, oui :

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

et il n'y a pas que des béquilles

résultat dans les deux cas :

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
 

Salut.

Quelle pourrait être l'erreur ? Je place deux copies du même indicateur sur le graphique, je change la couleur des lignes dans le premier indicateur, la couleur des lignes change également dans le second, mais je ne change rien dans le second. Il n'y a pas de variables globales.

Raison: