Ошибки, баги, вопросы - страница 2689

 
fxsaber:

Не нужен. Смотрите Сервисы.

Мда, что то я их не курил до сих пор. Спасибо за идею.

 
Dmitri Custurov:

Через вэб запросы и сокеты это понятно, но wss к примеру я так понял не работает.

Это протокол - его нужно писать на MQL поверх сокет-API, предоставляемого терминалом. Можно "содрать" с публичных реализаций на других языках.

 
Когда эксперт отсылает ордер, можно ли как то отловить это событие из другого советника и получить данные ордера? Без ответа от сервера.
 
Dmitri Custurov:
Когда эксперт отсылает ордер, можно ли как то отловить это событие из другого советника и получить данные ордера? Без ответа от сервера.

Из журнала.

 
Andrey Khatimlianskii:

Из журнала.

Мда, тот еще костыль. Но вполне может быть рабочим. Спасибо.

 

Не хорошо, получаю ошибку:

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

Делать "костыль" для простой ситуации надо :( .

 
Aliaksandr Hryshyn:

Не хорошо, получаю ошибку:

Делать "костыль" для простой ситуации надо :( .

int ну никак не может быть структурой. Правильная ошибка.

 
Nikolai Semko:

int ну никак не может быть структурой. Правильная ошибка.

Ну да. Просто было бы логично сделать такую возможность, например, добавить аналогичную функцию для простых типов.

 
Aliaksandr Hryshyn:

Ну да. Просто было бы логично сделать такую возможность, например, добавить аналогичную функцию для простых типов.

TypeToBytes единообразно это делает.

 
Aliaksandr Hryshyn:

Ну да. Просто было бы логично сделать такую возможность, например, добавить аналогичную функцию для простых типов.

не вижу логичности в этом.
для простых типов, во-первых, можно сделать так:

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

во- вторых, так:

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

и это всё не костыли

результат в обоих случаях:

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
Причина обращения: