Wednesday 5 July 2017

Violação Do Acesso Do Testador Forex


Forex Tester 3 Forum Eu tenho uma estratégia automatizada que eu codifiquei em C usando o padrão C11 com o compilador MinGW GCC. Estou querendo usar o Forex Tester para testar minha estratégia automatizada. Então, para aprender sobre a API, criei um novo projeto usando o exemplo de estratégias C para o Forex Tester 2, que é a estratégia ObjectTest. Depois de examinar o arquivo StrategyInterfaceUnit. h, descobri que precisava incluir o arquivo de cabeçalho do Windows. h, que o MinGW inclui, portanto, não há problemas lá. Eu configurei um cabeçalho que exportou as funções necessárias como uma função C (sem controle de nome) e, em seguida, compilou o projeto. Tive que remover alguns dos padrões nas implementações de chamadas de função, já que os padrões já estavam incluídos nas declarações de função. Em seguida, instalei a estratégia no Forex Tester 2 e tentei executá-la. Recebo o seguinte erro: quotError MainFormUnit. ProcessTick (SymbolList. AddSingleTick) Violação de acesso no endereço 00000000. Leitura do endereço 00000000.quot Parece-me que um ponteiro está apontando para o endereço Nulo. Tive um problema semelhante ao testar o exemplo do indicador. Ambos os exemplos exportam o objeto IntrfProcsRec. Então eu rodei a exportação da seguinte maneira: ifdef cplusplus extern quotCquot endif EXPORT TInterfaceProcRec IntrfProcsRec ifdef cplusplus endif Para executar uma exportação C (novamente, para evitar mangling de nomes). Isso não ajudou nenhum, pois ainda recebo o mesmo erro. 1. Use o Visual C Express gratuito do site da Microsoft com menos problemas e mais pessoas usando. Também eu acho que o lado do código é menor do que o resto dos compiladores. 2. Tenha cuidado com 1 bug no StrategyInterfaceUnit. h em Ver 1.11 Exclua todos os objetos janela - janela onde excluir ObjType - tipo de objetos void ObjectsDeleteAll (janela int 0, TObjectType ObjType objAnyObject) KH: A implementação não está OK ---- - Delete todos os objetos ---------------------------------------------- ------- void ObjectsDeleteAll (janela int 0. TObjectType ObjType objAnyObject) se (rec. pObjectsDeleteAll NULL) retornar rec. ObjectsDeleteAll (rec. pObjectsDeleteAll, window, ObjType) Remova o vermelho em destaque. 3. A versão Delphi do StrategyInterfaceUnit. pas teve mais conteúdo do que C StrategyInterfaceUnit. h Verifique e experimente e veja se estes ajudam. Quem está online Usuários navegando neste fórum: Nenhum usuário cadastrado e 2 convidadosAcce violação no endereço 0075FA55 no módulo ForexTes. Violação de acesso no endereço 0075FA55 no módulo ForexTester. exe. Leia do endereço0000001C OS Microsoft Windows 7 Home Premium 6.1.7601 Service Pack 1 7601 OS OS Microsoft Corporation FUKUYAMA-PC FUJITSU FMVA56CR x64- PC Intel (R) Core (TM) i5-2520M CPU 2.50GHz2501 Mhz2 4 BIOS FUJITSU Phoenix Technologies Ltd. Versão 1.18, 20110325 SMBIOS 2.6 Windows C: Windows C: windowssystem32 DeviceHarddiskVolume2 quot6.1.7601.17514quot fukuyama-PC () (RAM) 4.00 GB 3.20 GB 1.08 GB 6.40 GB 3.40 GB 3.20 GB C: pagefile. sys 415 1 100 Eu preciso criar um conversor de código automático a partir da API MQL4 (um idioma semelhante a C) para o Forex Tester API (C Delphi DLL). Há sugestões de que pode ser feito com a ajuda da ANTLR e MMVP. No entanto, não sei como isso pode ser feito com a ajuda das tecnologias acima mencionadas. Alguém poderia dizer como meu problema pode ser resolvido. Se você não sabe como realizar minha tarefa usando ANTLR ou MMVP, por favor avise outras tecnologias. Aqui está um exemplo de um programa MQL4 simples. Um exemplo do mesmo programa escrito na API C. Primeiro, bem-vindo para começar a perguntar no StackOverflow. Você já notou que sua sintaxe do código MQL4 não é a versão atual do MQL4 (como observado abaixo, um quotNewquot - MQL4). Por favor, verifique e reveja, se o seu Projeto não tiver problemas apenas devido a esse tipo de mudança de paradigma, apenas per se. Espero que você possa controlar sua base de código do quotinputquot-side. No caso de não, todo o esforço vai para o mergulho no nariz no leito da rocha (para obter detalhes, por favor, verifique mais as observações abaixo) ndash user3666197 Dez 16 15 às 9:00 Obrigado por uma resposta tão rápida. Esses especialistas trabalham em um novo Meta Trader. A maioria dos especialistas que precisam ser convertidos em Forex Tester API são escritos no MQL4 antigo. É por isso que lhe forneci um exemplo escrito no antigo MQL4 ndash Justinserg dez 16 15 às 9:17. Você foi recomendado para usar o MMVP ANTLR para o seu Tarefa Bem, o problema principal não está escondido no tipo de ferramentas ANTLR. Eu passei algum tempo pesquisando, se a ANTLR pudesse salvar nossos problemas de base de código onde o nosso IDE (não o MetaLang padrão, outro, um IDE mais flexível, configurável e programável) ainda não foi capaz de resolver erros de sintaxe na plataforma - Combinando dentro de um código-fonte comentado de vários níveis. Enquanto a ANTLR está fora de questão um cavalo muito poderoso, alguém passaria as idades para estreitar-se especializar em usar esse tipo de linguagem geral e modelagem de sintaxe abstracta. Se sua equipe pode gastar alguns muitos em esta curva de aprendizado. Bem, continue planejando. Se não . Há muito tempo para revisar, redesenhar e reprogramar seu Plano do Projeto. . Nota bene: a conversão de código é a parte mais fácil. Uma necessidade de cobrir diferenças na sintaxe, uma necessidade de cobrir diferenças no escopo de variáveis, obter um pouco mais de Lexers podem ajudar um pouco nisso, eu gosto da sua ideia de criar uma camada de proxy no lado C, com base em serviços de API de destino, de modo que Para mediar um comportamento faltante na parte mais flexível da rota de março do MQL4-gtForex Tester. Nos bons dias do MQL4. (Quando era de fato um MQL4. Não o New-hybrid), desenvolvi alguns wrappers de sintaxe para fins semelhantes, mas com uma motivação diferente, onde o simples amplo conceitos MQL4 simples não era viável para permanecer sem ajuda. A compreensão adequada tanto da arquitetura principal quanto de diferentes modi operandi disponíveis no MetaTrader Terminal 4 como um ecossistema de execução de código dos tipos de programas MQL4 é apenas um começo da abordagem, uma vez que você decidiu elaborar uma conversão de código do domínio MQL4-DSL para Outro domínio DSL. O último Nail into the Coffin. Sintaxe rasteja em Novo - MQL4.56789. É difícil não mencionar que nos últimos anos o MQL4 começou a se tornar um idioma muito diferente. Uma vez que pode imaginar o que isso significa para uma manutenção de base de código, quanto mais o pesadelo isso representa atrás da cortina, uma vez que a base de código abrange cerca de n-centenas de pessoas. Simplificando, enquanto os conceitos-chave não se movem com tanta frequência, cada nova versão do MetaTrader Terminal 4 como um ecossistema de execução de código ou o MetaEditor como uma ferramenta de compilação de código semi-integrada anteriormente conhecida como MetaLang. exe (pré-nova - MQL4.56789.) (Enquanto que ambos são distribuídos por controle próprio, mesmo com uma atualização forçada por uma política operada pelo corretor, então nenhuma maneira para um congelamento de versão específico pode salvá-lo de uma dança obrigatória nesta mina - Campo) Como isso pode ser resolvido Se eu estivesse em sua situação, eu pediria ao Project Manager Project Sponsor para indicar qual é o orçamento disponível, restrição de tempo e preferência do Cliente para criar um conversor de código universal. Se possível. Gostaria de lançar um novo projeto com tal orçamento de horário de trabalho especificado e adquirir um controle de custo de gerenciamento de projetos independente. Caso contrário, eu pediria ao Comitê Diretivo do Projeto que redefinisse as métricas e atualizasse o orçamento ajustado do orçamento do plano de projeto do plano de projeto para a tarefa de conversão de base de código a ser executada sem uma ferramenta automatizada.

No comments:

Post a Comment