Erros, bugs, perguntas - página 1397

 
Ilya Malev:

E, em segundo lugar, precisamos de utilizar este valor tampão de indicador noutros indicadores e Consultores Especialistas,

e algo me diz que se fizer um tampão para cálculos, será impossível obter o seu valor através do iCustom.

A propósito, não me lembro exactamente, mas parece ser possível. Experimente. )
 
Anatoli Kazharski:
A propósito, não me lembro exactamente, mas penso que se pode. Experimente. )
Mesmo assim, tenho uma dúzia de indicadores com atributos como DRAW_NONE a chamarem uns aos outros, e depois já preciso de alguns agrupamentos separados de subsistemas num só lugar a partir de todos os indicadores de trabalho por posição do ponteiro do rato. :)
 
Ilya Malev:
Mesmo assim, tenho uma dúzia de indicadores com atributos como DRAW_NONE chamando uns aos outros, e depois já preciso de algum subsistema separado que agrupa num só lugar leituras de todos os indicadores de trabalho pela posição do ponteiro do rato. :)
Este argumento é mais sério. Poderíamos adicioná-lo ao balcão de serviço. ))
 
Se puder obter valores como INDICADOR_CALCULATIONS através do iCustom, então sim, tudo o que precisa de fazer é permitir que estes valores apareçam na janela de dados. Se receber uma resposta ao meu pedido do servicedesk, sugiro esta opção.
 
A100:
Erro de compilação:'a' - não é membro estático
mas está OK. Qual é a diferença?

//должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A { void a() {} };
// так работает, видно проблема с компилятором
class A     {int h; void f(); };
class B : A {void a(); };
void B::a() {}
 

Não sei quanto a si, mas já vejo vários erros de compilação.

1) não faz distinção entre funções e variáveis ao herdar.

2) a variável da classe base é privada, por isso primeiro a mensagem de que é impossível aceder aos membros privados deve ser divulgada

 
sigma7i:

Não sei quanto a si, mas já vejo vários erros de compilação.

1) não faz distinção entre funções e variáveis ao herdar.

2) a variável da classe base é privada, por isso primeiro a mensagem de que é impossível aceder aos membros privados deve ser divulgada

Por favor, cite alguns exemplos. Seria interessante ver que casos particulares causam tais problemas em termos de formatação de código.
 
Anatoli Kazharski:
Dê-me alguns exemplos. É interessante ver em que casos tais problemas em termos de concepção de códigos.

Penso já ter dado exemplos. Mas vou torná-lo mais detalhado para o tornar ainda mais claro:

Note-se que no terceiro exemplo da classe A substituí o nome da variável por "h" e este código compila (claro que se comentar 1 e 2 exemplos), o que confirma o meu palpite.

//+------------------------------------------------------------------+
//|                                                           ds.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+



//должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A {void a() {} };
// так работает, видно проблема с компилятором
class A     {int h; void f(); };
class B : A {void a(); };
void B::a() {}


void OnStart()
  {
    // c объектами работает правильно
  
    B variable;
    variable.a();   // ошибка доступа, здесь все нормально
    variable.a = 1; // ошибка доступа, как и следовало ожидать, здесь все нормально
  }
//+------------------------------------------------------------------+
 

Situação: o teste está em H1 (penso que é importante - estamos a falar de um teste de vários períodos). A última barra diária (D1) na série de testeInfoInteger dá por exemplo 2015.10.08. Tomo o indicador iMA em D1 com um offset de 2. Dá o valor para 2015.10.05 (que deve ser 2015.10.06 com uma compensação de 2).

Significa que o indicador se atrasa no testador em comparação com a criação de séries temporais. Acontece claramente no início de uma nova barra D1. Alguém já experimentou uma situação destas? Ainda não irei simular o exemplo.

[Excluído]  
Ilya Malev:

Situação: O teste é em H1. A última barra diária (D1) na série de testeInfoInteger dá por exemplo 2015.10.08. Faço leituras do indicador iMA com um offset de 2. Dá o valor para 2015.10.05 (que deve ser 2015.10.06 com uma compensação de 2).

Ou seja, o indicador desfasa-se no testador em comparação com a construção das séries temporais. Alguém teve isto acontecido? Ainda não vou simular um exemplo.

Sim, isso pode acontecer quando se trabalha com a TF, tanto quanto me lembro, apenas mais velho do que o actual no testador. Os dados não tiveram tempo suficiente para serem actualizados. Ou seja, quando é um novo dia em H1, o dia anterior é o primeiro dia deste novo dia em D1.