Olá pessoal! :D
Tudo bem?
Estou tendo uma questão pra resolver com relação ao uso de ponteiros.
Criei este EA em anexo e não estou conseguindo liberar o uso da memoria RAM pelos ponteiros presentes nele. Já utilizei delete nos ponteiros e vetores e mesmo assim a RAM continua alocada só aumentando o uso conforme o passar do backtest do EA. Já li toda a documentação de ponteiros pra ver o que eu estaria errando e não encontrei a solução ainda.
Alguém pode me dar uma luz do que estou errando e/ou o que posso melhorar pra conseguir liberar a memória acumulada pelos ponteiros do EA?
Desde já, muito obrigado pela atenção e ajuda de vcs! :D
Sugestão, crie uma versão do seu código sinteticamente - talvez com um loop ou algo parecido, para provar o seu caso, e demonstrar realmente que existe um problema no sistema de ponteiros do MQL5.
Ninguém aqui vai ler 1500 linhas de código e tentar resolver o teu problema...
;)
Sugestão, crie uma versão do seu código sinteticamente - talvez com um loop ou algo parecido, para provar o seu caso, e demonstrar realmente que existe um problema no sistema de ponteiros do MQL5.
Ninguém aqui vai ler 1500 linhas de código e tentar resolver o teu problema...
;)
Muito obrigado Flávio! :D
Consegui resolver.
Os problemas eram os seguintes:
-Removi o new na declaração global dos ponteiros CArrayObj, pois descobri que isto não é válido quando se deseja liberar a memória RAM várias vezes ao longo do funcionamento do EA, pois globalmente ele é criado de forma estática erradamente, por falta de conhecimento meu, e assim o que era armazenado nele não era possível desalocar da memória RAM.
-Removi os delete internos dos ponteiros globais que eu estava utilizando desesperadamente pra tentar liberar a memória.
-E por fim, encontrei mais um acumulador de memória que encontrei nas funções que atualizam o profit dos arrays buy e sell, substituí o ponteiro global por um local que eu pudesse deletar o mesmo quando ele não precisasse ser adicionado ao vetor (nas situações que precisava apenas atualizar o profit já presente no vetor), assim, eu consegui liberar esta memoria que antes não podia pelo fato de estar utilizando um ponteiro global neste local.
Em anexo o código com as correções realizadas.
Muito obrigado!
Sucesso e bons trades a todos! :D

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Olá pessoal! :D
Tudo bem?
Estou tendo uma questão pra resolver com relação ao uso de ponteiros.
Criei este EA em anexo e não estou conseguindo liberar o uso da memoria RAM pelos ponteiros presentes nele. Já utilizei delete nos ponteiros e vetores e mesmo assim a RAM continua alocada só aumentando o uso conforme o passar do backtest do EA. Já li toda a documentação de ponteiros pra ver o que eu estaria errando e não encontrei a solução ainda.
Alguém pode me dar uma luz do que estou errando e/ou o que posso melhorar pra conseguir liberar a memória acumulada pelos ponteiros do EA?
Desde já, muito obrigado pela atenção e ajuda de vcs! :D