Errores, fallos, preguntas - página 677

 
He olvidado algo. ¿Quién puede decirme cómo utilizar #import correctamente para una biblioteca que está en un subdirectorio de la carpeta principal?
 
danielalmaty:

Hola, ¿podría darme una pista?


La diferencia es que en la versión original, el objeto se describe como:

CiADX *m_ADX;

es decir, el objeto es dinámico. Y en el tuyo:

CiADX m_ADX;

En este caso, el método debería ser así:

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }
 
Interesting:
He olvidado algo. ¿Quién puede decirme cómo utilizar #import correctamente para la biblioteca que se encuentra en el subdirectorio de la carpeta principal?

En MT4, funciona así: #importar "TrendLine\\MemoryDLL.dll"
 

https://www.mql5.com/ru/forum/23/page15

MetaTester: Cambiado el funcionamiento del método de prueba "por precios abiertos". Como antes, el OnTick del Asesor Experto se activa sólo en la apertura de la barra, pero en lugar de los ticks M1 OHLC, reproduce los estados alto, bajo y cierre de la barra que se está probando. Por ello, los stops y las órdenes pendientes pueden activarse a un precio diferente al especificado. Esto nos ha permitido lograr una aceleración múltiple de las pruebas.

¿Podemos mantener el modo antiguo junto con el nuevo? Todos podrán elegir un compromiso entre velocidad y calidad.
 
papaklass:

En cuanto a la calidad, ¿no le convendría el modo "todas las marcas"?

En algunos casos, no. Realmente no me gusta la modalidad en la que las operaciones pueden no ejecutarse al precio establecido (y este fenómeno se considerará la norma).

Por lo tanto, apoyaré personalmente la petición de Konstantin.

 
papaklass:

¿Qué quiere decir con "no al precio anunciado"? Aclarar.

Lee el texto con más atención.

MetaTester: Cambiado el funcionamiento del método de prueba "por precio de apertura". Como antes, el OnTick del Asesor Experto se lanza sólo en la apertura de la barra, pero en lugar de los ticks M1 OHLC se reproducen los estados alto, bajo y cierre de la barra que se está probando. Por ello, los stops y las órdenes pendientes pueden activarse a un precio diferente al especificado. Esto nos ha permitido lograr una aceleración múltiple de las pruebas.

Como soy adicto a trabajar con órdenes pendientes, este punto es muy importante para mí, y no quiero que las órdenes pendientes se activen"no al precio indicado".

Con este enfoque, este tipo de pruebas no me interesan en absoluto.

Por eso supongo que la variante que prevé dos tipos de pruebas "por precios de apertura" (en barras de minutos y en la barra que se prueba) sería una solución bastante aceptable.

 
papaklass:

Sí, a mí tampoco me gusta ese punto. En la siguiente barra puede comprobar si la orden pendiente está en el rango alto - bajo de la barra anterior. Si lo hizo, entonces funcionó con los precios establecidos.

La pregunta no es sobre la comprobación, se puede hacer si se desea. La pregunta es ¿por qué? De hecho, tal implementación no sería aceptable para mí personalmente en el modo "precios abiertos", y por lo tanto, al utilizar el modo "todos los ticks", obtendré tremendas ralentizaciones. O no sé cuál será el resultado en una carrera "rápida".
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Hay un ejemplo de MovingAverages que funciona de la misma manera (en la actual build 607) tanto en modo M1 OHLC como en modo Open Prices. ¿Por qué? Porque funciona estrictamente al principio de una barra - hay una comprobación especial.

Establezca la misma condición en su EA y utilice M1 OHLC. Y tendrás suerte.

 
stringo:

Hay un ejemplo de MovingAverages que funciona de la misma manera (en la actual build 607) tanto en modo M1 OHLC como en modo Open Prices. ¿Por qué? Porque funciona estrictamente al principio de una barra - hay una comprobación especial.

Si establece la misma condición en su EA y utiliza M1 OHLC. Y serás feliz.


1. Bueno, sí, puede estar comerciando como debe ser. Pero está integrado en su estrategia. No lo tengo como parte de mi estrategia, uso órdenes pendientes.

Y no está claro con respecto a los stops -¿desde cuándo deberían (pueden) funcionar a precios que no se muestran?

Así que no estaré contento, al menos no a menos que cambie a "Todas las garrapatas".

Y si compruebo si hay una nueva barra y comercio sólo en su apertura, será una estrategia diferente.

¿Lo necesito?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Interesting:

Bueno, sí, podría estar comerciando correctamente. Pero lo tiene en su estrategia. Y no lo tengo en mi estrategia, opero con órdenes pendientes.

Y no entiendo los stops, ¿desde cuándo deberían (pueden) funcionar a precios que no están fijados?

Así que no estaré contento, al menos no a menos que cambie a "Todas las garrapatas".

Y si compruebo si hay una nueva barra y comercio sólo en su apertura, entonces será una estrategia completamente diferente.

¿Lo necesito?

No, según entendí, te ofrecieron una forma de "cómo operar a precios de apertura en el probador, pero teniendo en cuenta los ticks". Puedes reproducir los resultados de su trabajo completando un poco tu código y ejecutándolo en modo M1 OHLC (ya sabes, como introducir una opción/interruptor en tu EA para probarlo)... E incluso ejecutarlo en modo "todos los ticks".