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 código verifica apenas os idiomas russo e inglês
Se alguém fornecer o nome do botão Iniciar em outros idiomas, eu o incluirei na fonte.
Em chinês, o texto dos botões "Iniciar" e "Parar" é o seguinte: "开始" e "停止".
Atualizado.
Não seria mais fácil ler uma cadeia de caracteres do botão e depois comparar se ela permanece a mesma ou se foi alterada?
Afinal de contas, a função não deve depender de estados anteriores. Seria mais fácil usar cores: verde - iniciar, caso contrário - parar. Mas eu faço tudo na WinAPI pelo método poke, então não sei como ler a cor (componente verde) do botão. Se houver uma variante funcional, é claro, eu a substituirei.
Ainda assim, a função não deve depender de estados anteriores. Seria mais fácil usar a cor: verde - iniciar, caso contrário - parar. Mas eu faço tudo na WinAPI pelo método poke, então não sei como ler a cor (componente verde) do botão. Se houver uma variante funcional, é claro, eu a substituirei.
Esse código foi testado por mim e foi confirmado que ele funciona.
(Recomendo que você mantenha os dois métodos, pois talvez no futuro os desenvolvedores do MT5 mudem as cores).
Ainda assim, a função não deve depender de estados anteriores. Seria mais fácil usar a cor: verde - iniciar, caso contrário - parar. Mas eu faço tudo na WinAPI pelo método poke, então não sei como ler a cor (componente verde) do botão. Se houver uma variante funcional, é claro, eu a substituirei.
Provavelmente, isso é mais fácil não pela cor do botão, mas pelo status da lista de entradas - ativado/desativado.
Onde obter o status das entradas? Não existe uma API oficial, temos que determinar isso por cores e texto.
Bem, não existe uma API oficial para todos os componentes internos do MT5 - é preciso inspecioná-los por meio de utilitários como o MS Spy - foi assim que os identificadores de controle foram encontrados, que agora são usados no multitester.
Se você não entrar na selva de Inputs e usar apenas o botão Iniciar já testado, parece que a chamada GetWindowLongW(hwnd, 0) deve retornar a cor atual do botão. O meu retorna 0xD0B1DF10 para o botão verde. Somente se o MQ decidir corrigir o estilo, essa configuração poderá desaparecer. Portanto, verificar a atividade dos Inputs é mais confiável de qualquer forma.
Parece que a chamada GetWindowLongW(hwnd, 0) deve retornar a cor atual do botão. Recebo 0xD0B1DF10 para o botão verde.