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
BTW, você está ciente de que a construção 1325 introduziu indicadores de funções?
Isso faz alguma diferença na aplicação da comunicação triangular?
MQL5: Acrescentou suporte de ponteiros às funções para simplificar a disposição dos modelos de eventos.
Para declarar um ponteiro para uma função, especifique o tipo "ponteiro para uma função", por exemplo:
Agora, TFunc é um tipo, e é possível declarar o ponteiro variável para a função:
A variável func_ptr pode armazenar o endereço da função para declará-la posteriormente:
Os apontadores para funções podem ser armazenados e passados como parâmetros. Não é possível obter um ponteiro para um método de classe não-estático.
provavelmente é apenas para o MT5, e pelo que vi ainda não é para métodos, apenas funções.
De qualquer forma, ainda não entendo como definir a capacidade de terceiros dentro da classe base, por exemplo, no contexto de linha de tendência e recipiente, onde está o 3º objeto.
Mas vou tentar ler novamente.
Quero dizer, como e onde decidir quem (que classe) vai conseguir o quê (evento).
É claro que o despacho superior, o idioma nativo, ou seja, o idioma ::OnChartEvent é escrito apenas uma vez em um projeto, na classe de nível superior.
Então, a partir daqui, qual é a maneira ou maneiras corretas de despachar eventos para diferentes objetos?
Deve haver uma classe de envio de eventos? Deve ser feito apenas no ::OnChartEvent com base nas declarações de if?
O que me parece faltar na compreensão do modelo de eventos em conjunto com OO e MQL5, é o que é o tipo certo de envio dos eventos.
Quero dizer, como e onde decidir quem (que classe) vai conseguir o quê (evento).
É claro que o despacho superior, o idioma nativo, ou seja, o idioma ::OnChartEvent é escrito apenas uma vez em um projeto, na classe de nível superior.
Então, a partir daqui, qual é a maneira ou maneiras corretas de despachar eventos para diferentes objetos?
Deve haver uma classe de envio de eventos? Deve ser feito apenas no ::OnChartEvent com base em declarações de if?
ok, eu acho que entendi. Há um problema real de mudança de conceito quando se vem de procedimento para oop.
Na verdade, uma vez quis implementar o observador e por falta de interfaces em MQL ou herança múltipla não o fiz. Não pensei em sua boa idéia de que o mesmo objeto pode forçar a interface de ambos os lados.
Assim, na verdade cada CObjeto agora tem um lugar de um objeto que é o receptor de eventos, e também tem um método de registro para que o objeto de escuta se inscreva como tal e um método de remetente de eventos e um método de manipulador de eventos usado pelo receptor.
Na verdade, uma vez quis implementar o observador e por falta de interfaces em MQL ou herança múltipla não o fiz. Não pensei em sua boa idéia de que o mesmo objeto pode forçar a interface de ambos os lados.
Só para encorajá-lo, tenho usado muito ouvintes com a MQL4.
Obrigado, mas não estou me sentindo encorajado (:
Consegui fazê-lo, mas não com um contrato entre a editora e o ouvinte, quero dizer, a editora teve que assumir que o ouvinte tem o método de manuseio, mas nada forçado que ele tenha.
Ou, eu teria que herdar todos os ouvintes de um objeto principal do ouvinte - mas então, é claro, eu perderia todo o sentido porque eles não podem herdar outras classes.
De qualquer forma, eu sou um profissional em programação, mas definitivamente não em OO onde ainda não tenho experiência, e não estou competindo com nenhum de vocês programadores experientes como Doerk.
O que eu sei é que ser procedural dá a vocês boa lógica e habilidades de programação, mas a mudança é mentalmente difícil, especialmente se um programador de procedimentos como eu enfrenta a missão de construir uma estrutura OO, é um estado de espírito totalmente diferente. E a estrutura da parte GUI é a estrutura mais detalhada com muitos eventos para cuidar, eu acho que vocês concordarão que entre as estruturas é a mais difícil de construir.