Caractéristiques du langage mql5, subtilités et techniques - page 233

 
Quelques éléments.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Erreurs, bugs, questions

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

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Bugs, bogues, questions

fxsaber, 2023.07.19 18:55

HistoryOrderGetTicket, PositionGetTicket, OrderGetTicket - similaires.

 
Il est parfois utile de faire un tel rappel.
void Func()
{
  int Доделать;
}
Dans ce cas, le compilateur vous le rappellera.
variable 'Доделать' not used    Test5-3.mq5     516     7
code generated          1       1
0 errors, 1 warnings, 241 msec elapsed, cpu='X64 Regular'               1       2

Un double-clic sur "Finish" vous conduira directement au bon endroit.

 
Ouverture d'un fichier via l'interface graphique.
// Диалог для открытия файла.
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 #:
Boîte de dialogue FileSelect

Wow, je ne connaissais pas

FileSelectDialog

Depuis combien de temps est-ce possible ?

 
Aleksey Vyazmikin #:

Depuis combien de temps pouvez-vous le faire ?

Plus de trois ans et demi.

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

Vraiment. Je n'ai jamais rencontré d'utilisation.

 
Aleksey Vyazmikin #:

En effet. Je n'en ai jamais vu l'utilité.

Je l'ai moi-même appliqué dans quelques scénarios(l'un d'entre eux). Je ne l'ai pas non plus rencontrée sur le côté.

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

? ??

comment ?

 
Maxim Kuznetsov #:

? ??

Comment cela se passe-t-il ?

Vous mesurez la durée et vous obtenez le résultat. C'est ce qui s'est passé avec TRADE_ACTION_MODIFY.

Raison: