erros de violação de acesso em mt4.
Com um EA personalizado que foi escrito, estou recebendo erros de violação de acesso:
Esses erros ocorrem quase imediatamente depois que o ea é iniciado em um gráfico ou é iniciado no testador.
Por favor, note que o EA com dll em questão funciona bem no laptop programadores (Windows 7 Professional 64 bits) e um servidor vps com Win2008 R2 sp1, 64 bits. Ele carrega e funciona bem nos modos backtest e live. Então, nós suspeitamos que poderia ser a instalação do Windows do meu laptop que está faltando uma dll ou está corrompido de alguma forma. Mas eu tentei 3 terminais diferentes para isolar o problema e o bug é o mesmo.
Alguma sugestão sobre como eliminar esses bugs ou o que as violações de acesso podem significar?
Violação de acesso lida para 0x1432BE9C.
Eu não vi nada no google sobre 0x1432BE9C. Meu programador me disse para reportar ao MQ e ver o que eles dizem. Esta é a primeira vez que isso aconteceu com um arquivo ex4 que não estava usando nenhuma dll personalizada.
Qualquer idéia sobre o que a violação do Access leu para 0x1432BE9C significa?
0x1432BE9C é o endereço dentro do terminal que tentou ser lido. Em uma versão de depuração do terminal e um depurador poderia ajudar ainda mais.
0x1432BE9C é o endereço dentro do terminal que tentou ser lido. Em uma versão de depuração do terminal e um depurador poderia ajudar ainda mais.
Eu relatei isso ao service desk. Eu duplico o problema.
Eu acho que um rastreador de bugs mais público seria útil. Um fórum permite que outras pessoas de todo o mundo + moderadores do MQ participem de discussões inteligentes sobre o produto. Não é assim que a maioria dos desenvolvedores de software funciona, fonte aberta ou fechada? O suporte não deve ser tão fragmentado. O que há de tão especial sobre o mt4 que deve levar cada solicitação internamente?
Eu atualizarei os terminais em breve. Um vps pode manter um terminal funcionando continuamente (como deveria) sem a necessidade de reiniciar por várias semanas ou meses. Então, eu poderia apenas instalar o terminal uma vez e executá-lo por um tempo. Eu ainda tenho o b840 em vários terminais e já tinha o b765 por um bom tempo apenas se afastando. Eu continuo recebendo bolinhas atiradas em mim que não posso prever.
Uma maneira fácil de ficar em contato conosco [Suporte Grátis 10/7]
Nós incluímos 1 mês de dados históricos em nosso arquivo de configuração por razões de tamanho.
Por favor, faça o seguinte para baixar mais dados:
Clique no botão "Centro de dados" na Barra de ferramentas principal (parte superior esquerda da janela). "Atualizar do servidor", selecione o botão de seleção "Fazer download da parte do histórico", defina o período desejado e clique em "Atualizar". Crie um novo projeto através do menu principal File в New Project ou use o botão New Project na barra de ferramentas principal. Dê um nome ao projeto e clique em Avançar. Na próxima janela, selecione os pares necessários que você deseja testar e datas de teste, clique em "Avançar". Comece a testar a partir da primeira data no intervalo ou defina qualquer outro dia para iniciar e clique em "Criar". Clique no botão "Iniciar teste" quando estiver pronto para começar a testar sua estratégia.
Além disso, você pode baixar dados históricos do nosso site. É de graça.
Por favor, clique no botão "Start Test" e você verá as velas em um gráfico. Você pode verificar uma instrução detalhada no guia Start Testing.
Se você ainda vir a mensagem Sem dados, faça o download dos dados de todos os pares de moedas novamente.
Limpar os dados (Abra a janela do Data Center> selecione o (s) par (es) necessário (s)> Limpar histórico). Selecione os pares de moedas necessários e clique no botão "Atualizar do servidor" para fazer o download dos dados para o mesmo período de datas. Certifique-se de baixar os dados para os mesmos períodos de tempo (você pode fazer isso destacando os pares de moedas, um a um, e marcando a data inicial / final abaixo da barra verde). Crie um novo projeto. Clique no botão Iniciar teste.
Os indicadores que oferecemos no Forex Tester geralmente são suficientes para qualquer estratégia básica. Se você ainda precisar adicionar um indicador do MT4 que não está em nossa lista, você precisará convertê-lo do formato. mql para. dll.
A conversão não é muito difícil porque nossa API é muito semelhante ao MQL.
Você pode encontrar arquivos de API na pasta C: \ ForexTester \ Examples \ Indicators.
Por favor, veja mais informações sobre a API no Forex Tester - Ajuda - API de indicadores.
Além disso, você pode procurar os indicadores no fórum Forex Tester, nós fornecemos muitos indicadores lá. Assim que você tiver o indicador necessário no formato. dll, adicione-o ao Testador Forex por meio do menu Arquivo - Instalar - Instalar Novo Indicador.
O ID de hardware no seu computador provavelmente mudou devido a algum motivo (por exemplo, você alterou o hardware ou reinstalou o sistema operacional). Não se preocupe, pois nós emitiremos uma nova chave de registro para você gratuitamente.
Por favor, siga estes passos para registrar novamente o programa:
Baixe o Forex Tester 2 para o seu computador e instale o software. Execute o Forex Tester. Vá para Ajuda → Registrar programa. Escolha "Eu não tenho uma chave de registro" e pressione "Next". Selecione "Sim, eu já paguei" e clique em "Avançar". Preencha o formulário de solicitação de chave na próxima janela. Escolha a opção "Chave antiga não funciona" como o motivo para solicitar a chave de registro. Se você esqueceu algumas informações de contato, pode escrever algo como "Não me lembro". Pressione o botão "Solicitar chave". Iremos gerar uma chave de registro para você e enviá-la por e-mail dentro das próximas 24 horas.
Esta instrução é precisa apenas para o Forex Tester 2. Você não terá esse problema no Forex Tester 3, pois ele não está conectado ao computador e você pode instalá-lo em alguns computadores com a mesma chave de registro. Você então poderá trabalhar nos computadores em turnos.
Atualize para o Forex Tester 3 e obtenha todas as vantagens da versão mais recente!
Todos os nossos dados estão em GMT, então as velas diárias fecham às 0:00 GMT.
Para alterar o fuso horário dos dados, configure o parâmetro "Hora local" para "GMT + 2" (ou "GM + 3") ao criar um novo projeto.
O deslocamento GMT + 2 é definido durante o horário de verão de inverno.
O GMT + 3 funciona para o horário de verão.
A alteração do parâmetro de fuso horário permitirá que você veja as velas da sessão de Nova York. Isso também removerá os dados dos finais de semana automaticamente.
Violação de acesso do testador de Forex
A partir de 2 de abril de 2018, o fórum do OneDrive na Comunidade da Microsoft será bloqueado. Não haverá possibilidade de postar novas perguntas ou iniciar novas discussões, no entanto, todo o conteúdo permanecerá disponível, assim você poderá navegar e pesquisar no fórum e responder aos tópicos existentes até 20 de abril de 2018. Nessa data, respostas para segmentos existentes não será mais possível.
Q: Erro de violação do EAccess.
Alguém pode me ajudar a resolver isso?
Eu tenho um laptop executando o Windows 8, segurança do Norton 360 com AMD em um HP.
Ao ligar meu computador eu recebi um erro de violação do EAccess, no começo estava tudo bem, mas eu li sobre isso na internet tentando descobrir, no entanto, havia tantos exemplos disso acontecendo que eu não tinha certeza qual deles era relevante para o meu problema, o mais provável é fazer com atualizações de software, eu tinha acabado de receber mensagens da AMD sobre problemas de driver. quando eu fechava a rede e abria meu desktop para longe da lixeira e o PCHelper de alguma forma era removido, eu podia acessar coisas na tela do Win 8 App, mas coisas como aplicativos de e-mail, notícias, clima etc. removido, algumas coisas estavam lá, mas até mesmo arquivos de vídeo, etc. Uma mensagem de erro apareceu dizendo-me para restaurar o sistema para um ponto de restauração. Eu fiz isso, mas tudo o que tinha sumido se foi, exceto os blocos de aplicativos que não podiam ser usados para abrir o que eram. Eu encontrei a maioria das coisas através de buscas extensas, mas ainda sinto falta de muitas das coisas básicas que vieram com o computador da loja. O material do fórum on-line não oferece mais do que apenas os conselhos mais básicos. Olhando através de meus arquivos eu posso ver muito lá, mas não há para acessar, se você sabe o que quero dizer.
Violação de acesso do testador de Forex
Muito provavelmente porque o próprio nodo é um ponteiro inválido. O - & gt; O desreferenciamento causaria um problema.
Você precisa verificar as coisas que poderiam afetar esse valor (estouro de buffer causando corrupção, tendo configurado para NULL por algum motivo).
não verifica se a variável nodo é NULL, mas sim se o membro izq do que nodo aponta é NULL.
Se você simplesmente não quiser fazer nada se o próprio nodo for NULL, você poderia colocar no início:
mas ainda acho que seria muito melhor rastrear a origem do problema em vez de apenas corrigir um sintoma.
Eu acho que o problema está na maneira como você está processando a árvore. Você está efetivamente fazendo:
O principal problema com isso é que delTree (node. left) significa que você obterá o problema exato que está vendo se a árvore estiver vazia, já que a primeira coisa que você tenta fazer é cancelar a referência do nó raiz NULL.
A abordagem mais comum é primeiro reconfigurar os filhos incondicionalmente (com um protetor NULL) e depois processar o próprio nó, algo como:
Isso manipulará corretamente uma árvore vazia e ainda excluirá corretamente todos os filhos antes do pai. E parece mais elegante, o que é uma das razões para usar a recursão em primeiro lugar :-)
Deixarei isso como um exercício para o leitor transformar isso de volta em C ++.
Muito provavelmente porque o próprio nodo é um ponteiro inválido. O - & gt; O desreferenciamento causaria um problema.
Você precisa verificar as coisas que poderiam afetar esse valor (estouro de buffer causando corrupção, tendo configurado para NULL por algum motivo).
não verifica se a variável nodo é NULL, mas sim se o membro izq do que nodo aponta é NULL.
Se você simplesmente não quiser fazer nada se o próprio nodo for NULL, você poderia colocar no início:
mas ainda acho que seria muito melhor rastrear a origem do problema em vez de apenas corrigir um sintoma.
Eu acho que o problema está na maneira como você está processando a árvore. Você está efetivamente fazendo:
O principal problema com isso é que delTree (node. left) significa que você obterá o problema exato que está vendo se a árvore estiver vazia, já que a primeira coisa que você tenta fazer é cancelar a referência do nó raiz NULL.
A abordagem mais comum é primeiro reconfigurar os filhos incondicionalmente (com um protetor NULL) e depois processar o próprio nó, algo como:
Isso manipulará corretamente uma árvore vazia e ainda excluirá corretamente todos os filhos antes do pai. E parece mais elegante, o que é uma das razões para usar a recursão em primeiro lugar :-)
Deixarei isso como um exercício para o leitor transformar isso de volta em C ++.
Комментарии
Отправить комментарий