Campeonato de optimización de algoritmos. - página 75

 
¿Alguien ha probado la tarea de texto? ¿Cuáles fueron los resultados?
 
Si nadie de la administración de MetaQuotes se presenta aquí antes del 11 de julio, el campeonato no será posible, ya que el procedimiento de generación de FF para el campeonato no se llevará a cabo sin ellos.
 

Ahora veamos de qué es capaz el probador regular en el problema del texto, las condiciones de optimización son las mismas que en el código presentado - el texto no ha cambiado, es decir, 49 letras.

ZS. He encontrado, en mi opinión, un trabajo inadecuado de EA con la biblioteca en el probador, voy a informar en el hilo de error.

 

2016.06.29 02:15:16 Estadísticas optimización realizada en 1 minutos 18 segundos

2016.06.29 02:15:16 Probador optimización genética terminada en la pasada 23552

La optimización terminó con el mejor resultado 35 (el número de letras que el optimizador pudo nombrar correctamente de 49).

Como no hay opción de ajustar el número de pasadas/ejecuciones de FF en el probador estándar, tengo que ejecutar mi algoritmo con el mismo número de ejecuciones de FF si quiero comparar mi algoritmo con el estándar.

Mi resultado:

2016.06.29 02:27:30.817 Script OAC Dik (GBPUSD,H1) Tiempo: 475397 µs; 0.47539700 c

2016.06.29 02:27:30.817 Script OAC Dik (GBPUSD,H1) FF Runs: 23552

2016.06.29 02:27:30.817 Script OAC Dik (GBPUSD,H1) Max: 42.00000000

Aunque, el probador estaba optimizando en 4 núcleos y mi script en 1 núcleo, pero obtuve el resultado 100+ veces más rápido por tiempo.

Aquí está el texto del Asesor Experto para probar el optimizador interno en la tarea sobre el texto:

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
// тестовая фитнес функция чемпионата, не известна участникам
#import "FFtext.ex5"
int    GetParamCount (); 
void   GetParamProperties (double &min, double &max, double &step); 
double FF (double &array []); 
int    GetCountRunsFF (); 
void   PrintCodeToFile (double &param []); 
#import
//+------------------------------------------------------------------+

//--- input parameters
input int      Input1  = 0; 
input int      Input2  = 0; 
input int      Input3  = 0; 
input int      Input4  = 0; 
input int      Input5  = 0; 
input int      Input6  = 0; 
input int      Input7  = 0; 
input int      Input8  = 0; 
input int      Input9  = 0; 
input int      Input10 = 0; 
input int      Input11 = 0; 
input int      Input12 = 0; 
input int      Input13 = 0; 
input int      Input14 = 0; 
input int      Input15 = 0; 
input int      Input16 = 0; 
input int      Input17 = 0; 
input int      Input18 = 0; 
input int      Input19 = 0; 
input int      Input20 = 0; 
input int      Input21 = 0; 
input int      Input22 = 0; 
input int      Input23 = 0; 
input int      Input24 = 0; 
input int      Input25 = 0; 
input int      Input26 = 0; 
input int      Input27 = 0; 
input int      Input28 = 0; 
input int      Input29 = 0; 
input int      Input30 = 0; 
input int      Input31 = 0; 
input int      Input32 = 0; 
input int      Input33 = 0; 
input int      Input34 = 0; 
input int      Input35 = 0; 
input int      Input36 = 0; 
input int      Input37 = 0; 
input int      Input38 = 0; 
input int      Input39 = 0; 
input int      Input40 = 0; 
input int      Input41 = 0; 
input int      Input42 = 0; 
input int      Input43 = 0; 
input int      Input44 = 0; 
input int      Input45 = 0; 
input int      Input46 = 0; 
input int      Input47 = 0; 
input int      Input48 = 0; 
input int      Input49 = 0; 

double param []; 
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit () 
{ 
  ArrayResize (param, GetParamCount ()); 
  
  param [0] = Input1; 
  param [1] = Input2; 
  param [2] = Input3; 
  param [3] = Input4; 
  param [4] = Input5; 
  param [5] = Input6; 
  param [6] = Input7; 
  param [7] = Input8; 
  param [8] = Input9; 
  param [9] = Input10; 
  param [10] = Input11; 
  param [11] = Input12; 
  param [12] = Input13; 
  param [13] = Input14; 
  param [14] = Input15; 
  param [15] = Input16; 
  param [16] = Input17; 
  param [17] = Input18; 
  param [18] = Input19; 
  param [19] = Input20; 
  param [20] = Input21; 
  param [21] = Input22; 
  param [22] = Input23; 
  param [23] = Input24; 
  param [24] = Input25; 
  param [25] = Input26; 
  param [26] = Input27; 
  param [27] = Input28; 
  param [28] = Input29; 
  param [29] = Input30; 
  param [30] = Input31; 
  param [31] = Input32; 
  param [32] = Input33; 
  param [33] = Input34; 
  param [34] = Input35; 
  param [35] = Input36; 
  param [36] = Input37; 
  param [37] = Input38; 
  param [38] = Input39; 
  param [39] = Input40; 
  param [40] = Input41; 
  param [41] = Input42; 
  param [42] = Input43; 
  param [43] = Input44; 
  param [44] = Input45; 
  param [45] = Input46; 
  param [46] = Input47; 
  param [47] = Input48; 
  param [48] = Input49; 
  //---
  return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit (const int reason) 
{ 
  PrintCodeToFile (param); 
  //---
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick () 
{ 
  //---
}
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester () 
{ 
  double ret = FF (param); 
  
  //---
  return (ret);
}
//+------------------------------------------------------------------+

Por supuesto, y estoy seguro de ello, si ejecutas la optimización en el probador varias veces para estar seguro de los resultados, probablemente obtendrás mejores resultados. Pero sinceramente me da mucha pereza limpiar la caché cien veces y esperar tanto tiempo. Pero si alguien tiene un montón de tiempo - puede pagar un par de veces y obtener el resultado medio fiable optimizador de personal.

Para ser sincero, estoy sorprendido con los resultados del optimizador interno. Esperaba ver resultados mucho peores (sin ánimo de ofender a MQ), porque utiliza GA binario. Te recuerdo que es una tarea muy complicada, no sólo tengo que elegir la mejor opción entre innumerables opciones para un número limitado de ejecuciones, sino que FF es una superficie discreta en la que el algoritmo no puede hacer pie.

ZZZI:

"artículo reacoscientífico zhovataye zhevataye mt'yuipa" - esto fue recogido por un probador del personal

"rara vez un artículo científico combina estos dos tipos" - y este es el texto de la tarea.

ZZZI. adjunto archivo *.set de asesor con mejor resultado.

Archivos adjuntos:
 
¡Hola! ¿Hay alguien aquí...?
 
La lectura.
 

He estado de vacaciones. ¿Dónde está el post con los archivos de conexión final adjuntos y las opciones (1 y 2) y preferiblemente un argumento de por qué es necesaria la opción 2?

Ya que la desventaja de esta opción la escribí antes y no obtuve respuesta

В примере библиотеки участника по 2-му есть импорт FF и в скрипте запуска и в библиотеке участника. Но если я пришлю ex файл, какой путь импорта ff туда зашивать? Как запускать на другой FF? Не продумано.

Pensé que esta cuestión la resolverían los participantes cuando yo no estuviera (

 
Mierda, todo el mundo se está peleando y dispersando
 
Igor Volodin:

He estado de vacaciones. ¿Dónde está el post con los archivos de conexión final adjuntos y las opciones (1 y 2) y preferiblemente un argumento de por qué es necesaria la opción 2?

Ya que la desventaja de esta opción la escribí antes y no obtuve respuesta

Pensaba que el tema lo resolverían los participantes cuando yo no estuviera (

Utilizar el método de conexión por 2ª variante. Algunos participantes creen que hay mucho trabajo para rehacer sus algoritmos para la variante 1. Mientras que podemos hacer fácilmente cualquier algoritmo para la 2ª variante. Por lo tanto, esta cuestión está resuelta.
Inconveniente de la 2ª opción de forma diferente, pero en el campeonato es aceptable.
Ruta de acceso a las bibliotecas estándar "ff.ex5"
 
Igor Volodin:
Oh, hombre, todos están destrozados y dispersos.
Estoy aquí. Estoy aquí.
Estamos esperando a los representantes de MQ, sin ellos no se puede celebrar el campeonato, ya que sólo se puede confiar en ellos para generar la clave de FF.
Razón de la queja: