Erros, bugs, perguntas - página 2490
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
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 desses 15 anos porque não reduzimos sempre o número de barras de acordo com essa configuração. 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, não tenho queixas. Li atentamente e não apenas a sua citação e esta
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Insectos, insectos, perguntas
Slava, 2019.06.29 18:25
rates_total mostra sempre o número de barras disponíveis no gráfico actual.
Não compreendo o significado da sua declaração
e isto
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Insectos, insectos, perguntas
Slava, 2019.06.29 18:42
Não tenho o terminal do cliente em mãos neste momento para citar a ajuda. A partir de dispositivo móvel em dois cliqueshttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars
Parágrafo especialmente destacado.
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 permite que o indicador não seja recalculado completamente em cada nova barra, mas apenas para calcular adicionalmente os seus valores para novas barras.
É claro que não compreendo algo, é por isso que pergunto novamente e tento compreender. Acho que não haverá quaisquer alterações. Por favor, não tome as minhas declarações como uma queixa.
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 - 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.
Igor, pode explicar em russo simples: se cada buraco do tampão indicador será preenchido com alguns valores, que irão substituir o lixo aí contido, qual é a finalidade de forçar esses buracos antes de os preencher com os valores certos? Por perda de velocidade de execução?
Igor, pode explicar em russo simples: se cada buraco do tampão indicador será preenchido com alguns valores que substituirão o lixo aí contido, qual é o objectivo de limpar à força esses buracos antes de os preencher com os valores necessários? Por perda de velocidade de execução?
o preenchimento de "buracos" é crítico apenas num indicador com "setas", em MT4 durante a inicialização do indicador estes "buracos" serão preenchidos automaticamente pelo valor EMPTY_VALUE
em MT5 deve ser feito pelo programador
ou em MT5 o programador deve preencher os buffers indicadores através do if() construir mais
ou seja, isto funcionará em MT4:
if(...) Buf[i] = high[i];
em MT5 tem de escrever:
ou em MT5 é necessário limpar os amortecedores indicadores, caso contrário o indicador irá retirar "lixo" da matriz, que está ligada pelo amortecedor indicador ...., quando se muda a TF. é uma questão de gosto como escrever e o que ter em conta
SZY: velocidade? Bem, mede a velocidade, em 99% dos casos as funções integradas são mais rápidas, mas não há diferença no desempenho entre o preenchimento de cada barra no laço EMPTY_VALUE e uma inicialização com ArrayInitialize(Buf,EMPTY_VALUE)
o preenchimento de "buracos" é crítico apenas num indicador com "setas", em MT4 durante a inicialização do indicador estes "buracos" serão preenchidos automaticamente pelo valor EMPTY_VALUE
em MT5 deve ser feito pelo programador
ou em MT5 o programador deve preencher os buffers indicadores através do if() construir mais
ou seja, isto funcionará em MT4:
em MT5 deve necessariamente escrever:
ou em MT5 é necessário limpar os amortecedores indicadores, caso contrário o indicador irá retirar "lixo" da matriz, que está ligada pelo amortecedor indicador ...., quando se muda a TF. é uma questão de gosto como escrever e o que ter em conta
Bem, medir a velocidade, em 99% dos casos as funções incorporadas funcionam mais rapidamente, mas não há diferença no desempenho entre preencher cada barra no laço EMPTY_VALUE e inicializá-lo uma vez com ArrayInitialize(Buf,EMPTY_VALUE).
Tudo isto é apenas um incómodo. É assim que era, é assim que eu quero, é difícil mudar os meus hábitos e outras razões.
A construção pode ser facilmente substituída por
Buf[i] = условие ? high[i] : EMPTY_VALUE;
É tudo uma chatice. Foi assim que foi, é assim que eu quero, é difícil mudar os meus hábitos e outras razões.
A construção é facilmente substituída por
Se estou a ser exigente, as dicas para aumentar o desempenho em C++ ou C# recomendam não usar "operador condicional? : " Penso ter lido uma vez um artigo sobre Habra (não o testei, escrevo o mais conveniente possível)
;)
Se estou a ser exigente, o conselho sobre como melhorar o desempenho em C++ ou C# é não usar "operador condicional? : " Penso ter lido uma vez um artigo sobre Habra (ainda não o testei, eu próprio escrevo o mais convenientemente possível)
;)
Bem, o compilador aqui não é um idiota, e optimiza melhor do que os "gurus" no hubr
Em tais ocasiões, repito sempre: "O sol nasce de manhã e põe-se à noite..." - Vê alguma lógica aqui? - Sim, é lógico, mas será que há informação na minha frase? - Não está lá.
não o vou testar ? : , máquina de compilação.... Hubr, bom...
Não o vou testar ? :
Testado MT5:
2019.06.30 13:37:04.230 tst (EURUSD,H1) Testar se() ciclos=999999999999999999 tempo=10859 ms
2019.06.30 13:37:15.116 tst (EURUSD,H1) Teste ? ciclos=99999999999999 tempo=10891 ms
2019.06.30 13:38:05.348 tst (EURUSD,H1) Testar se() ciclos=999999999999999999 tempo=10843 ms
2019.06.30 13:38:16.190 tst (EURUSD,H1) Teste ? ciclos=99999999999999 tempo=10844 ms
2019.06.30 13:38:32.111 tst (EURUSD,H1) Testar se() ciclos=999999999999999999 tempo=10860 ms
2019.06.30 13:38:42.955 tst (EURUSD,H1) Teste ? ciclos=99999999999999 tempo=10843 ms
2019.06.30 13:46:09.087 tst EURUSD,H1: Testes ? ciclos=99999999999999 tempo=33234 ms
2019.06.30 13:45:35.854 tst EURUSD,H1: Testando se() ciclos=999999999999999999 tempo=32953 ms
2019.06.30 13:44:43.421 tst EURUSD,H1: Testes ? ciclos=99999999999999 tempo=333298 ms
2019.06.30 13:44:10.094 tst EURUSD,H1: Testando se() ciclos=999999999999999999 tempo=33016 ms
2019.06.30 13:42:56.925 tst EURUSD,H1: Testes ? ciclos=99999999999999 tempo=33344 ms
2019.06.30 13:42:23.584 tst EURUSD,H1: Testando se() ciclos=999999999999999999 tempo=32953 ms
Há muito tempo que reparo que o destaque de nomes de macro definidos pelo utilizador num grande projecto nem sempre funciona. Muitas macros definidas noutros ficheiros não são destacadas por alguma razão. Ainda não consigo encontrar um padrão. Tudo o que vejo é que todas as macros definidas num determinado ficheiro deixam de ser destacadas noutros ficheiros após uma determinada linha. Mais alguém vê isto a acontecer a si próprio?
Notei que se escrever como parâmetro de qualquer função, não se acende. Penso que não é um tipo de correspondência completa. Ou como lhe chamar mais precisamente, não sei.