Discussão do artigo "Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF" - página 3
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
1) Se você tiver um terminal x64, provavelmente precisará recompilar seu projeto C++ em x64. Por segurança, você deve fazer isso da seguinte maneira: Visual Studio -> Propriedades (do seu projeto C++) -> Gerenciador de configuração -> e altere-o para x64 por meio da lista suspensa ou <New...>. Compile. Pronto. Se não estiver compilando, verifique as Referências do projeto e verifique os erros do compilador.
2) Tive problemas com o EA, ele nem sequer inicializava. Só notei isso ao desconectar o EA do gráfico, quando o erro init falhou (engraçado...). O EA caiu em um Sleep infinito no estágio de inicialização e tudo se resumia a essas linhas (em QService.mqh):
QService::EnterCriticalSection()
{
while (GlobalVariableCheck("QService_CriticalSection") > 0)
Sleep(1);
GlobalVariableTemp("QService_CriticalSection");
}
Após a depuração e tentativas vãs de entender esse "Sleep(1)", substituí o código por:
QService::EnterCriticalSection()
{
if(!GlobalVariableCheck("QService_CriticalSection"))
GlobalVariableTemp("QService_CriticalSection");
}
P.S: Obrigado ao autor do artigo! Tudo está ótimo!
Muito interessante... Obrigado... Mas talvez hoje existam opções mais simples*???
É claro que existem - usando a conexão por meio do recurso embutido do terminal. É um canal PIPE.
https://www.mql5.com/ru/docs/files/fileopen
Acabei de postar um novo trabalho com base neste artigo: https: //www.mql5.com/en/job/34392.
Ele não está funcionando em meu ambiente MT5 de 64 bits...
Ótimo artigo!
Muito obrigado
Apenas para conhecimento, descobri o que aconteceu em minha máquina de 64 bits.
Após horas e horas de pesquisa e depuração, descobri que um assembly referenciado não estava sendo carregado, gerando a exceção "System.IO.FileNotFoundException: Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".
Talvez porque a dll não tenha um arquivo de configuração, ainda não sei, o MT 5 não sabia onde encontrar o assembly. Portanto, ele estava tentando obtê-lo no caminho base (caminho onde o metaeditor64.exe está localizado). Depois de alterar o diretório de saída dos projetos referenciados para esse caminho, funcionou perfeitamente.
Oi, Joe,
Houve algum truque especial para fazê-lo funcionar no x64? Acabei de compilá-lo para x64, mas a dll trava com erros estranhos na inicialização.
Sabe, veja minha resposta abaixo.
[]'s
Olá,
Testei seu arquivo pronto e tudo parece bem no MT5. Mas não há dados no WinClient.
Gostaria de saber se existe um projeto semelhante com pré-carregamento de barras históricas? Gostaria de adicionar tudo isso ao Lightweight-Chart e usar o gráfico de forma conveniente.