Erros, bugs, perguntas - página 2504
![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
Pessoas, partilhem alguma informação. Para que é que está a usar o alinhamento?
esta é uma programação orientada para o Raccoon!
Infelizmente, não se pode passar sem ele ;)
esta é uma programação orientada para o Raccoon!
Infelizmente, não se pode passar sem ele ;)
Estou ciente disso. Não lhe peço que me ensine sobre o OOP. Perguntei quem usa o alinhamento para que fins.
Pessoal, podem partilhar alguma informação? Para que é que está a usar o alinhamento?
Tudo isto vem muito a calhar num ambiente multi-tarefas, eu vejo-o dessa forma. O que é que a MKL tem a ver com isto? Não sei, a pergunta foi feita, por isso fiquei preso.
E em geral - estas são as bases, um entendimento básico é necessário para qualquer programador decente.
ZS: Bem, há aqui muitos fanáticos da velocidade, se eles começarem a alinhar tudo inteligentemente, devem voar ainda mais rápido, pelo menos em teoria.Pessoas, partilhem alguma informação. Para que é que está a usar o alinhamento?
Vict:
ZS: bem, há aqui muitos fãs da velocidade, se eles começarem a acertar, deve ir ainda mais rápido, pelo menos em teoria.
Em geral, eu nem sequer esperava isso:
O código é um pouco complicado demais - tentei acertar naquele elemento que não cabe na linha de cache e bater directamente nele, mas falhou (provavelmente poderia ser feito se quisesse, mas aborreci-me), e não mudei muito o código. Mas isto é ainda mais impressionante - apenas um dos 16 colapsos é feito sobre um elemento que não cai na linha de cache, no entanto, dá um resultado sensato.
SZY: mais objectivamente, neste caso, fazer RIGHT_ALIGNED inserindo dois curtos, em vez de remover o único (por isso, vamos conseguir duas actualizações da linha de cache para ambos os casos). A velocidade será mais modesta, mas ainda assim cerca de 1,5 vezes mais.
A propósito, em mql o valor por defeito do pacote é 1, mais ou menos.
A julgar pelo post anterior, talvez faça sentido prescrever 8 explicitamente a todas as estruturas e classes.
Não consigo ultrapassar o erro.
Tirei o ziguezague da entrega do Metatrader para demonstrar o erro. Adicionei buffers adicionais ao código, retirados do meu programa. Nenhuma manipulação com amortecedores adicionais está prevista neste código. São apenas para demonstrar o erro.
Plotou este ziguezague sobre o calendário EURUSD H1. Fechou o terminal. Eliminadas da história todas as séries cronológicas geradas para o EURUSD. Isto é, eliminou todos os ficheiros *.hcc e *.hc do par de moedas EURUSD. Tem sido feito para assegurar o carregamento de ficheiros .hcc e a geração de ficheiros .hc a partir de uma folha limpa.
Depois de o terminal ter sido iniciado, verá muitos artefactos no gráfico EURUSD. Estes artefactos não podem ser tratados.
Estou a anexar o código modificado do ziguezague sob a forma de texto e sob a forma de ficheiro.
Quero advertir-vos que os parâmetros do ziguezague são especificados através de #propert.
Todos os outros amortecedores não são definidos via #propert, porque tudo, incluindo os amortecedores em ziguezague, são mudados de forma dinâmica.
Por favor, ajude os criadores de terminais a corrigir este erro.
Fotografia com artefactos:
Não consigo ultrapassar o erro.
Tirei o ziguezague da entrega do Metatrader para demonstrar o erro. Adicionei buffers adicionais ao código, retirados do meu programa. Não estão previstas neste código manipulações com amortecedores adicionais. São apenas para demonstrar o erro.
Plotou este ziguezague sobre o calendário EURUSD H1. Fechou o terminal. Eliminadas da história todas as séries cronológicas geradas para o EURUSD. Isto é, eliminou todos os ficheiros *.hcc e *.hc do par de moedas EURUSD. Tem sido feito para assegurar o carregamento de ficheiros .hcc e a geração de ficheiros .hc a partir de uma folha limpa.
Depois de o terminal ter sido iniciado, verá muitos artefactos no gráfico EURUSD. Estes artefactos não podem ser tratados.
Estou a anexar o código modificado do ziguezague sob a forma de texto e sob a forma de ficheiro.
Quero advertir-vos que os parâmetros do ziguezague são especificados através de #propert.
Todos os outros amortecedores não são definidos através de #propert, porque tudo, incluindo os amortecedores em ziguezague, são mudados de forma dinâmica.
Por favor, ajude os criadores de terminais a corrigir este erro.
Fotografia com artefactos:
Todos os amortecedores precisam de ser inicializados.
Se não houver valor no tampão na barra, este deve ser escrito explicitamente no tampão. Por outras palavras, se o valor calculado tiver de ser produzido para o buffer, escreva-o para o buffer, caso contrário escreva um valor vazio.
Em geral, eu nem sequer estava à espera disto:
As corridas por conta própria não mostraram qualquer diferença perceptível.
Se em vez de
Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos
Insectos, insectos, perguntas
Vitória, 2019.07.09 07:17
Data data[32768];
fazer
Há um abrandamento de 6x!
Todos os amortecedores precisam de ser inicializados.
Se não houver nenhum valor no tampão na barra, este deve ser explicitamente escrito no tampão. Isto é, se o valor calculado deve ser produzido em buffer - escrevemo-lo em buffer, caso contrário - escrevemos valor vazio.
Desculpe, perdi a inicialização. Tenho-o no meu programa mas perdi-o no exemplo.
Em anexo encontra-se um ficheiro com a inicialização. O efeito é o mesmo.
A questão para os criadores permanece. Por favor, corrija este erro.
-------------
Na minha opinião, acontece o seguinte. Ao lançar o programa juntamente com o terminal, o tamanho da série temporal ou é igual a zero ou tem um valor mínimo.
O programa é inicializado na peça de história existente. Mas quando o tamanho das séries temporais é aumentado, fragmentos de memória que não passaram pela inicialização estão a ser utilizados para matrizes tampão. Como resultado, temos este efeito.
Tentei lidar com este efeito utilizando eventos do terminal. Mesmo assim, os artefactos aparecem durante uma fracção de segundo. E isto não é bom. Tal programa não deve ser lançado.
Aqui está como consertá-lo. Após a alocação de memória para buffers, deve limpar imediatamente esta memória. Mas como o podemos fazer? Ainda não encontrei tal característica do lado do desenvolvedor da aplicação terminal.