Errores, fallos, preguntas - página 2153

 
Hay una entrada en el Diario del Optimizador en ruso
2018.03.03 15:48:04.722 Tester  Вы можете ускорить оптимизацию в сотни раз с помощью MQL5 Cloud Network
 
Andrii Djola:

¿Cómo puedo saber a qué hora cierran las operaciones de los símbolos de Forex?

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

Características del lenguaje mql5, consejos y trucos

fxsaber, 2017.02.25 16:39

ENUM_DAY_OF_WEEK GetDayOfWeek( const datetime time )
{
  MqlDateTime sTime = {0};

  ::TimeToStruct(time, sTime);

  return((ENUM_DAY_OF_WEEK)sTime.day_of_week);
}

// true - находимся в торговой сессии
bool SessionTrade( const string Symb )
{
  datetime TimeNow = ::TimeTradeServer();

  const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow);

  TimeNow %= 24 * 60 * 60;

  bool Res = false;
  datetime From, To;

  for (int i = 0; (!Res) && ::SymbolInfoSessionTrade(Symb, DayOfWeek, i, From, To); i++)
    Res = ((From <= TimeNow) && (TimeNow < To));

  return(Res);
}

// Возвращает true, если символ торгуемый. Иначе - false.
bool SymbolTrade( const string Symb )
{
  MqlTick Tick;

  return(::SymbolInfoTick(Symb, Tick) ? ((Tick.bid != 0) && (Tick.ask != 0) && SessionTrade(Symb) /* &&
         ((ENUM_SYMBOL_TRADE_MODE)::SymbolInfoInteger(Symb, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL) */
) : false);
}

Utilizando

if (OrderCheck(Request, CheckResult) && SymbolTrade(Request.symbol))
  OrderSend(Request, Result);
 
fxsaber:

Un error muy desagradable con los personajes personalizados. El historial de tildes de los personajes personalizados puede desaparecer por completo.

Hubo varias docenas de horas de Optimize en los ticks reales del personaje personalizado. Nadie se acercó al ordenador y no hizo nada.

Después de 15 horas de optimización vino a ver los resultados. No es posible utilizar la opción de menú "Ejecutar una sola prueba" en cualquier ejecución - el probador comienza y termina inmediatamente.

El registro es

2018.03.03 15:48:04.696 Tester  file cache used 3010 times
2018.03.03 15:48:04.698 Tester  optimization finished, total passes 352000
2018.03.03 15:48:04.708 Statistics      optimization done in 41 hours 32 minutes 37 seconds
2018.03.03 15:48:04.708 Statistics      local 348990 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2018.03.03 15:48:04.708 Core 1  connection closed
2018.03.03 15:48:04.709 Core 2  connection closed
2018.03.03 15:48:04.710 Core 3  connection closed
2018.03.03 15:48:04.710 Core 4  connection closed
2018.03.03 15:48:04.711 Core 5  connection closed
2018.03.03 15:48:04.711 Core 6  connection closed
2018.03.03 15:48:04.712 Core 7  connection closed
2018.03.03 15:48:04.714 Core 8  connection closed
2018.03.03 15:48:04.716 Tester  348990 records written to file cache C:\Program Files\Alpari Limited MT5\tester\cache\Test.TESTER_EURUSD.M1.4.xml
2018.03.03 15:48:04.722 Tester  Вы можете ускорить оптимизацию в сотни раз с помощью MQL5 Cloud Network
2018.03.04 08:26:30.933 Tester  single pass 297022 started
2018.03.04 08:26:31.000 Tester  TESTER_EURUSD: history data begins from 2018.02.06 00:00
2018.03.04 08:27:36.409 Tester  single pass 297022 started
2018.03.04 08:27:36.491 Tester  TESTER_EURUSD: history data begins from 2018.02.06 00:00
2018.03.04 14:05:10.940 Tester  single pass 297022 started
2018.03.04 14:05:11.007 Tester  TESTER_EURUSD: history data begins from 2018.02.06 00:00

Se ha comprobado que se han borrado los ticks de todos los personajes personalizados.

 
Tras la optimización, este archivo de texto
2018.03.03 15:48:04.716 Tester  348990 records written to file cache C:\Program Files\Alpari Limited MT5\tester\cache\Test.TESTER_EURUSD.M1.4.xml
ocupa 1GB. 7z lo comprime por un factor de 100. ¿Por qué una forma tan ineficiente de almacenar la caché?
 

Si utiliza la exportación XML

350.000 pases se escriben en un archivo XML de 320 MB. Esto abre automáticamente el archivo XML por alguna razón. Tengo el Bloc de notas intentando hacer esto, que se cuelga al leer tales monstruos. Por favor, advierta de antemano cuál será el tamaño aproximado del archivo al seleccionar el menú XML y cuáles pueden ser las consecuencias al abrirlo posteriormente.

 

Error durante la compilación

todavía no se puede seleccionar ningún fragmento de código

 
fxsaber:

Si utiliza la exportación XML

350.000 pases se escriben en un archivo XML de 320 MB. Esto abre automáticamente el archivo XML por alguna razón. Tengo el Bloc de notas intentando hacer esto, que se cuelga al leer tales monstruos. Por favor, al seleccionar el menú XML, diga de antemano cuál será el tamaño aproximado del archivo y cuáles serán las consecuencias al abrirlo posteriormente.

Estoy de acuerdo, pero no es necesario avisar, es necesario desactivar la apertura del archivo, y el usuario decidirá cómo abrirlo

 

Error durante la compilación

template<typename T>
class A { T t; };
void OnStart() { A<void *> a; } //Error: '<' - cannot to apply function template

Por lo demás:

template<typename T>
class A { T t; };
void OnStart() { A<void *> a; }
class B {};

Está bien. ¿Qué diferencia hay?

 

Error de compilación

template<typename T>
struct A { T    *t; };
struct B { void *b; };
void OnStart()
{
        A<void> a; //Error: 'void' - expression of 'void' type is illegal
        B       b; //номально
} 
 
fxsaber:

Durante varias docenas de horas hubo una optimización en los ticks reales del personaje personalizado. Nadie se acercó al ordenador y no hizo nada.

Después de 15 horas de optimización vine a ver los resultados. No es posible utilizar la opción de menú "Ejecutar una sola prueba" en cualquier pase - el probador se inicia y termina inmediatamente.

El registro es

Se ha comprobado que se han eliminado los ticks de todos los símbolos personalizados.

Reproducible. Necesidad de ejecutar el Probador/Optimizador. Espere unas horas después de que termine. Tengo exactamente 10 horas más tarde todas las garrapatas de caracteres personalizados se eliminan.

Razón de la queja: