Discussão do artigo "Funções em Aplicativos MQL5"

 

Novo artigo Funções em Aplicativos MQL5 foi publicado:

As funções são componentes essenciais em qualquer linguagem de programação. Entre outras coisas, elas ajudam os desenvolvedores a aplicar o princípio DRY (don't repeat youself, não se repita). O artigo fala sobre funções e sua criação no MQL5 com a ajuda de aplicativos simples que enriquecem seu sistema de negociação, sem complicá-lo.

Suponhamos que precisemos que o programa feche todas as ordens abertas quando o patrimônio atingir o máximo rebaixamento. Essa tarefa deve ser executada em várias partes do programa. Nesse caso, é melhor criar uma função e incorporar o código ou lógica necessários para realizar essa tarefa e, em seguida, chamá-la em outras partes, em vez de repetir o mesmo código em todos os lugares necessários.

Para responder à pergunta de por que devemos usar esse tipo de função, é necessário examinar as características do uso de funções personalizadas:

  • Funções personalizadas permitem a aplicação do método DRY (don't repeat yourself, não se repita): Criamos uma função que pode realizar uma tarefa uma vez e, em seguida, chamá-la em qualquer parte apropriada do software.
  • Reutilização: Após a criação de uma função, podemos reutilizá-la a qualquer momento.
  • "Dividir e Conquistar": Podemos dividir uma tarefa complexa em tarefas menores e resolvê-las com a ajuda de funções.
  • O código se torna mais legível e compreensível: Cada elemento do código resolve uma tarefa específica.
  • Abstração: Sem funções, precisaríamos de mais linhas de código.
  • Encapsulamento: Funções permitem proteger o código e os dados, além de simplificar o controle sobre eles.
  • Simplificação da depuração: Funções tornam significativamente mais fácil localizar e corrigir erros.

Autor: Mohamed Abdelmaaboud

 

útil

Muito obrigado

espero encontrar o mesmo para dicas e questões relacionadas

 
Mohamed Hassan Mohamed Hassan Alsherbiny #:

útil

Muito obrigado

espero encontrar o mesmo para dicas e questões relacionadas

Obrigado por seu comentário gentil.

Tentarei fazer isso.

 

Obrigado ao autor por este artigo! Acho que é uma informação muito útil para todos os iniciantes no aprendizado da linguagem de programação MQL5. Eu o adicionei aos meus favoritos.

Saudações, Vladimir.

Acrescentado: Meu único desejo ao publicar artigos em um fórum de língua russa é que todos os comentários sejam em russo. É muito mais fácil digerir as informações. Aqui está um exemplo. Em vez de:

//função de adição
// o tipo de dados retornado é um número inteiro - o nome da função é add - os parâmetros ou argumentos são duas variáveis int val1 e val2
int add(int val1, int val2)
  {
   //corpo da função que precisamos que a função execute ao chamá-la
   //criar uma nova variável de resultado a ser atribuída pelo resultado da adição de val1 e val2
   int result = val1+val2;
   /Imprimir resultado na guia de especialistas
   Print(result);
   //valor de retorno
   return 0;
  }

seria ótimo ver a tradução de uma só vez:

//função de adição
//O tipo de dados retornado é um número inteiro. O nome da função é add. Os parâmetros ou argumentos são duas variáveis do tipo int val1 e val2.
int add(int val1, int val2)
   {
    //o corpo da função que queremos que seja executado quando for chamado
    //criar uma nova variável de resultado à qual será atribuído o resultado da adição de val1 e val2
    int result = val1+val2;
    /Imprima o resultado na guia Experts
    Print(result);
    //retorno de valor
    return 0;
   }

A propósito, quando eu estava traduzindo os comentários para o russo, tive mais um acréscimo na forma de uma pergunta: por que return nessa função retorna zero em vez de resultado?

Não é um erro do autor?

 
MrBrooklin #:

A propósito, quando eu estava traduzindo os comentários para o russo, tive mais um acréscimo na forma de uma pergunta: por que o retorno nessa função retorna zero e não o resultado?

Não é um erro do autor?

Senhores programadores!!! Meu cérebro secou a ponto de eu não entender o propósito do operador return ou ainda é um erro do autor?

Saudações, Vladimir.

 
MrBrooklin #:

Senhores programadores!!! Será que meu cérebro secou a tal ponto que eu não entendo o propósito do operador return ou é um erro do autor?

Saudações, Vladimir.

Olá, Vladimir. Acho que você já se tornou um programador experiente o suficiente para adivinhar que se trata apenas de um erro....

 
Alexey Viktorov #:

Olá, Vladimir. Acho que você já se tornou um programador experiente o suficiente para adivinhar que isso é apenas um erro....

Bom dia, Alexey! Obrigado, é claro, mas ainda estou tão longe de ser um programador experiente quanto estou de Pequim. )) Só estou me perguntando como eles permitem que artigos com esses erros entrem no fórum ?

Atenciosamente, Vladimir.

 
MrBrooklin #:

Bom dia, Alexey! Obrigado, é claro, mas ainda estou tão longe de ser um programador experiente quanto estou de Pequim. )) Gostaria de saber como eles permitem que artigos com esses erros entrem no fórum ?

Saudações, Vladimir.

Vladimir, "experiente o suficiente" não significa guru. Isso não é elogio.

A função é escrita e não depurada, portanto, esses erros são possíveis devido à desatenção. E o que eles sentem falta......... De quanta equipe você precisa para reler todos os artigos cuidadosamente e corrigir esses erros? Isso não é realista... Se você perceber um erro, informe-o, ele será corrigido e todos ficarão felizes.

 
Alexey Viktorov #:

Vladimir, "experiente o suficiente" não significa guru. Não é bajulação.

A função é escrita e não depurada, portanto, esses erros são possíveis devido à desatenção. E o que eles sentem falta......... De quanta equipe você precisa para reler cuidadosamente todos os artigos e corrigir esses erros? Isso não é realista... Se você perceber um erro, informe-o, ele será corrigido e todos ficarão felizes.

A questão é que os iniciantes aprendem com esses artigos, inclusive os que não têm nenhum conhecimento, e não têm oportunidade de avaliar se o código está correto ou não, mas apenas de acreditar nele. ))

Saudações, Vladimir.

 
MrBrooklin linguagem de programação MQL5. Eu o adicionei aos meus favoritos.

Saudações, Vladimir.

Acrescentado: meu único desejo ao publicar artigos em um fórum em russo é que todos os comentários sejam em russo. É muito mais fácil digerir as informações. Aqui está um exemplo. Em vez de:

seria ótimo ver uma tradução imediatamente:

A propósito, quando eu estava traduzindo os comentários para o russo, tive mais um acréscimo na forma de uma pergunta: por que o retorno nessa função retorna zero e não o resultado?

Não é um erro do autor?

Olá, Sr. Brooklyn!

Obrigado por seu comentário e sua notificação. Esse erro foi editado e enviado para publicação correta.


Muito obrigado

 
Mohamed Abdelmaaboud #:

Olá, Sr. Brooklyn!

Obrigado por seu comentário e sua notificação. Esse erro foi editado e enviado para publicação do correto.

Muito obrigado

Boa tarde, obrigado por sua resposta.

Atenciosamente, Vladimir.