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

 
MrBrooklin:

Olá Alexey, desculpe por não ter reagido imediatamente ao seu posto. O link é muito interessante. Procurei nos códigos de todos os 11 tipos de paradas e bibliotecas de funções. Tudo isso é muito interessante, apesar de estar escrito em MQL4. Para ser honesto, eu nunca imaginei que houvesse tantos tipos de paradas de trilha. Muito obrigado por seu apoio!

Atenciosamente, Vladimir.


Tudo está bem! :-)
Para ser honesto, eu esperava sua reação :-) :-)
Quero que saibam que graças a vocês e a Vasily Sokolov eu mesmo comecei a revisar meus códigos e bibliotecas aqui...
Obrigado pela motivação!
Ele explicou tudo muito bem em termos de iniciar o modelo de trilha. Ainda mais os nomes das funções são intuitivamente compreensíveis. Você mesmo já se aproximou em seu código. Aqui tudo está claro. O corpo e as funções da rede de arrasto exp exp vem em seguida. Você já chegou a este ponto por conta própria, portanto, tudo bem. O principal agora é prestar atenção à sua carga semântica como o Breakeven e a própria rede de arrasto para posições de compra e venda.
 
MrBrooklin:

Vasiliy, claro, muito obrigado por fazer tanto trabalho para mim, mas isso não me aproximou mais do entendimento de onde vieram essas funções mais os operadores e, o mais importante, por que eles apareceram. Teria sido mais correto chegar ao ponto de escrever esse código, o que você me sugeriu. Eu mesmo queria chegar a este ponto e agora quero fazê-lo.

Entendo que vocês, como muitos outros, estão cansados de minha constante soletração de todas as linhas de código e pisoteio no local, mas o problema é que ainda não entendo como tudo é construído, desde o algoritmo até a escrita do código. Devo acrescentar a falta de conhecimento de inglês ao problema, pois tenho que copiar e colar quase todas as mensagens de erro e aviso do compilador, e outras palavras em inglês, no Google Translator. A propósito, se alguém tentou executar esses micro-códigos, mesmo nano-códigos que coloquei neste tópico, todos eles passaram na compilação com "0 erro, 0 avisos".

Agora eu preciso de algum tempo para perceber, ou melhor, para entender por que estas funções e operadores apareceram. Portanto, em resumo, é um horror silencioso. E eu sou um mau aluno quando não entendo as coisas elementares.

Obrigado e a todos os outros programadores por tolerarem a minha lentidão. Embora eu perceba que sua paciência não é ilimitada.

Atenciosamente, Vladimir.


Se você não entender algo no MetaEditor, pressione F11 nos operadores destacados no código do modelo de Vasiliy e leia a ajuda sobre eles.
 
Aleksey Masterov:

Se você não entender algo no meta-editor, pressione F11 nos operadores destacados no código modelo do Vasiliy e estude a ajuda neles.

Olá Alexey, obrigado pela dica. Aprendi sobre a chave F1 (talvez seja o que você quer dizer) quando acabei de começar a estudar MQL5. Eu sempre uso HELP, ou seja, MQL5 Referência e procuro através de exemplos disponíveis que explicam como usar uma ou outra propriedade (variável, operador, loop, função, classe, etc.).

Cumprimentos, Vladimir.

 
MrBrooklin:

Olá! Maxim acima disse corretamente uma breve descrição do que esta ou aquela função faz, ajudando a entender e lembrar,

Eu acrescentaria que os cabeçalhos ajudam a encontrar o bloco certo em uma pilha de código, por exemplo, o bloco de parâmetros de entrada começa com um cabeçalho

//+------------------------------------------------------------------+
//| Expert input parameters                                          |
//+------------------------------------------------------------------+
 
Uma tarefa simples para Vladimir:
Escreva um roteiro para calcular o fatorial de um determinado número. O número é dado por parâmetros e pode estar na faixa de 1 a 15 inclusive, se exceder a faixa especificada, emitir uma mensagem. A resposta também deve ser impressa.
 
Aliaksandr Hryshyn:
Uma tarefa simples para Vladimir:
Escreva um roteiro para calcular o fatorial de um determinado número. O número é dado por parâmetros e pode estar na faixa de 1 a 15 inclusive, se exceder a faixa especificada, emitir uma mensagem. A resposta também deve ser impressa.

Olá, Alexander!

Olá, caros participantes desta linha!

Decidi fazer uma pausa até o próximo fim de semana, ou seja, 17 de outubro, por várias razões:

  1. Devido ao excesso de informação obtida em tão pouco tempo para mim, veio um estupor completo!
  2. Preciso descansar um pouco e mudar completamente para outros tópicos, sem visitar o Fórum MQL5.
  3. Pretendo sentar-me novamente no meu computador neste fim de semana e ler todas as mensagens nas páginas 1 a 59 deste tópico.
  4. Analisar todo o material construtivo fornecido pelos participantes neste tópico e tirar conclusões.

No futuro, tentarei postar código com menos freqüência, mas para torná-lo mais rico e mais completo e não como antes, quando postei algumas linhas de cada vez, distraindo os participantes do fórum de coisas mais importantes.

Esta mensagem não significa que eu tenha decidido desistir e capitular para a MQL5. Na verdade, tenho um forte desejo de estudá-lo, mas tentarei fazê-lo em um nível diferente de percepção da informação.

Vejo vocês neste fim de semana!

Com grande respeito a todos, Vladimir.

 

Enquanto o TC está no horário de saída...

Paralelamente a este tópico eu ensino programação a meus filhos (eles deveriam estar na escola, mas são ensinados a "matar você"). Portanto, há algumas conclusões e notas.

1. O resultado visual, tangível, visível e significativo é extremamente importante. A quantidade mínima de código que você coloca, impressa, deve produzir o efeito máximo.

2. Nós, como gurus auto-respeitosos, estamos afogando o TC em detalhes. Deve ter uma confusão de plataforma MQL e API.

3. MQL é totalmente inadequado para aprender de 0 ...:-( tendo o fundo, é bastante simples, mas a base que você precisa para obter

para apoiar a TS no aprendizado com zeros,

o primeiro é fornecer ao testador um Expert Advisor com código mínimo, que já será capaz de modificar e acrescentar.

a última tarefa (é a primeira sobre a parada de rastreamento) - para escrever uma coruja e executá-la no testador, então o TS verá como exatamente uma parada é rastreada.

 

Vejo que o homem foi bombardeado com conselhos. Também decidi me inscrever, talvez eu me livre do desejo))))) Estava brincando.

Certo. Então: eu quero uma rede de arrasto clássica.

Dividimos a tarefa em duas partes:

  1. A própria rede de arrasto.
  2. Alguma coisa na tela.
Vamos escrever o código:
enum EMessType{Init,Deinit,Set};

int OnInit(void){
   Messenger(Init);
   return INIT_SUCCEEDED;
}

void OnDeinit(const int reason){
   Messenger(Deinit);
}

void OnTick(){
   Messenger(Set,Tral());
}
  
string Tral() {return "0";}

void Messenger(EMessType fType,string fInfo=""){
   switch(fType){
      case Init:
      case Deinit:
         Comment("");
         break;
      case Set:
         Comment(fInfo);
   }
}

O que está acontecendo aqui?

  1. Temos uma função de Messenger que exibirá mensagens.
  2. Temos uma função Tral que arrasta as ordens de arrasto enquanto é um chamado "stub" que retorna algum valor válido para a execução do código.
  3. Há uma enumeração EMessType que define o que queremos dela na função Messenger; ela tem blocos Init, DeIni e Set

Este é um exemplo de uma simples decomposição.

É isso, minha esposa está aqui, estou evaporando))))

Amanhã continuaremos))))

PS Se você ficou entediado, não hesite em me dizer))))

 
curso de uma semana no enum)
 
E por que você continua com esta rede de arrasto? A rede de arrasto é um conselho menor, nada mais. Seria melhor desmontar o indicador, como o painel de instrumentos.