English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

MetaTrader 5Exemplos | 15 outubro 2021, 09:24
864 0
Omega J Msigwa
Omega J Msigwa

Sumário

  1. Não se apegue ao passado
  2. Comece a acreditar em si mesmo
  3. Aceite o fato de que nem todos pensam como você
  4. Dar vem antes de receber
  5. Você pode confiar não apenas em si mesmo

Introdução

No mundo dos projetos de programação, os novatos são os mais incompreendidos, porque geralmente seu comportamento possui um certo elemento de imprevisibilidade. Nunca se sabe o que eles fizeram com o código, mesmo que se conheça qual era a intenção. Tudo isso por causa da sua falta de coerência.

Esta terceira parte da série apresenta 5 dicas úteis que ajudarão os iniciantes a melhorar suas habilidades de programação MQL5.

Noob vs Pro

1. Não se apegue ao passado

"O segredo da mudança é concentrar toda a sua energia, não na luta contra o velho, mas na construção do novo", - Sócrates.

Talvez, no início de sua carreira como programador MQL5, você tenha criado um Expert Advisor, uma biblioteca, um indicador ou apenas um código e recebido um monte de comentários negativos de clientes ou leitores.

Quiça você tenha programado alguns EAs com um monte de bugs. Uma lógica de negociação incorreta fez com que você perdesse não só seu próprio dinheiro, mas também sua reputação no Mercado, Freelance, etc. É claro que isso é ruim. Mas é ainda pior lembrar-se constantemente disso e ficar obcecado nesses momentos.

Em vez de pensar constantemente nos erros do passado, no que faz você se sentir um programador inútil, não será melhor gastar esse tempo em algo realmente produtivo? Por exemplo, você pode se desenvolver em áreas em que se sente inseguro.

  • Se seus programas costumam ter muitos erros, aprenda como depurar, bem como os princípios e técnicas de depuração.
  • Aprenda coisas novas, leia a documentação e pratique.
  • Procure ajuda de outras pessoas, por exemplo, no fórum MQL5, se você sentir que não consegue tratar do assunto em questão sozinho.

Além disso, voltar aos seus tópicos antigos no fórum não vale a pena, porque pode lhe parecer que não estava fazendo as perguntas mais inteligentes, por isso há o risco de entregar-se à autocrítica e gastar tempo e recursos novamente (quero dizer eletricidade, processador e memória do computador).

Pensamentos como:

  1. "Deveria ter programado assim ou assado"
  2. "Deveria ter posto o mesmo indicador no EA"
  3. "O indicador teria ficado muito melhor se eu tivesse..."

e outros semelhantes dificilmente podem ser chamados de construtivos - eles abalam a autoestima e obrigam você a se arrepender de coisas que nunca pode fazer voltar atrás. Se você deseja mudar algo e isso é possível, comece a fazê-lo aqui e agora para usar em sistemas futuros.


2. Comece a acreditar em si mesmo

Se você deseja escrever um sistema, não espere que especialistas ou programadores mais experientes dêem permissão ou confirmação em realizar sua ideia.

Muitas vezes vejo iniciantes postando no fórum códigos bastante viáveis que, em princípio, permitem ter o resultado desejado. Porém, a razão pela qual os publicam é para obter conselhos - insegurança escondida. Eles procuram que companheiros mais velhos confirmem ou aprovem, porque não acreditam que possam encontrar uma solução adequada por si próprios, sem a ajuda de outra pessoa.

Parece-me que, na programação, o próprio código pode dizer se você está certo ou não. Você mesmo pode ver perfeitamente quando o código funciona como deveria e não contém erros.

E se funcionar exatamente como desejado, é porque pode ser considerado correto com toda certeza. Já a maneira mais certa de ouvir que o código é terrivelmente ruim é começar a buscar a aprovação de cada programador que você encontrar (incluindo iniciantes como você), porque mesmo com um objetivo comum, todos podem ter sua própria opinião sobre como escrever o código corretamente. 

É da natureza humana ter um opinião própria, e não há nada de errado nisso. Por esse motivo, não há uma única solução correta, embora algumas implementações ainda possam ser melhores do que outras. Você só precisa entender claramente o que está desenvolvendo e que resultado deseja obter. Escreva código, depure e teste.

Com isso, não quero dizer que sempre devemos contar apenas com nos mesmos, não compartilhar nada no fórum, mas, sim, fazer tudo sozinho! Não me entenda mal. Você só precisa entender a diferença entre os dois objetivos: você está aberto para encontrar novas ideias ou está apenas esperando que programadores mais experientes aprovem seu trabalho.


3. Aceite o fato de que nem todos pensam como você

Não é normal presumir que todos escrevem programas da mesma maneira. Não anormal e improdutivo cercar-se apenas de pessoas que pensam e trabalham da mesma maneira que você. Se você é um programador iniciante e passa todo o seu tempo entre o mesmo tipo de iniciantes, dificilmente pode esperar um progresso significativo e de alta qualidade.

Somos todos humanos, somos todos diferentes, temos diferentes consciências, experiências e visões sobre como resolver certos problemas. Por isso, não desanime se as opiniões de alguém forem diferentes das suas. Vocês podem ter algum objetivo comum pelo qual se esforçam, mas cada um terá seu próprio caminho.

Isso também se aplica na direção oposta, isto é, se você encontrar no fórum um código incomum, você não deve "ensinar" seu autor a programar. É melhor você sugerir ideias para resolver o problema, se souber. Não lhe compete nem tem o poder de mudar todos os programadores, transformá-los em robôs universais que usam o mesmo estilo de programação estabelecido por consenso.

Afinal, é em nossas diferenças que residem as possibilidades de criatividade, o que torna a programação tão empolgante. 

"Se é difícil para você mudar a si mesmo, agora imagine tentar mudar outra pessoa”,
(autor desconhecido).

Não confunda discutir estilos e métodos de programação com solucionar problemas. O primeiro pode envolver o uso ou não de bibliotecas ou indicadores, enquanto a solução é mais fazer tudo funcionar, sem que o autor tenha que abandonar seu próprio estilo.


4. Dar vem antes de receber

"Quem dá faz avançar o mundo. Quem toma avançam por si mesmo e sustenta o mundo", Simon Sinek.

É hora de parar de baixar códigos e bibliotecas prontos ou de procurar produtos gratuitos no Mercado sem dar nada em troca. Comece dando, criando soluções, ajudando outros iniciantes. 

Compartilhe seu conhecimento e experiência com o mundo, mesmo que ainda seja pouco e esteja em contínuo desenvolvimento (e espero que você continue, porque são bons programadores que estão em constante evolução, e os "noobs" costumam acreditar que já aprenderam tudo).

Você mesmo aprenderá mais rápido se se tornar parte da equação. Isso não se aplica à publicação de produtos no Mercado. Em maior medida, acredito, isso se aplica especificamente ao fórum em que os participantes são os programadores. Comunique, ajude, responda perguntas - esta é a sua contribuição para o desenvolvimento da comunidade. Quantos programadores experientes participam ativamente do fórum, ajudando iniciantes todos os dias, compartilhando sua experiência e conhecimento - isso é muito valioso!


5. Você pode confiar não apenas em si mesmo

"O talento vence jogos, mas só o trabalho em equipe ganha campeonatos", - Michael Jordan.

Muitos iniciantes não estão familiarizados com o termo Open Source e não trabalham com código aberto. Eles ficam terrivelmente assustados quando alguém pede para mostrar um trecho maior de código para entender melhor o problema e responder com mais precisão à pergunta do autor. Em parte, é por isso que, no início deste artigo, chamei os iniciantes de programadores incompreendidos. Frequentemente, os programadores novatos pensam que seu código é algo especial (apesar da presença de erros fáceis de identificar e corrigir sem a ajuda de terceiros) e que alguém poderia roubá-lo e criar um super sistema a partir dele, um santo graal. Por causa disso, eles têm medo de mostrar mais ou dar uma descrição mais detalhada do algoritmo e, em última análise, permanecem incompreendidos e seu problema permanece sem resposta.

E tudo porque as pessoas acreditam que elas só podem confiar em si mesmas.

Como desenvolvedor da web, tenho visto projetos incríveis tantas vezes, alguns deles podem valer milhões ou até bilhões de dólares e, ainda assim, estão todos disponíveis abertamente no Github.

Para mim, a melhor maneira de ajudar um projeto a crescer e se tornar mais popular é permitir que outros programadores participem dele, dando sua valiosa contribuição. Compartilhe seu código e procure por pessoas com interesses semelhantes: 

“Duas cabeças pensam melhor que uma só”, (provérbio).

Conclusão

Eu mesmo estou longe de ser perfeito como programador MQL5 ou como desenvolvedor web. Também continuo a estudar e a compreender que o processo de aprendizagem nunca para. Sempre me esforço para melhorar e me tornar melhor. E a razão pela qual tive a coragem de compartilhar ideias (isto é, ensinar como aluno) é que quero ajudar programadores que, como eu, desejam ser um pouco melhores.

Vamos melhorar juntos!

Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/9746

Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos
Neste artigo modificaremos todos os objetos da biblioteca. Para isso, atribuiremos um tipo único a cada objeto e continuaremos desenvolvendo a classe-coleção de objetos gráficos da biblioteca.
Como se tornar um bom programador (Parte 2): mais cinco hábitos que devem ser abandonados para programar melhor em MQL5 Como se tornar um bom programador (Parte 2): mais cinco hábitos que devem ser abandonados para programar melhor em MQL5
Este artigo é uma leitura obrigatória destinada a todos que desejam melhorar sua carreira como programadores. O objetivo desta série de artigos é ajudar o leitor, incluindo experientes, a melhorar suas habilidades de programação. As ideias descritas são aplicáveis tanto a programadores iniciantes em MQL5 quanto a profissionais.
Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação
Suponho que todo desenvolvedor quer escrever código mais rapidamente. Porém, a habilidade de escrever código de forma rápida e produtiva não é uma característica inata que apenas uns poucos trazem consigo. Trata-se de uma habilidade que qualquer programador pode desenvolver, independentemente da experiência prévia ou da quantidade de texto digitado com o teclado.
Combinatória e teoria da probabilidade para negociação (Parte III): primeiro modelo matemático Combinatória e teoria da probabilidade para negociação (Parte III): primeiro modelo matemático
Para dar continuação lógica ao tópico, hoje abordaremos o desenvolvimento de modelos matemáticos multifuncionais para tarefas de negociação. Assim sendo, descreverei todo o processo de desenvolvimento do primeiro modelo matemático para descrever fractais a partir do zero. Este modelo deve se tornar um importante alicerce, ser multifuncional e universal, inclusive para construir a base teórica para o futuro desenvolvimento do ramo.