![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
Não se trata da minha implementação. Você pode medi-lo à moda antiga.
No entanto, gostaria de ouvir uma opinião fundamentada em apoio ao trabalho com indicações. Tudo o que tem sido expresso até agora é: "alegadamente mais rápido", "alegadamente faz os programadores observarem a memória e não alocarem espaço desnecessário" e "você é um tolo" - é claro.
A esquerda-direita também está confusa ou não?
É apenas uma confusão ultrajante na cabeça. Os ponteiros são mais lentos, não mais rápidos. Sobre a necessidade de estar atento à memória, a conversa foi no contexto das diferenças de estilo de programação em linguagens com e sem Garbage Collector.
Vasya, você não se lembra que posição tomou na discussão depois de 2-3 postos já, está indo por este e por aquele caminho.
Um exemplo de um problema potencial seria bom.
Mais um ponto. É melhor criar matrizes de objetos por meio de um ponteiro. Caso contrário, você obterá uma matriz na memória de empilhamento que é muito baixa:
Eu tinha um exemplo de exaustão da memória da pilha somente em caso de classificação recursiva com grande quantidade de dados.
O programa acabou de ser suspenso.
Além disso, você pode usar a declaração global e, neste caso, não se trata de memória de empilhamento.
Você não concorda?
Não é um problema, muito menos um problema potencial. São apenas as peculiaridades do manejo da memória na MT. Aqui está uma matriz estática:
E aqui está uma matriz dinâmica:
Neste caso, tudo se compila e funciona.
Concordo, mas nunca tive tais volumes em minha prática.
Como regra, eu preciso de um cálculo rápido de um indicador "cauda", por exemplo, sem chamar a função de indicador (biblioteca) em si,
, portanto, eu apliquei um cálculo mais rápido baseado em fórmulas de valores indicadores. Neste caso, o consumo de memória em geral é muito baixo.
Em geral, recomendo esta abordagem a todos os desenvolvedores no futuro para economizar memória e tempo de cálculo das funções de ponto flutuante.
Se possível, muitos dados devem ser convertidos em formato inteiro - isso realmente acelera o processo.
P.S.: É claro que o acima mencionado é um caso de economia, por exemplo, de algumas centenas de milissegundos.
Estou fazendo uma aula como esta.
Agora eu quero chamar uma matriz de objetos:
Como então criar rapidamente um conjunto de objetos se o construtor tem parâmetros a nível global?
Por exemplo? criar objetos primeiro mudando o construtor e depois como substituir os objetos no OnInit por símbolos?
Pode haver uma solução mais fácil?
Na declaração da classe Strategy2, o nome do construtor da classe em si carece de "2", caso contrário, não é um construtor.