![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
Uma transacção não tem tempo de fecho porque uma transacção é uma transacção e tem um tempo de execução HistoryDealGetInteger(ticket,DEAL_TIME).Se um comércio tiver causado o encerramento de uma posição, então esta será a hora de encerramento. Mas é estranho que a função PositionGetInteger tenha o identificador POSITION_TIME - tempo de abertura da posição, mas não tem a verificação de fecho da posição.
Olá, estou a descarregar o histórico para todos os instrumentos (mais de 600, servidor BroCo-Demo), por volta do 300º carácter que os registos do terminal escrevem:
NI 0 Scripts 12:19:11 Script Download_history (EURUSD,H1) carregado com sucessoMJ 3 MemoryException 12:24:20 31703040 bytes não disponíveis
EE 3 MemoryException 12:24:20 31703040 bytes não disponíveis
NM 3 MemoryException 12:24:21 31703040 bytes não disponíveis
HD 3 MemoryException 12:25:15 245760 bytes não disponíveis
LL 3 MemoryException 12:25:15 245760 bytes não disponíveis
PG 3 MemoryException 12:25:15 245760 bytes não disponíveis
DN 3 MemoryException 12:25:15 245760 bytes não disponíveis
Descarreguei o histórico utilizando o script descrito na secção "Organizar o acesso aos dados" (alterei-o um pouco - de outra forma funcionava apenas para moedas) anexei o código do script
Pode dizer-me se, por exemplo, temos um :
Classe cClasse()
{
Público:
cClass2 *ponteiro;
fn() { ponteiro = nova cClass2; }
~Classe()
{
apagar(ponteiro);// esta linha é necessária aqui???
}
}
OnTick()
{
{
cClass var;
} // Aqui a memória dinamicamente atribuída será livre sem apagar?
}
Isto é, quando a classe é destruída, a memória dinamicamente atribuída dentro da classe é libertada?
Pode dar-me uma dica, por exemplo, temos um :
Tenho um destruidor que é mais ou menos o mesmo esquema e funciona. A única coisa é que precisamos de verificar o descritor de invalidez (ou melhor, por falta dele) antes de aceder ao mesmo.
Há também o artigo de Roche sobre a utilização de apontadores, há muito para ver.
Tenho uma aula que funciona com uma matriz dinâmica, sem apagamento no destruidor, sem erros, mas estou hesitante.
Tenho uma classe que funciona com uma matriz dinâmica, não há atrasos no destruidor, não são gerados erros,
Assim, a memória ocupada pelo objecto não é libertada.
Quando experimentei isto, tinha mensagens no registo depois de fechar o programa sobre não libertar memória (ou algo do género).
E a Achtung padrão:
Um objecto criado com o novo operador deve ser explicitamente destruído com o operador de eliminação.
Compreendi porque estava hesitante, as matrizes não podem ser apagadas por eliminação, por isso não as apaguei. Tenho andado a brincar em C, foi por isso que todo o tipo de disparates começaram a entrar na minha cabeça.
Compreendi porque estava hesitante, as matrizes não podem ser apagadas por eliminação, por isso não as apaguei. Tenho andado a brincar em C, foi por isso que todo o tipo de disparates começaram a entrar na minha cabeça.
Erro meu :(
Obrigado.
Erro meu :(
Obrigadocf