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

 
Alexey Navoykov:
Por favor, corrija el código, el número 5 en lugar de DealsNum en la primera función. Y la comprobación de INT_MAX no tiene sentido

Gracias por el ajuste. Comprobación de INT_MAX - si no hay parámetros de entrada, el Asesor Experto no se ralentizará, y no se llamará al derrochador HistorySelect.

 
Las órdenes en la tabla del historial se ordenan por la hora de colocación (no por la ejecución/cancelación). Téngalo en cuenta cuando llame a HistorySelect.
 
fxsaber:
Las órdenes en la tabla del historial se ordenan por la hora de colocación (no por la ejecución/cancelación). Téngalo en cuenta cuando llame a HistorySelect.

Sería bueno añadir a esto cómo son los tratos y las posiciones, para tener una imagen completa.

 
Artyom Trishkin:

Sería bueno añadir la situación con los tratos y las posiciones para tener una imagen completa.

No hay manera de lidiar con las posiciones - no están en la Historia. Y con las ofertas de forma inequívoca - sólo hay una vez DEAL_TIME.

 
fxsaber:

No hay manera de lidiar con las posiciones - no están en la Historia. Y con las ofertas de forma inequívoca - sólo hay una vez DEAL_TIME.

Sí, pero los puestos están en la lista actual.

 
Artyom Trishkin:

Sí, pero los puestos están en la lista actual.

Por favor, aclárelo, no lo entiendo en absoluto.

 
fxsaber:

Por favor, aclárelo, no lo entiendo en absoluto.

PositionsTotal() en una cuenta de cobertura devolverá ¿qué? El número de puestos. Están en una especie de lista. ¿Y cómo se clasifican? A eso me refiero.

 
Artyom Trishkin:

¿Qué devolverá PositionsTotal() en la cuenta de cobertura? El número de puestos. Están en una especie de lista. ¿Y cómo se clasifican? A esto me refiero.

Entendido. No he aclarado este punto para mí, ya que no me he encontrado con una situación en la que pueda ser necesario.

 

En la primera pasada de una pila de trabajos del Agente (por ejemplo, en una sola ejecución del probador) el tiempo entre el inicio del EA y el primer evento NewTick puede tardar varios segundos. En las siguientes pasadas de la pila, este tiempo es cero.

La última pasada de una pila de trabajos tarda hasta un 10% más en ejecutarse que las pasadas anteriores.

 
// Перемещение папки. Описание такое же, как у FileMove - https://www.mql5.com/ru/docs/files/filemove
bool FolderMove( const string FolderNameSrc, const string FolderNameDst, const int Common_Flag = 0, const int Mode_Flags = FILE_REWRITE )
{
  if (FolderNameSrc == FolderNameDst)
    return(false);

  string FileName;
  const long handle = ::FileFindFirst(FolderNameSrc + "\\*", FileName, Common_Flag);

  bool Res = false;

  if (handle != INVALID_HANDLE)
  {
    do
    {
      const string TmpFileNameSrc = FolderNameSrc + "\\" + FileName;
      const string TmpFileNameDst = FolderNameDst + "\\" + FileName;

      if (::FileIsExist(TmpFileNameSrc, Common_Flag))
        Res = ::FileMove(TmpFileNameSrc, Common_Flag, TmpFileNameDst, Mode_Flags);
      else
      {
        const string TmpFileNameSrc2 = ::StringSubstr(TmpFileNameSrc, 0, ::StringLen(TmpFileNameSrc) - 1);
        const string TmpFileNameDst2 = ::StringSubstr(TmpFileNameDst, 0, ::StringLen(TmpFileNameDst) - 1);

        if (!FolderMove(TmpFileNameSrc2, TmpFileNameDst2, Common_Flag, Mode_Flags))
          Res = ::FolderCreate(TmpFileNameDst2, Mode_Flags & FILE_COMMON);
      }
    }
    while (::FileFindNext(handle, FileName));

    ::FileFindClose(handle);
  }

  return(::FolderDelete(FolderNameSrc, Common_Flag) && Res);
}
Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Razón de la queja: