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

 
0 errors, 0 warnings, 66366 msec elapsed
4 files total, 0 errors, 0 warnings

Просьба по CTRL+F7 выводить общее время компиляции - см. нижнюю строку.

 


Каким способом можно распечатать исходный текст MQL5 с нумерациями строк, а также распечатать отмеченный отрывок текста, тоже с номерами строк ?​

Это очень полезно и значительно ускоряет процесс разработки, когда исходный текст большой (более 2000 строк), а под рукой есть  отдельные участки исходного кода, как видно на МЕ.

Скриншот не в счет :)

 

Есть потребность преобразовать string в CharArray.

Не получается.(

#property strict
//+------------------------------------------------------------------+
void OnStart()
{
string var="Content-Type: multipart/form-data; boundary=524640ADF21333C4\r\n\r\n"+
"--524640ADF21333C4\r\nContent-Disposition: form-data; name=\"chat_id\"\r\n\r\n"+
"-1001395771446\r\n--524640ADF21333C4\r\n"+
"Content-Disposition: form-data; name=\"parse_mode\"\r\n\r\nHTML\r\n"+
"--524640ADF21333C4\r\nContent-Disposition: form-data; name=\"caption\"\r\n"+
"Content-Type: text/plain; charset=utf-8\r\n\r\n\r\n"+
"✅✅👉 1️⃣*️⃣1️⃣0️⃣3️⃣7️⃣4️⃣ BUY signal at Ask=1️⃣0️⃣0️⃣6️⃣9️⃣0️⃣3️⃣, Bid=1.06\r\n"+
"Date=2022.05.25 23:24\r\nSymbol=EURUSD\r\n--524640ADF21333C4\r\n"+
"Content-Disposition: form-data; name=\"photo\"; filename=\"lampash.png\"\r\n\r\n";
int len_var=StringLen(var);
uchar Array1[];
ResetLastError();
int arraySize=StringToCharArray(var,Array1,0,len_var,CP_UTF8);
Print ("String len: ",len_var," =>ArraySize=",arraySize);
if (arraySize<len_var) 
 {
 Print ("Error string to array! Error Code=",GetLastError());
 Print ("String:\"",var,"\"");
 }
}

Массив получается нулевoй длины:

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) String len: 550 =>ArraySize=0

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Error string to array! Error Code=0

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) String:"Content-Type: multipart/form-data; boundary=524640ADF21333C4

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) --524640ADF21333C4

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Content-Disposition: form-data; name="chat_id"

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) -1001395771446

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) --524640ADF21333C4

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Content-Disposition: form-data; name="parse_mode"

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) HTML

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) --524640ADF21333C4

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Content-Disposition: form-data; name="caption"

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Content-Type: text/plain; charset=utf-8

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) ✅✅👉 1️⃣*️⃣1️⃣0️⃣3️⃣7️⃣4️⃣ BUY signal at Ask=1️⃣0️⃣0️⃣6️⃣9️⃣0️⃣3️⃣, Bid=1.06

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Date=2022.05.25 23:24

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Symbol=EURUSD

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) --524640ADF21333C4

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) Content-Disposition: form-data; name="photo"; filename="lampash.png"

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15)

2022.05.26 03:45:55.108 BUG (AUDCHF.ifx,M15) "



 

Тестер

Склейка S&P500

Windows 8.1 build 9600, 4 x Intel Core i7-4500U  @ 1.80GHz, 9 / 15 Gb memory, 20 / 208 Gb disk, UAC, GMT+3
Terminal    MetaTrader 5 x64 build 3300 started for MetaQuotes Software Corp.

 

MT5 Версия 3211 x 64. AMD. Windows 10.

Пока в непонятной мне ситуации пропадает событие OnBookEvent.
То есть стакан ходит а события не идут.

Как это локализовать я пока не знаю. 

Исправление ситуации полная перезагрузка советника. 
Исправление параметров хоть и возвращает Book event = true.
Но событие не исправляет. 

 
Aleksandr Dziuba #:

MT5 Версия 3211 x 64. AMD. Windows 10.

Пока в непонятной мне ситуации пропадает событие OnBookEvent.
То есть стакан ходит а события не идут.

Как это локализовать я пока не знаю. 

Исправление ситуации полная перезагрузка советника. 
Исправление параметров хоть и возвращает Book event = true.
Но событие не исправляет. 

Два года назад был подобный баг, приходилось делать проверку по таймеру и, если что, переподписываться, но его тогда исправили.

 
Предопределенные макроподстановки __RANDOM__  и  __COUNTER__  в документации есть, а из функционала MT5 (build 3310) выпилены и недоступны к использованию.
Моя ошибка, работал с более старой версией ME, все работает.

 
ruslan #:
а у вас в конфиге сколько выставлено "отображать баров" и "хранить в истории баров" ?
Да, всё было выставлено. Недавно проблема решилась сама собой. Спасибо!)
 
Sergey Dzyublik #:
Предопределенные макроподстановки __RANDOM__  и  __COUNTER__  в документации есть, а из функционала MT5 (build 3310) выпилены и недоступны к использованию.
https://www.mql5.com/ru/docs/constants/namedconstants/compilemacros
https://www.mql5.com/ru/forum/365601

Ошибка в документации или MT5?

Нужен код для воспроизведения

template<typename T>
class A
  {
public:
   A() { Print(__FUNCSIG__," ",__COUNTER__," ",__RANDOM__); }  
   ~A() { Print(__FUNCSIG__," ",__COUNTER__," ",__RANDOM__); }
  };

A<int> a;
A<double> a2;

void OnStart(void)
  {
   Print(__FUNCSIG__," ",__COUNTER__," ",__RANDOM__);
   
   A<float> a3;
   A<datetime> a4;
  }
 
Ilyas #:

Нужен код для воспроизведения

Извините, все работает, это моя вина.
Было открыто три МТ и ME терминала разных версий.
Оказалось что работал с более старой версией ME, хотя справка по F1 подтянулась c описанием новых переменных __COUNTER__ и __RANDOM__.
Это моя ошибка.