Auto-aprendizagem da linguagem MQL5 a partir do zero - página 15

 
Vasiliy Sokolov:

Os programadores têm dois problemas: erros de compilação e problemas de arquitetura. Enquanto você é um iniciante, você se concentra em combater o compilador, e seu objetivo final é um programa que funcione corretamente. No entanto, muito rapidamente um programa para iniciantes se transforma no chamado código spaghetti, que o próprio autor não consegue descobrir em tempo hábil. É por isso que sugiro que você se concentre não no compilador e na exatidão do roteiro final, mas em questões arquitetônicas. É como aprender a tocar piano: primeiro você aprende a segurar os dedos corretamente e a sentar-se no instrumento corretamente, ninguém exige tocar Bach de um iniciante.

Você tem dois grupos de parâmetros que determinam o comportamento de seu roteiro: o primeiro é definido estaticamente, como uma macro. O segundo é definido pelo usuário ao carregar o script no gráfico. Agora o usuário não poderá selecionar o tipo do pedido a ser feito sem recompilar este script. Isto não é bom. Portanto, seria melhor abandonar estas macros em favor do parâmetro adicional:

Assim, definimos uma nova enumeração, que implementamos como um parâmetro de seleção para o usuário.

Agora eu ri de ver seu estilo, também com erros específicos, rabiscar um pouco mais.

 
MrBrooklin:

Olá, Peter! Estudo o livro didático conforme necessário, ou seja, quando vejo uma lacuna em meu conhecimento. Agora, sinto que terei que fazer uma pequena pausa e estudar o livro didático mais de perto. Todas as recomendações dos participantes do fórum são levadas em consideração e eu estou tentando aderir a elas. E agora me surpreende que eu tenha conseguido escrever algo usando apenas o livro de referência MQL5 por tão pouco tempo.

Cumprimentos, Vladimir.

O livro de referência MQL4 de Kovalev é o melhor livro. Ele está disponível em algum lugar neste site. Você não vai encontrar um melhor.
 
Vasiliy Sokolov:

O próximo problema com seu código é que ele se espalha para fora em uma longa folha de procedimento. Todos os iniciantes escrevem desta maneira. E este é um problema que permanece com eles por anos. Aprenda a quebrar seu algoritmo em partes, a partir do básico como este roteiro. Há duas maneiras de fazer isso: através de funções e classes. O conceito de aulas é muito difícil de entender no início, então sugiro que você se concentre em trabalhar com funções...por que não escrever uma você mesmo?

A principal coisa que uma função lhe dá é a capacidade de pensar estruturalmente e esboçar um algoritmo esquematicamente. Por exemplo, se houvesse um conjunto especial de funções necessárias na MQL para sua tarefa, você poderia escrever um algoritmo muito simples:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

E é isso aí. Temos um esquema de algoritmo simples diante de nossos olhos, que também funciona. Um sonho em uma palavra.

 
Roman:

Agora ri quando vi seu estilo, e com erros específicos, rabisco mais um pouco.

O que você tem a ver com erros, você nem sequer sabe como funciona, mas está dando conselhos. foram colocados no local na verdade, sem ofensa)

 
Реter Konow:
Note que o tutorial MQL4 de Kovalev é o melhor. Ele está disponível em algum lugar neste site. Você não vai encontrar um melhor.

São apenas coisas antigas que ninguém precisa hoje em dia. É melhor ler Kafka antes de ir para a cama. É mais útil.

 

Aqui, a melhor maneira de começar a aprender uma língua aplicada para tarefas altamente especializadas, sem se confundir com os conselhos de amadores ou quebrar a cabeça por causa de tarefas inoportunas:

O livro de Sergei Kovalevhttps://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

Você nem sabe como funciona, mas está dando conselhos. (Você foi colocado no local, nenhuma ofensa foi tirada)

Oh ho ho ho ho ))

Há outras pessoas dando conselhos aqui.
O problema foi pedido por condição, ninguém respondeu, inclusive você!
De que lugar, pode estar falando, se eu vejo a imagem oposta))

 
Vasiliy Sokolov:

São apenas coisas antigas que ninguém precisa hoje em dia. É melhor ler Kafka antes de ir para a cama. É mais útil.

O que você quer dizer com coisas antigas? Um alfabeto, um livro ABC, poderia ser lixo? Talvez a aritmética seja antiga?

Você é um bom programador, mas como professor você não vê as informações que são relevantes para seu aluno e julga mal o nível dele. Ele tem que dominar o básico na ordem correta, e somente um bom livro didático ajuda).

 
Реter Konow:
Vasily, o homem ainda nem sequer dominou as arraias. É muito cedo para que ele ouça tais palestras).

Peter, não vamos. Vamos lembrar como explicamos o OOP a vocês no fórum há alguns anos).

Bem, a verdade é que nem mesmo todos os programadores modernos entendem o que é uma matriz. Todos trabalham com listas, e nem todos os idiomas têm uma matriz dentro. Em algum lugar é enumerador + mapa, por exemplo, e o público não reclama.

 
Vasiliy Sokolov:

Peter, não vamos. Vamos lembrar como explicamos o OOP a vocês no fórum há alguns anos).

Bem, a verdade é que nem mesmo todos os programadores modernos entendem o que é uma matriz. Todos trabalham com listas, e nem todos os idiomas têm uma matriz dentro. Em algum lugar é enumerador + mapa, por exemplo, e o público não reclama.

Não, você é demais.))) (lembrei-me que estamos no primeiro nome, há muito tempo que você não estava aqui:))

Todos devem conhecer arrays!)), mas o OOP não é necessário. É bom, é claro, mas é muito cedo para falar sobre isso.