Errores, fallos, preguntas - página 154

 

Por alguna razón no puedo obtener datos del indicador utilizando la biblioteca estándar. Este es el guión:

//---------------------------------------------------------------------
#include  <Indicators\Trend.mqh>
//---------------------------------------------------------------------
CiSAR  price_source;
//---------------------------------------------------------------------
void
OnStart( )
{
  if( price_source.Create( Symbol( ), PERIOD_CURRENT, 0.01, 0.2 ) == true )
  {
    for( int i = 0; i < 10; i++ )
    {
      Print( "Price[ ", i, " ] = ", price_source.Main( i ));
    }
  }
}
//---------------------------------------------------------------------

He aquí el resultado de su funcionamiento:

2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 9 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 8 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 7 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 6 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 5 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 4 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 3 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 2 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 1 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Precio[ 0 ] = 1.797693134862316e+308

Aparentemente se emite EMPTY_VALUE en lugar de valores.

¿Qué hago mal?

 
Dima_S:


¿Qué estoy haciendo mal?


Prueba a añadir

price_source.Refresh(-1);


Antes de solicitar los datos.

 

Gracias, eso es útil. Sería bueno reflejar esto en la ayuda.

void CIndicator::Refresh(int flags)

¿Entiendo entonces que las banderas son una máscara binaria de plazos que se refrescan? Si es -1, ¿se actualizan todos los TFs?
 
Dima_S:
¿Supongo que las banderas son una máscara binaria de marcos temporales que se actualizan? Si es -1, ¿se actualizan todos los TFs?

Exactamente. Puede utilizar las constantes de visibilidad de los objetos.

https://www.mql5.com/ru/docs/constants/objectconstants/visible

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов - Документация по MQL5
 

No puedo entenderlo, debo haberme perdido. Esto:

class dfgdfg
{                                
   void sgsfd();
};

compila normalmente. ¿Se supone que debe ser así?

Así que entiendo que el optimizador corta el método como no utilizado antes de la compilación y como resultado no se genera el mensaje de error 111.

+Además, los métodos no utilizados con errores de implementación se compilan sin mensajes.

 

¿Le interesa a alguien mi problema?

https://www.mql5.com/ru/forum/2172/page1

Не обновляются некоторые графики
Не обновляются некоторые графики
  • www.mql5.com
Непосредственно в индикаторе выбирается необходимый инструмент и период графика.
 

También hay un problema.

Las matrices sólo se inicializan cuando se inicia el indicador

Esto se correlaciona con algún tipo de error en el zigzag estándar:


 
MT 5 no funciona a través de proxies (http,socks 4,5) Build 328. Sin embargo, MT 4 funciona bien a través de estos proxies.
 
AlexSTAL:

¿Le interesa a alguien mi problema?

https://www.mql5.com/ru/forum/2172/page1

Sí, sus mensajes han sido vistos.

Tratando de hacerlo de nuevo.

 
AlexSTAL:

También hay un problema.

Las matrices se inicializan sólo cuando se inicia el indicador

Esto se correlaciona con algún tipo de error en el zigzag estándar:


Cuando se obtiene una excepción de memoria no tiene sentido seguir ejecutando el terminal. Lo más sensato es reiniciar el terminal y averiguar por qué ocupaba tanta memoria e intentar reducir el apetito.