Preguntas sobre el MQL5 Wizard y la biblioteca estándar de clases comerciales - página 7

 

Sí, así que los asesores recién creados por el maestro no funcionan en absoluto?

2011.08.08 19:08:30 Core 1 conexión cerrada
2011.08.08 19:08:30 Core 1 archivo de registro "D:\Program\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20110808.log" escrito
2011.08.08 19:08:30 Core 1 tester detenido por error crítico OnInit
2011.08.08 19:08:30 Core 1 2011.0101 00:00:00 OnInit: error al inicializar los indicadores
2011.08.08 19:08:30 Core 1 2011.01 00:00:00 CExpert::InitIndicators: error al inicializar los indicadores del objeto dinero
2011.08.08 08 19:08:30 Core 1 2011.01.01 00:00:00 CExpertBase::InitIndicators: los parámetros de ajuste no se comprueban
20112011.08.08 19:08:30 Núcleo 1 2011.01.01 00:00:00 CExpertBase::SetOtherSeries: el cambio de series temporales está prohibido
2011.08.08 19:08:30 Núcleo 1 2011.01.01 00:00:00 CExpertBase::SetPriceSeries: el cambio de series temporales está prohibido
2011.08.08 19:08:302011.08.08 19:08:30 Núcleo 1 EURUSD,H4: el historial comienza desde 2010.01.04 00:00
2011.08.08 19:08:30 Núcleo 1 EURUSD,H4: caché del historial reservado para 2472 compases estimados
2011.08.08 19:08:30 Núcleo 1 EURUSD: contiene 367194 registros M1 de datos de inicio desde 2010.01.04 00:00 hasta 2010.12.31 22:59
2011.08.08 19:08:30 Núcleo 1 EURUSD: contiene 367194 registros M1 de datos de inicio desde 2010.01.04 00:00.19:08:30 Núcleo 1 EURUSD,Diario: el historial comienza desde 2010.01.04 00:00
2011.08.08 19:08:30 Núcleo 1 EURUSD,Diario: caché del historial reservado para 412 barras estimadas
2011.08.08 19:08:30 Núcleo 1 EURUSD: contiene 367194 registros M1 de datos de inicio desde 2010.01.04 00:00 hasta 2010.12.31 22:59
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_ProfitLevel=400
2011.08.08 19:08:30 Core 1 Trailing_FixedPips_StopLevel=200
2011.2011.08.08 19:08:30 Núcleo 1 Señal_2_AC_Peso=0.30
2011.08.08 19:08:30 Núcleo 1 Señal_1_AC_Peso=0.30
2011.08.082011.08.08 19:08:30 Núcleo 1 Signal_0_AC_Weight=0.30
2011.08.08 19:08:30 Núcleo 1 Signal_TakeLevel=400
2011.08.08 19:08:30 Núcleo 1 Signal_StopLevel=200
2011.2011.08.08 19:08:30 Núcleo 1 Signal_ThresholdClose=80
2011.08.08 19:08:29 Núcleo 1 Signal_ThresholdOpen=20
2011.2011.08.08 19:08:29 Core 1 Expert_Title=Master03
2011.08.08 19:08:29 Core 1 EURUSD,H1: prueba de Experts\Master03.ex5 desde 2011.01.01.01 00:00 a 2011.08.01 00:00 con entradas:
2011.08.08 19:08:29 Core 1 EURUSD,H1 (MetaQuotes-Demo): 1 min OHLC ticks generating. OnTick ejecutado en la barra de empezar sólo
2011.08.08 19:08:29 Core 1 EURUSD,H1: la historia comienza a partir de 2010.01.04 00:00
2011.08.08 19:08:29 Core 1 EURUSD,H1: caché de la historia reservada para estimar 9891 bares
2011.08.19:08:29 19:08:29 Núcleo 1 EURUSD: contiene 367194 registros M1 de datos iniciales desde 2010.01.04 00:00 hasta 2010.12.31 22:59
2011.08.08 19:08:29 Núcleo 1 EURUSD: historial sincronizado desde 1993.05.13 hasta 2011.08.05
2011.08.08 19:08:29 Núcleo 1 EURUSD: carga 27 bytes de datos del historial para sincronizar
2011.2011.08.08 19:08:29 Core 1 EURUSD: símbolo sincronizado, 3304 bytes de información del símbolo recibidos
2011.08.08 19:08:29 Core 1 Intel Core i5 M 430 @ 2.27GHz, 2996 MB
2011.08.08 19:08:29 Core 1 158 Kb de datos de inicialización totales recibidos
2011.2011.08.08 19:08:29 Núcleo 1 inicializado con éxito
2011.08.08 19:08:29 Núcleo 1 depósito inicial 10000.00 USD, apalancamiento 1:500
2011.08.08 19:08:29 Núcleo 1 archivo experto añadido: Experts\Master03.ex5. 156794 bytes cargados
2011.08.08 19:08:29 Núcleo 1 5304 bytes de parámetros de entrada cargados
2011.08.08 19:08:29 La calidad del historial analizado es del 100%
2011.08.08 19:08:28 Sincronización común del núcleo 1 completada
2011.08.08.19:08:28 19:08:28 Probador EURUSD,H1 (MetaQuotes-Demo): prueba de experts\Master03.ex5 desde 2011.01.01 00:00 hasta 2011.08.01 00:00 que se iniciará
2011.08.2011.08.08 19:08:28 Núcleo 1 autorizado (agente build 485)
2011.08.08 19:08:28 Núcleo 1 conectado
2011.08.08 19:08:28 Núcleo 1 conectándose a 127.0.0.1:3000

Archivos adjuntos:
Master03.mq5  8 kb
71pon5.PNG  22 kb
 
Erm955:

Esa es la cuestión, ¡lo he recompilado!

La culpa es mía.
Archivos adjuntos:
MoneyNone.mqh  4 kb
 
uncleVic:
Es culpa mía.

¡Bien!

 

Por el tío Vic.

Me gustaría revisar la posibilidad de habilitar la generación automática de multidivisas en el Asistente. La principal razón para no hacerlo fue la complicación del menú de Wizard. Pero la complicación viene al añadir sólo un menú - la lista de pares de divisas para la operación concurrente, si estamos de acuerdo, por supuesto, que todos los datos de entrada para estos pares serán comunes. Esto es bastante aceptable según mi experiencia con herramientas multidivisas. El mecanismo de aplicación tampoco le resultará difícil. En esencia, se trata de la reproducción mecánica de un tramo de código con pequeñas inclusiones para cada símbolo.

Es decir, el menú del asistente y la implementación no son mucho más complicados, pero obtenemos un asistente más versátil que permite implementar múltiples estrategias de forma casi inmediata y en modo multidivisa.

Adjunto mi variante de la solución. Puede ser útil.

Archivos adjuntos:
 
Erm955:

Por el tío Vic.

Me gustaría revisar la posibilidad de habilitar la generación automática de multidivisas en el Asistente. La principal razón para no hacerlo fue la complicación del menú de Wizard. Pero la complicación viene al añadir sólo un menú - la lista de pares de divisas para la operación concurrente, si estamos de acuerdo, por supuesto, que todos los datos de entrada para estos pares serán comunes. Esto es bastante aceptable según mi experiencia con herramientas multidivisas. El mecanismo de aplicación tampoco le resultará difícil. En esencia, se trata de la reproducción mecánica de un tramo de código con pequeñas inclusiones para cada símbolo.

Es decir, el menú del asistente y la implementación no son mucho más complicados, pero obtenemos un asistente más versátil que permite implementar múltiples estrategias de forma casi inmediata y en modo multidivisa.

Adjunto mi variante de la solución. Puede ser útil.

La dirección dijo que no.
 
uncleVic:
Consulta el foro en inglés aquí.

¡Hola moderador!

Gracias por el consejo. Tratando de entenderlo. Hay una pregunta aquí sobre el código del programa:

Según tengo entendido, los ajustes (es decir, los parámetros de entrada) del indicador SAR personalizado se describen aquí. Los tres primeros (de 0 a 2) son claros. ¿De dónde sale el cuarto (precio aplicado)? No está presente en el propio indicador SAR personalizado. Por favor, explique este bloque en detalle. Tal vez esta sea la parte más difícil de todo este rediseño de indicadores personalizados (tuning). Gracias de antemano.

//--- prepare indicator parameters
   MqlParam CustomSAR_prop[];
   ArrayResize(CustomSAR_prop,4);
//--- indicator file
   CustomSAR_prop[0].type=TYPE_STRING;
   CustomSAR_prop[0].string_value="Examples\\ParabolicSAR";
//--- SAR step
   CustomSAR_prop[1].type=TYPE_DOUBLE;
   CustomSAR_prop[1].double_value=m_step;
//--- SAR maximum
   CustomSAR_prop[2].type=TYPE_DOUBLE;
   CustomSAR_prop[2].double_value=m_maximum;
//--- applied price
   CustomSAR_prop[3].type=TYPE_INT;
   CustomSAR_prop[3].integer_value=PRICE_CLOSE;
//--- initialize object
   if(!m_sar.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,CustomSAR_prop))
     {
      printf(__FUNCTION__+": error initializing object");
      return(false);
     }
   m_sar.NumBuffers(1);
//--- ok
   return(true);
  }
 
ForexMoneyMaker:

¡Hola moderador!

Gracias por el consejo. Tratando de entenderlo. Hay una pregunta aquí sobre el código del programa:

Según tengo entendido, los ajustes (es decir, los parámetros de entrada) del indicador SAR personalizado se describen aquí. Los tres primeros (de 0 a 2) son claros. ¿De dónde sale el cuarto (precio aplicado)? No está presente en el propio indicador SAR personalizado. Por favor, explique este bloque en detalle. Quizás esta sea la parte más difícil de todo este rediseño (personalización) del indicador personalizado. Gracias de antemano.

Sí, probablemente no lo necesites. Yo no lo escribí.
 

Entonces, si puedo hacer una pregunta más sobre este fragmento de código:

m_sar.NumBuffers(1); - ¿para qué sirve este operador (dónde va) y por qué hay un 1 entre paréntesis?

 
ForexMoneyMaker:

Entonces, si puedo hacer una pregunta más sobre este fragmento de código:

m_sar.NumBuffers(1); - ¿para qué sirve este operador (dónde va) y por qué hay un 1 entre paréntesis?

Establece el número de buffers del indicador de usuario (porque su número no se conoce de antemano).
Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
uncleVic:
Establece el número de buffers del indicador personalizado (porque el número de buffers no se conoce de antemano).

Gracias.

He conseguido poner en práctica esta idea por completo. Y basado en un indicador personalizado de suficiente complejidad. Voy a pensar que tal vez debería intentar escribir un artículo correspondiente sobre este tema. No hay nada realmente complicado en ello. :)

Razón de la queja: