Erros, bugs, perguntas - página 154

 

Por alguma razão, não consigo obter dados do indicador utilizando a biblioteca padrão. Aqui está o guião:

//---------------------------------------------------------------------
#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 ));
    }
  }
}
//---------------------------------------------------------------------

Aqui está o resultado do seu funcionamento:

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

Aparentemente, VAZIO_VALOR é produzido em vez de valores.

O que é que eu faço mal?

 
Dima_S:


O que é que estou a fazer mal?


Tente adicionar

price_source.Refresh(-1);


Antes de solicitar dados.

 

Obrigado, isso é útil. Seria bom reflectir isto na ajuda.

CIndicator void ::Refresh(int flags)

Então compreendo que as bandeiras são uma máscara binária de prazos que são refrescados? Se -1, então todas as TFs estão refrescadas?
 
Dima_S:
Presumo que as bandeiras são uma máscara binária de prazos que são refrescados? Se -1, então todas as TFs estão refrescadas?

Exactamente. Pode usar constantes de visibilidade de objectos.

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

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

Não consigo compreendê-lo, devo tê-lo perdido. Isto:

class dfgdfg
{                                
   void sgsfd();
};

compila normalmente. É suposto ser assim?

Assim, compreendo que o optimizador corta o método como não utilizado antes da compilação e como resultado a mensagem de erro 111 não é gerada.

+Além disso, os métodos não utilizados com erros de implementação são compilados sem mensagens.

 

O meu problema é de interesse para alguém?

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

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

Há também um problema.

As arrays são inicializadas apenas quando o indicador começa

Isto está correlacionado com algum tipo de erro no ziguezague padrão:


 
MT 5 não funciona através de procurações (http,meias 4,5) Build 328. Contudo, o MT 4 funciona bem através destes procuradores.
 
AlexSTAL:

O meu problema é de interesse para alguém?

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

Sim, as suas mensagens já foram vistas.

A tentar fazê-lo novamente.

 
AlexSTAL:

Há também um problema.

As arrays são inicializadas apenas quando o indicador começa

Isto está correlacionado com algum tipo de erro no ziguezague padrão:


Quando se obtém uma excepção Memory não vale a pena continuar a executar o terminal. O mais sensato é reiniciar o terminal e descobrir porque é que ele levou tanta memória e tentar reduzir o apetite.