Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 280
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
*O retorno também não está sendo destruído. Estou apenas confuso com o escapamento do terminal comercial. É escrever sobre memória não esclarecida.
Dê-me todo o código onde você usa o ponteiro devolvido pela função e o momento em que você destrói o ponteiro. É tão difícil ajudar você.
Olá. Por favor, ajude-me a corrigir o código. Eu preciso que a EA não abra uma série de pedidos, mas apenas um pedido no primeiro evento.
Agora funciona assim: quando a CCI cruza a linha 200 para baixo, isto abre um BAY, então se a CCI cruza 200 para baixo novamente, isto abre outro BAY, etc., etc., até que a CCI cruze a linha -200 para cima, então todos os BAY são fechados e um Sell é aberto.
O que eu quero perguntar: quando a SSI cruza a linha 200 de cima para baixo - o primeiro e único BAI abre, outros BAIs não devem abrir até que a SSI cruze a linha -200 de baixo para cima, neste caso o BAI é fechado e uma venda é aberta. (Espelhar a linha de venda e a linha -200).
Adicione uma função para verificar se há alguma ordem em aberto do tipo relevante. Ou seja, se houver ordens, a função voltará a ser verdadeira e a próxima ordem não será aberta.
Provavelmente fora do tópico...
Um desejo no MT4
Eu uso muitos alertas, e todos eles são definidos para certos parâmetros.
Eu estabeleço o tempo de vida útil de meus alertas e os ressuscito a um novo preço-alvo.
Como o registro de alerta do meu terminal não está ordenado por símbolo ou evento, procurar o alerta correto toda vez é um incômodo.
Seria bom ter opções de ordenação como na guia "comércio".
Há uma função com um ponteiro:
Eu ainda o chamo em outra função:
Como limpar a memória por trás disso?
Ao apagar (TickReturn); recebo um operando de erro, exceto.
Provavelmente não é o ponto...
Um desejo no MT4
Eu uso muitos alertas, e todos eles são definidos para certos parâmetros.
Eu estabeleço o tempo de vida útil de meus alertas e os ressuscito a um novo preço-alvo.
Como o registro de alerta do meu terminal não está ordenado por símbolo ou evento, procurar o alerta correto toda vez é um incômodo.
Seria bom ter opções de ordenação como na guia "comércio".
O terminal MT4 não está mais sendo desenvolvido. Somente os bugs encontrados estão sendo corrigidos.
Dê todo o código onde você usa o ponteiro devolvido pela função e o momento em que você destrói o ponteiro. É tão difícil ajudar você.
A memória está realmente fluindo.
A memória está realmente fluindo.
void OnTick() { int period = 15; int timeis = returntick(period, 1).curtime; Print("timeis= ", TimeToStr(timeis,TIME_SECONDS)); É aqui que eu tento destruir o ponteiro }
Não está muito claro o que exatamente pode ser destruído aqui. Não é de se admirar que a memória vaze. O que é um ponteiro? Um ponteiro é uma referência ao endereço da memória onde a variável dinâmica criada é armazenada. Essencialmente, você chama o procedimento de obter um ponteiro para a variável de classe, neste procedimento o objeto de classe é criado, colocado na memória, depois o ponteiro é devolvido à função de obter os ticks e.... é destruído quando se sai da função. Note que o ponteiro é destruído, mas a memória não é apagada! E a cada novo tique mais e mais memória é consumida! Para evitar este ponto em seu código, você deve primeiro remover a abreviatura e colocar o ponteiro em outra variável:TickReturn* temptick =returntick(período, 1);// pegar o ponteiro e colocá-lo em um tempo int variável é = temptick.curtime; // Obter o valor requerido do objeto pelo ponteiro ...... apagar o temptick; // Destruir o ponteiro e limpar a memória
E antes de destruir o ponteiro, é melhor verificar se ele está correto para evitar o erro de exclusão.
No geral, eu não me preocuparia com as indicações e a classe em particular, pois a tarefa é muito mais fácil na verdade e não há necessidade de usar a classe. Criar estrutura com campos necessários, declarar variável global com tipo desta estrutura, fazer função para atualizar informações nesta estrutura em cada tick e coletar dela o que você precisa, porque a variável será global, você não precisará executá-la através de funções e não precisará de apontadores.
1.É possível usar o mql4 para desativar outros EAs?
2. Para verificar se há um Expert Advisor funcionando em um determinado ChartId?
1.É possível usar o mql4 para desativar outros EAs?
2. Verifique se há um Expert Advisor em funcionamento em um determinado ChartId?
É possível desativar o comércio dentro do código EA e fazer uma troca em um arquivo externo, então outro EA será capaz de informar a qualquer EA que o comércio não é mais necessário.
Você pode proibir o comércio dentro do código EA, e fazer a troca no arquivo externo, então outro EA poderá dizer a qualquer EA que o comércio não é mais necessário.
A idéia é exatamente que a EA A irá desativar a EA B por condição.