Особенности языка mql5, тонкости и приёмы работы - страница 233

 
Мало ли.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2023.07.19 19:10

ulong HistoryDealGetTicket( int ) { return(0); } // Перегрузка в каком-нибудь далеком mqh.

void OnStart()
{      
  if (HistorySelect(0, INT_MAX))
  {
    for (uint i = HistoryDealsTotal(); (bool)i--; ) // Хорошо - потенциальная перегрузка не сломает результат.
      Print(HistoryDealGetTicket(i));
      
    for (int i = HistoryDealsTotal() - 1; i >= 0; i--) // Классика - плохо из-за потенциальной перегрузки.
      Print(HistoryDealGetTicket(i));
  }
}
 
Иногда полезно сделать такую напоминалку.
void Func()
{
  int Доделать;
}
Тогда компилятор напомнит.
variable 'Доделать' not used    Test5-3.mq5     516     7
code generated          1       1
0 errors, 1 warnings, 241 msec elapsed, cpu='X64 Regular'               1       2

Двойной щелчок на "Доделать" сразу переведет на нужное место.

 
Открытие файла через GUI.
// Диалог для открытия файла.
bool GUIOpenFile( const string FileName, const bool Common = false, const ushort Separator = '/' )
{
  const bool Res = FileIsExist(FileName, Common);
  
  if (Res)
  {
    string Str[];  
    const int Size = StringSplit(FileName, Separator, Str) - 1;
    const string File = Str[Size];
    const string Path = Size ? StringSubstr(FileName, 0, StringLen(FileName) - StringLen(File) - 1) : NULL;
    
    FileSelectDialog("Right-click on the file " + File + " and select open.", Path,  
                     File + "|" + File, Common ? FSD_COMMON_FOLDER : 0, Str, File);    
  }

  return(Res);
}

void OnStart()
{
  GUIOpenFile("Reports//Report.htm");
}
 
fxsaber #:
FileSelectDialog

Ого, не знал об 

FileSelectDialog

Давно так можно?

 
Aleksey Vyazmikin #:

Давно так можно?

Больше 3.5 лет.

MetaTrader 5 build 2340: Управление настройками счета в тестере и расширение интеграции с Python
MetaTrader 5 build 2340: Управление настройками счета в тестере и расширение интеграции с Python
  • 2020.02.21
  • MetaQuotes
  • www.metatrader5.com
Добавлена возможность удобной работы с SQLite базами данных. В предыдущем обновлении платформы мы добавили поддержку работы с базами данных SQLite прямо из MQL5. Теперь основные функции стали доступны и через пользовательский интерфейс MetaEditor: Как это работает Для быстрого создания баз данных воспользуйтесь "Мастером MQL5". Здесь вы можете...
 

Действительно. Не встречал использования.

 
Aleksey Vyazmikin #:

Действительно. Не встречал использования.

Сам применяю в нескольких сценариях (один из них). На стороне тоже не встречал.

Библиотеки: Sequence - Пример советника, который убьет большинство VPS-катастрофы
Библиотеки: Sequence - Пример советника, который убьет большинство VPS-катастрофы
  • 2020.10.12
  • www.mql5.com
Больше 4 Gb памяти потребовал Терминал для запуска этих шести советников. что запускаете Терминал с висящими советниками в нем. На запуске советников удалось уменьшить потребление памяти Терминалом более. но сумел удержать Терминал от огромного потребления ОЗУ
 
OrderSendAsync может выполняться дольше пяти секунд.
 
fxsaber #:
OrderSendAsync может выполняться дольше пяти секунд.

???

это как ?

 
Maxim Kuznetsov #:

???

это как ?

Замеряете длительность и получаете результат. У меня случилось на TRADE_ACTION_MODIFY.

Причина обращения: