Olho para o código da classe CBmpButton da biblioteca MQL5 padrão e vejo a semelhança. É um acidente ou uma dessas classes serviu como protótipo?
Sim, é claro - o CBmpButton foi usado como base. E 90% foi retrabalhado :) A classe principal CWndObj teve de ser ligeiramente modificada usando a herança. Isso foi feito para compatibilidade com a biblioteca padrão.
A propósito, seria bom obter uma descrição completa de seus métodos, porque você precisa entrar no código e ler os métodos, adivinhando para que eles são necessários....
Antes de fazer uma descrição, diga-me qual método altera a posição de um objeto gráfico no gráfico. O método Top(aLocation) da classe CWnd não altera a posição. Mas ele altera o local do clique como deveria, mas o objeto gráfico em si permanece no lugar. Entendo que não há vínculo entre o rótulo do objeto e o próprio objeto? Ou eu não estou entendendo nada...
Em geral, descobri como fazer isso: na classe CBmpButtonTransparent, abri o objeto m_button e, por meio de seu método Y_Distance, assim como no Top, inseri uma nova coordenada Y. Agora tudo funciona. Agora tudo funciona.
Antes de fazer uma descrição, diga-me qual método altera a posição de um objeto gráfico no gráfico. O método Top(aLocation) da classe CWnd não altera a posição. Mas ele altera o local do clique como deveria, mas o objeto gráfico em si permanece no lugar. Entendo que não há vínculo entre o rótulo do objeto e o próprio objeto? Ou eu não estou entendendo nada...
Em geral, descobri como fazer isso: na classe CBmpButtonTransparent, abri o objeto m_button e, por meio de seu método Y_Distance, assim como no Top, inseri uma nova coordenada Y. Agora tudo funciona.
Não, essa não é a maneira de fazer isso. Encontrarei um exemplo e o carregarei. Eu mesmo fiz experiências com ele durante o concurso :)
É que o método move não pertence à minha classe - ele está implementado na biblioteca padrão.
Coloque a pasta com todo o seu conteúdo em Experts.
No arquivo Profit_button, veja as linhas 139-143 e 155-159.
//Money.Shift(0,-3); //Button.Shift(x,0); Money.Move(Money.Left(),Money.Top()-3); Button.Move(Button.Left()+x,Button.Top());
Ele funciona das duas maneiras, dependendo da finalidade.
Antes de iniciar o Expert Advisor, expanda a janela para a tela inteira :)
Não, não faça isso. Encontrarei um exemplo e o carregarei. Durante o concurso, eu mesmo fiz experiências com ele :)
É que o método move não pertence à minha classe - ele está implementado na biblioteca padrão.
Coloque a pasta com todo o seu conteúdo em Experts.
No arquivo Profit_button, consulte as linhas 139-143 e 155-159.
Ele funciona das duas maneiras, dependendo da finalidade.
Antes de iniciar o Expert Advisor, expanda a janela para a tela inteira :)
Expanda a janela para a tela inteira antes de iniciar o Expert Advisor :)
Ótimo exemplo!
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Class СBmpButtonTransparent:
Esta classe permite pairar cursor e pressionar o botão de forma livre.
Autor: Andrey Miguzov