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

 
Кто-нибудь может поделиться удобным менеджером окон/чартов? Нужна сортировка списка по алфавиту, контекстный поиск, иерархическое отображение всех загруженных экспертов, скриптов, индикаторов; быстрое переключение.
 
Stanislav Korotky:
Существует ли способ узнать, что MQL-программа запущена в результате старта самого терминала (т.е. автоматически в начале сессии), а не интерактивно пользователем?

Можно записывать в файл reason в OnDeinit, а при старте загружать. Если загруженный reason был REASON_CLOSE, то программа загрузилась в результате запуска терминала (поскольку была завершена в результате его закрытия). Если его нет или другой, то другое...

Документация по MQL5: Обработка событий / OnDeinit
Документация по MQL5: Обработка событий / OnDeinit
  • www.mql5.com
OnDeinit - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky:

Попробуйте пропатченную версию библиотеки окон и контролов ControlsPlus из этой статьи. Там резиновость поддерживалась автоматически.

Спасибо, но это не то, совсем. Нужно подправить код, который работает на СБ

 

баг редактора при лишнем пробеле

https://photos.app.goo.gl/CK2KSZaKVRKMCz1S8

тут как этот баг изчезает

https://photos.app.goo.gl/bSPtMDL4MKSKpbFP6

копия не компилируемого,  как в примере


в мт5 та-же проблема

Файлы:
err.mq4  2 kb
err.mq5  2 kb
 
Vitaly Muzichenko:

Спасибо, но это не то, совсем. Нужно подправить код, который работает на СБ

Что значит совсем не то? Я предложил взять пропатченный вариант СБ, в котором указанная проблема решена. Ну, хозяин - барин.

 
Stanislav Korotky:
Кто-нибудь может поделиться удобным менеджером окон/чартов? Нужна сортировка списка по алфавиту, контекстный поиск, иерархическое отображение всех загруженных экспертов, скриптов, индикаторов; быстрое переключение.

Возможно, частично поможет F2 в Терминале свежего билда.

 
Stanislav Korotky:

Что значит совсем не то? Я предложил взять пропатченный вариант СБ, в котором указанная проблема решена. Ну, хозяин - барин.

Его нужно везде за собой таскать, а СБ всегда на месте. Вот это и есть ключевое "не то".

Нужен вариант правки с СБ.

 
Andrey Sokolov:

баг редактора при лишнем пробеле

***

тут как этот баг изчезает

***

копия не компилируемого,  как в примере


в мт5 та-же проблема

Картинки вставляются при помощи кнопки  Image или прикрепляются при помощи кнопки  Attach file ru.

 

Несмотря на то, что написано в документации, GlobalVariableCheck () не изменяет время доступа.

Возвращаемое значение

Возвращает время последнего доступа к указанной глобальной переменной. Обращение к переменной за значением, например, с помощью функций GlobalVariableGet() и GlobalVariableCheck(), также изменяет время последнего доступа. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Исправьте либо документацию, либо поведение функции.

Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
  • www.mql5.com
GlobalVariableGet - Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Ошибка с производной структурой, при которой не добавляются новые данные при сохранении / загрузке из файла.

struct Base
  {
   int               anInt;
   double            aDouble;
                     Base(void)
     {
      anInt   = WRONG_VALUE;
      aDouble = WRONG_VALUE;
     }
  };
struct DerivedNoNew : public Base
  {
   void              Set(int iValue,double dValue)
     {
      anInt   = iValue;
      aDouble = dValue;
     }
  };

const string filename = "TestStructToFile";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Base base[1];
   DerivedNoNew derived[1];
   int sizeof1   = sizeof(Base);
   int sizeof3   = sizeof(DerivedNoNew);

   int handle=FileOpen(filename,FILE_BIN|FILE_WRITE);
   if(handle!=INVALID_HANDLE)
     {
      derived[0].Set(5,12.0);

      uint written1 = FileWriteStruct(handle,base[0],sizeof1);
      uint written3 = FileWriteStruct(handle,derived[0],sizeof3);   // NOT saved
      int err       = _LastError;
      FileClose(handle);
     }

   handle=FileOpen(filename,FILE_BIN|FILE_READ);
   if(handle!=INVALID_HANDLE)
     {
      uint read3  = FileReadStruct(handle,derived[0],sizeof3);      // NOT loaded
      uint read1  = FileReadStruct(handle,base[0],sizeof1);
      FileClose(handle);
     }
  }
2021.02.22 12:52:11.188   FileAndStructIssue (EURUSD,D1)   Written 1: 12 2: 20 3: 0 (error 4003) Total: 32 FileSize: 32
2021.02.22 12:52:11.193   FileAndStructIssue (EURUSD,D1)    Read 1: 12 2: 20 3: 0 (error 4003) Total: 32

Файлы:
Причина обращения: