Ontem surgiu uma pergunta, por isso decidi consultar meus irmãos)
No sábado 21.05.2016 eu estava explicando o básico do OOP a um homem, usando uma biblioteca padrão como exemplo. Ele costumava programar na MQL4, depois teve uma pausa de 5 anos e decidiu voltar. Comecei a apresentá-lo ao MT5 hedging, pois eu mesmo refaço tudo lá.
Estranhamente, o homem (Maxim, quero dizer você, se você está lendo este artigo :)) entendeu o básico do OOP e nós até conseguimos percorrer as partes mais importantes usando o exemplo de uma biblioteca padrão sob o depurador.
Mas!!! Eu prometi uma gravação, e por razões técnicas tudo voou para miau((
Prometi que faria vídeos em vídeo exatamente no OOP, acho, 10 minutos cada um.
Pergunta:
Sugira um tópico sobre OOP na MQL5 por 10 minutos. Vou postá-lo no YouTube, será útil para todos
------------------
Escreva tudo o que for interessante, eu vou resolver isso, vou tentar satisfazer seus pedidos dentro do meu tempo livre
Boa sorte ))
Alexey, faça exemplos sobre os lugares menos cobertos na ajuda - apontadores, indicadores de funções, trabalho com classes de modelos, etc. Embora, francamente falando, na minha opinião, tal vídeo sobre C++ seja abundante e não aumentará de forma alguma o conhecimento, você precisa de literatura, webinars e diligência para melhorá-lo.
Não há ponteiros na MQL, há alças)) Os ponteiros (condicionais) para funções foram introduzidos recentemente, é uma espécie de muleta para se encaixar no conceito geral "todos os algo-traders são suicidas, eles não devem usar ponteiros".
Alexei, não se apegue às palavras :) Se eu tivesse escrito "descritores", por alguma razão, tenho certeza de que você não me entenderia imediatamente. Quanto ao que foi introduzido recentemente e ao que foi introduzido há muito tempo, isso não muda a essência, estas perguntas sobre a ajuda estão no ar, não há uma palavra ou um pouco sobre elas. E esses nomes, não importa como eles possam se comportar de maneira diferente em relação a C++ e MQL, todos têm a mesma aparência, pelo menos, os desenvolvedores estão tentando fazer isso dessa maneira. Eu até já vi que eles já introduziram a comparação de ponteiro :) Embora honestamente, para a MT não consigo imaginar onde utilizá-la.
Mas mesmo assim, acho que se você cobrir estas questões, muitos programadores novatos ficarão gratos a você. Eu vi seu vídeo no outro dia; você sabe como explicar as coisas tão claramente :)
Alexei, não se apegue às palavras :) Se eu tivesse escrito "descritores", por alguma razão, tenho certeza de que você não me entenderia imediatamente. Quanto ao que foi introduzido recentemente e ao que foi introduzido há muito tempo, isso não muda a essência, estas perguntas sobre a ajuda estão no ar, não há uma palavra ou um pouco sobre elas. E esses nomes, não importa como eles possam se comportar de maneira diferente em relação a C++ e MQL, todos têm a mesma aparência, pelo menos, os desenvolvedores estão tentando fazer isso dessa maneira. Eu até já vi que eles já introduziram a comparação de ponteiro :) Embora honestamente, para a MT não consigo imaginar onde usá-la.
Mas mesmo assim, acho que se você cobrir estas questões, muitos programadores novatos lhe ficarão gratos. Uma vez eu vi seu vídeo, você sabe como explicar claramente às pessoas :)
Pergunta:
Sugira um tópico sobre OOP na MQL5 por 10 minutos, vou colocá-lo no YouTube, ou seja, será útil para todos
OOP deve ser explicado sem qualquer código e toda aquela nomenclatura abstrusa como classes, objetos, ponteiros, etc. etc.
Como funciona um curso clássico de programação? A princípio, um estudante está tentando agonizantemente passar do pensamento humano para a programação básica (loops, funções, variáveis e outras coisas do tipo "bagagem de conhecimento"). Então, quando a confusão de funções, variáveis e se forma alguma estrutura mais ou menos ordenada, é dito ao estudante: "Veja: existe uma coisa como o OOP. Esqueça o que lhe foi ensinado antes e comece a pensar como um humano novamente". O que se segue é uma quebra nos modelos, a "bagagem de conhecimento" recém-adquirida é jogada no lixo e a pessoa se encontra em algum lugar entre o céu e a terra. Naturalmente, esta "OLP" é então lembrada por vários anos como um pesadelo com tremores e dor nas partes restantes do cérebro (as outras foram queimadas pelos novos conhecimentos).
Não, eu afirmo categoricamente que não se deve aprender programação. Pelo contrário, é prejudicial e perigoso. Ao invés disso, é necessário ensinar a pensar. E com isso há um completo fracasso do método clássico de aprendizagem.
Na minha opinião, você não pode de forma alguma fazer uma versão estendida da Ajuda a partir de um vídeo de treinamento. A tarefa é educar, não iluminar os detalhes indignos.
Alexei pediu a opinião dos usuários do fórum, eu lhe escrevi minha opinião, e o que estará lá, só Alexei sabe :)
A propósito, como você pode aprender se não for mencionado em nenhum lugar? Sei disso, já que estou escrevendo em C++, e aqueles que só estão aprendendo MQL5, não saberão desses detalhes, porque a referência não diz uma palavra sobre isso :)
Vasiliy Sokolov:
Então, quando a confusão de funções, variáveis e se está em sua cabeça forma alguma estrutura mais ou menos ordenada, é dito ao estudante: "Olhe: existe uma coisa como OOP. Esqueça o que lhe foi ensinado antes e comece a pensar como um humano novamente". Depois vem a quebra dos modelos, a "bagagem do conhecimento" obtida com tanto esforço é jogada no lixo e a pessoa se encontra em algum lugar entre a terra e o céu.
Não assuste as pessoas com OOP.
Você não precisa conhecer o OOP para criar bons EAs ou outras coisas na MQL5. Você não precisa nem conhecer a palavra classe ou ponteiro.
O OOP é usado principalmente para criar grandes tarefas e complexos, especialmente quando há trabalho em equipe.
E na MQL5 você pode fazer sem OOP.
Devo acrescentar que há mais de 10 anos estou envolvido no treinamento daqueles programadores, que querem trabalhar em empresas estrangeiras, onde o principal requisito é o conhecimento do OOP.
Isto eu digo para que você não pense que eu sou um oponente do OOP. É apenas necessário utilizá-lo como previsto e não complicar a vida.
O entendimento do OOP vem por si só quando os programas se tornam mais complexos. O programador começa a dividir a folha de código em várias funções, há uma necessidade de transferir resultados de várias funções entre si, logo ele começa a suspeitar que transferir tudo através de argumentos de funções não é a melhor solução, muito provavelmente ele começará a criar variáveis globais, uma pessoa está quase madura para OOP, a única coisa que resta é isolar funções logicamente relacionadas e seus dados privados. Minha experiência: de volta ao mcl4, comecei a criar algo assim:
// file_1.mqh int name1_counter = 0; int name1_data = 0; double name1_value = 0; void name1_action() {name1_counter++; name1_data = ;} int name1_get() {return } // file_2.mqh int name2_counter = 0; int name2_data = 0; double name2_value = 0; void name2_action() {} int name2_get() {}
Eu nem sabia de nenhum OOP, mas ele estava quase lá (sim, apenas uma instância, mas o esqueleto estava pronto). Eu acompanharia os estagiários através destas etapas. Comece com uma folha de int's e if's e estruture gradualmente o código. No final, uma pessoa quase chega ao OOP sozinha e o principal é que ela entenderá como chegou lá.
Lembro-me de ter lido um livro sobre esta "mágica" OOP, há muito tempo atrás. O clímax do livro foi uma demonstração de funções virtuais dizendo que este é o poder do OOP. Eu deveria arrancar as mãos de tais autores. Até agora não encontrei nenhum livro decente.

- 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
Ontem surgiu uma pergunta, por isso decidi consultar meus irmãos)
No sábado 21.05.2016 eu estava explicando o básico do OOP a um homem, usando uma biblioteca padrão como exemplo. Ele costumava programar na MQL4, depois teve uma pausa de 5 anos e decidiu voltar. Comecei a apresentá-lo ao MT5 hedging, pois eu mesmo refaço tudo lá.
Por mais estranho que possa parecer, esta pessoa (Maxim, quero dizer você, se você estiver lendo este artigo :)) entendeu o básico do OOP e conseguimos até passar pelas partes mais importantes usando o exemplo de uma biblioteca padrão sob o depurador.
Mas!!! Eu prometi uma gravação, e por razões técnicas tudo voou para miau((
Prometi que faria vídeos em vídeo exatamente no OOP, acho, 10 minutos cada um.
Pergunta:
Sugira um tópico sobre OOP na MQL5 por 10 minutos. Vou postá-lo no YouTube, será útil para todos
------------------
Escreva tudo o que for interessante, eu vou resolver isso, vou tentar satisfazer seus pedidos dentro do meu tempo livre
Boa sorte ))