Características del lenguaje mql5, sutilezas y técnicas - página 233

 
Pocas cosas.

Foro sobre negociación, sistemas automatizados de negociación y comprobación de estrategias de negociación.

Errores, fallos, preguntas

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

Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading

Errores, fallos, preguntas

fxsaber, 2023.07.19 18:55

HistoryOrderGetTicket, PositionGetTicket, OrderGetTicket - similares.

 
A veces es útil hacer un recordatorio de este tipo.
void Func()
{
  int Доделать;
}
Entonces el compilador te lo recordará.
variable 'Доделать' not used    Test5-3.mq5     516     7
code generated          1       1
0 errors, 1 warnings, 241 msec elapsed, cpu='X64 Regular'               1       2

Si hace doble clic en "Finalizar", irá directamente al lugar correcto.

 
Abrir un archivo mediante 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

Vaya, no conocía

FileSelectDialog

¿Desde cuándo es posible?

 
Aleksey Vyazmikin #:

¿Desde cuándo puede hacerlo?

Más de tres años y medio.

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

Realmente. No he encontrado ningún uso.

 
Aleksey Vyazmikin #:

Efectivamente. No le he encontrado ninguna utilidad.

Yo mismo lo he aplicado en algunos escenarios(uno de ellos). Tampoco lo he encontrado en el lateral.

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

???

¿Cómo?

 
Maxim Kuznetsov #:

???

¿Qué te parece?

Mides la duración y obtienes el resultado. Me pasó esto en TRADE_ACTION_MODIFY.