Erros, bugs, perguntas - página 2489

 
Slava:

Oh, a propósito, OnCalculate tem o parâmetro rate_total

No OnCalculate, o parâmetro rates_total também mostra mais do que o que está configurado no terminal.

 
Alexey Viktorov:

No OnCalculate, o parâmetro rates_total também mostra mais do que o que está definido no terminal.

rates_total mostra sempre o número de barras disponíveis no gráfico actual.

Não compreendo o significado da sua declaração.

 

De momento não tenho um terminal de cliente à mão para citar a ajuda. A partir de um dispositivo móvel em dois cliqueshttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars

Parágrafo especialmente destacado

Para indicadores de cálculo mais económicos podem ter mais barras disponíveis do que as especificadas no parâmetro "Max barras na janela". À medida que novas barras chegam, as barras mais antigas não são imediatamente removidas do cache de dados. Isto permite que o indicador não seja recalculado completamente em cada nova barra, mas apenas para calcular adicionalmente os seus valores para novas barras.

Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
Slava:

rates_total mostra sempre o número de barras disponíveis no gráfico actual.

Não compreendo o significado da sua declaração

Desculpe, a resposta está em imagens.

Mas no depurador mostra

E tem de percorrer 1268 barras para verificar o valor do indicador. Só depois disso se pode verificar quais os valores altos e/ou baixos, bem como a barra de abertura/fecho, que são utilizados nos cálculos dos indicadores.

É apenas muito desconfortável. Mas habituamo-nos rapidamente e ajustamo-nos a tudo o que não é bom.

 

Erros de compilação esperados

class A { public:
        void operator[]( int = 1 ) {} //нормально ???
};
void OnStart()
{
        A a;
        a[]; //нормально ???
}
 
Alexey Viktorov:

Desculpe, a resposta está em imagens.

Mas o depurador mostra

E para verificar o valor do indicador, temos de percorrer 1268 barras. Só depois disso se pode verificar quais os valores altos e/ou baixos, bem como a barra de abertura/fecho, que são utilizados nos cálculos dos indicadores.

É apenas muito inconveniente. Mas habituamo-nos rapidamente e ajustamo-nos a tudo o que não é bom.

Já leu atentamente a minha citação no post abaixo?

Este comportamento tem estado sempre presente desde a introdução da definição do " número máximo de barras no gráfico", ou seja, desde o início do MT4. E já explicámos muitas vezes ao longo destes 15 anos porque não cortamos sempre o número de barras de acordo com este cenário. E agora não cortamos sempre.

Ninguém lê a documentação. Mas há um paradoxo. Eles ainda nos pedem para escrever algo mais na documentação, que não lêem.

 
Slava:

1. Onde é que a documentação precisa de ser actualizada?

2. o identificador da barra de um dígito foi sempre o tempo da barra, não o número da barra.

3. se o seu gráfico fosse chamado por alguém para ChartSetSymbolPeriod, apanharia facilmente uma mudança no número de barras. Surpreender?

4. A propósito, há taxas de parâmetros_total no OnCalculate.

1. exactamente onde assinalou no posto seguinte. Basta acrescentar que haverá um RESET, e este reset será exactamente através das barras máximas na janela + 1439.

2. ok, eu terei isso em conta. Embora se dê conta de que não pode haver duas barras debaixo do mesmo tempo, certo?

3. não é uma surpresa. Estou a falar especificamente do facto de que se não se alterar nem o prazo nem o símbolo, poderá haver um reset de 6439 para 5000.

4. Se lerem cuidadosamente o meu post acima, terão notado isso:

Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais

Insectos, insectos, perguntas

Alexey Kozitsyn, 2019.06.28 10:40

Caros programadores. Se lhe quiser perguntar, o reparticionamento automático dos amortecedores indicadores é normal? Por re-particionamento quero dizer o seguinte: barras máximas na janela, por exemplo 5000. Tamanho do amortecedor + taxas_total são redefinidos para 5000 quando atingem 6439. O mesmo acontece quando o máximo de barras na janela = 10000. A reinicialização ocorre em 11439.

Devido a isso, os indicadores podem falhar e mostrar dados incorrectos.

Construir 2085. Tenho notado este comportamento desde cerca de 2000.

Apontei também para tarifas_total. O problema é que as taxas_total e os amortecedores não são redefinidos para 0 (não seria então um problema, basta recalcular todo o indicador e já está). E toma o valor das barras máximas na janela. É exactamente sobre isso que deve simplesmente escrever.

Para facilitar a vossa tarefa, gostaria de ver um tal registo:

Para um cálculo mais económico, os indicadores podem ter mais barras disponíveis do que as especificadas no parâmetro "Max barras na janela". À medida que novas barras chegam, as barras mais antigas não são imediatamente removidas do cache de dados. Isto não permite que o indicador seja recalculado completamente em cada nova barra, mas apenas para adicionar os seus valores às novas barras. As barras antigas são eliminadas assim que o valor das barras Max na janela de +1439 barras é atingido.

Sim, a propósito, por favor esclareça, o valor 1439 está guardado também para outras TFs? Ou apenas para M1?

 
Slava:

Já leu atentamente a minha citação no post abaixo?

Este comportamento tem estado sempre presente desde a introdução da definição do " número máximo de barras por gráfico", ou seja, desde o início do MT4. E já explicámos muitas vezes ao longo destes 15 anos porque não reduzimos sempre o número de barras de acordo com este cenário. E agora não fazemos cortes todas as vezes.

Ninguém lê a documentação. Mas há um paradoxo. Ainda assim pedem-nos para escrever algo mais na documentação, que não lêem

Aqui fala-se de "paradoxos" com a leitura de documentação. E reparei mais de uma vez que tem paradoxos com postos de leitura. É frequente não os ler até ao fim. Todos nós temos as nossas falhas. Só que é melhor concentrarmo-nos não nas deficiências de outras pessoas, mas nas deficiências do produto que desenvolvemos e utilizamos.

Obrigado.

 
Alexey Kozitsyn:

Apontei também para tarifas_total. O problema é que as taxas_total e os amortecedores não são redefinidos para 0 quando as taxas_total e os amortecedores são re-particionados.

a referência não é correcta, é enganadora, escrevihttps://www.mql5.com/ru/forum/304239/page57#comment_11519307

Na MQL5 os amortecedores em geral funcionam como matrizes habituais, no MT4 o terminal tratava de amortecedores de alguma forma - redefinia-os para EMPTY_VALUE, depois ... Não me lembro onde escrevi sobre a diferença entre os indicadores MT5 e MT4

É necessário desobstruir os amortecedores - desobstruí-los como uma matriz habitual, o terminal apenas define o tamanho do próprio amortecedor de arrays.

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов
  • 2019.04.30
  • www.mql5.com
21 февраля 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Igor Makanu:

A referência não é correcta, é enganadora

É este o ponto, é melhor alterar a documentação uma vez para corrigir, completar e actualizar, do que explicar a mesma coisa durante 15 anos a diferentes pessoas que não encontraram nada na documentação.