Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 919

 
novichok2018:

Olá!

Encontrei no fórum uma funçãoque calcula quantos pontos um preço passou por um certo número de segundos em Itens por segundo (const int segundos, MqlTick& stick). Coloquei-a em código e compilei-a - tudo está bem, mas quando tento chamá-la, o compilador gera uma contagem de parâmetros errada.

O que eu estou fazendo de errado?

Você não tem:

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
novichok2018:

O que aconteceu?

Todos estão dormindo, ou estão extintos?

Risos :)

 
Artyom Trishkin:

Você não lê:

Igor Makanu:escrever respostas a perguntas absurdas é preguiçoso

Cavalheiros "caras espertos"!

Você continua esquecendo em que tópico do fórum você está. Posso lembrar: o ramo se chama"Qualquer perguntade novatos...". E se você acha que pode ajudar os novatos (você não está aqui para se exibir, está?), então não há necessidade de responder de forma reticente perguntas que lhe parecem bobas e absurdas, e que são difíceis de entender para um novato sem sua ajuda.

Não adianta - li "chamada de função" em Estudos de Idiomas pelo menos vinte vezes, e ainda não entendo quais parâmetros devem ser inseridos neste caso em particular.

Então, talvez alguém se eleve acima da dificuldade e me dê alguns conselhos específicos?

Obrigado.

 
novichok2018:

Cavalheiros "pessoas espertas" !

Você continua esquecendo em que tópico do fórum você está. Posso lembrá-lo: a linha é chamada"Qualquer pergunta de novatos...". E se você acha que pode ajudar os novatos (você não está aqui para se exibir, está?), então não há necessidade de responder de forma reticente perguntas que lhe parecem bobas e absurdas, e que são difíceis de entender para um novato sem sua ajuda.

Não adianta - li "chamada de função" em Estudos de Idiomas pelo menos vinte vezes, e ainda não entendo quais parâmetros devem ser inseridos neste caso em particular.

Então, talvez alguém se eleve acima da dificuldade e me dê alguns conselhos específicos?

Obrigado.

Como eu poderia esquecer se este é meu ramo? :)

"Qualquer coisa" não significa que podemos falar sobre a força das bebidas... Qualquer pergunta, bastante "significativa". E o que você está perguntando é o básico de qualquer linguagem de programação, e você acabou de surpreender as pessoas com sua pergunta - devo começar a lhe ensinar o básico? Mas isso está além do escopo tanto deste tópico quanto do próprio fórum.

Eu lhe dei um link para ajudar - você vira o nariz para cima. Assim, com esta atitude para com aqueles que lhe mostram o caminho que leva ao conhecimento, em vez de "apenas fazer tudo por você", você vai abalar as pessoas dizendo "por que você está em silêncio, ninguém sabe ou o quê?

A Ajuda é tudo sobre funções e seus parâmetros formais. E, desculpe, há toneladas de exemplos na CodeBase. Abra qualquer código e procure a definição de qualquer função que tenha parâmetros formais e veja como ela é chamada...

Bem, é fácil - apenas não seja preguiçoso e não espere o maná do céu, e pelo menos mexa sua própria matéria cinzenta.

Não me formei na academia... Saí do exército e me interessei em escrever programas para o XZ Spectrum. Na BASIC... e cheguei ao ponto de escrever programas para ela em assembler, e depois continuou e continuou.

E não houve fóruns, e compartilhamos a Internet entre nós três (um hoje, outro amanhã, e eu depois de amanhã). E a Internet era cara, e também através de um modem por fios telefônicos.
Comprei livros de programação em um mercado de pulgas de rádio. Agora meu irmão, que se formou em programação, está me pedindo conselhos sobre como e o que fazer.
Mas eu queria aprender, eu era apaixonado por isso. E você? E você, em minha opinião, precisa de alguém que faça tudo por você.

 
Artyom Trishkin:

Não me formei na academia... Saí do exército e me interessei em escrever programas para o XZ Spectrum. Na BASIC... e cheguei ao ponto de escrever programas para ela em assembler, e então ela continuou e continuou.

Não houve fóruns e compartilhamos a Internet entre nós três (um hoje, outro amanhã, e eu depois de amanhã). E a Internet era cara, e também através de um modem por fios telefônicos.
Comprei livros de programação em um mercado de pulgas de rádio. Agora meu irmão, que se formou em programação, está me pedindo conselhos sobre como e o que fazer.
Mas eu queria aprender, eu era apaixonado por isso. E você? E você, em minha opinião, precisa de alguém que faça tudo por você.

Kudos a você por sua persistência e determinação. Tudo o que você disse é certamente digno de respeito, mas exigir o mesmo de todos os outros é insensato. Além disso, nem todos que querem escrever seu próprio robô tentam aprender linguagem de programação. Como disse acima, eu não tenho tal objetivo. Se você tiver alguma dúvida sobre como fazer isto ou aquilo, procure uma solução em livros de referência, livros didáticos, fóruns, sem ir muito fundo no assunto. Talvez seja por isso que situações como esta surgem, quando coisas aparentemente elementares de repente não são claras. É claro que, "agitando a matéria cinzenta", ainda vou encontrar uma solução. Sim, talvez tendo cavado "toneladas de exemplos emCodeBase" e desperdiçado muito tempo. Mas não fica claro por que você criou esta linha e por que você a chamou assim se, em vez de declarar ajuda a novatos, você os faz mergulhar fundo no estudo da língua. Você deveria ter chamado assim - "aprender MKL4 e MKL5 juntos". Acho que ninguém quer ser ajudado, basta explicar o que é o quê ou dar uma dica concreta, não um link para um livro didático. Se uma pessoa precisa que alguém faça algo por ela, ela deve dizer especificamente: por favor, escreva-me algo e assim por diante.

Bem, ele deveria ter feito isso por nada. Boa sorte em seu desenvolvimento posterior.

 
novichok2018:

Kudos para você por sua tenacidade e determinação. Tudo o que você disse é certamente digno de respeito, mas não acho que faça sentido exigir o mesmo de todos. Além disso, nem todos que querem escrever seu próprio robô tentam aprender linguagem de programação. Como disse acima, eu não tenho tal objetivo. Se você tiver alguma dúvida sobre como fazer isto ou aquilo, procure uma solução em livros de referência, livros didáticos, fóruns, sem ir muito fundo no assunto. Talvez seja por isso que situações como esta surjam, quando coisas aparentemente elementares não são compreendidas de repente. É claro que, "agitando a matéria cinzenta", ainda vou encontrar uma solução. Sim, talvez tendo cavado "toneladas de exemplos emCodeBase" e desperdiçado muito tempo. Mas não fica claro por que você criou esta linha e por que você a chamou assim se, em vez da ajuda declarada aos novatos, você os faz mergulhar fundo no estudo da língua. Você deveria ter chamado assim - "aprender MKL4 e MKL5 juntos". Acho que ninguém quer ser ajudado, basta explicar o que é o quê ou dar uma dica concreta, não um link para um livro didático. Se uma pessoa precisa que alguém faça algo por ela, ela deve dizer especificamente: por favor, escreva-me algo e assim por diante.

Bem, ele deveria ter feito isso por nada. Boa sorte em seu desenvolvimento posterior.

Há muito ressentimento em suas palavras. Mas você ainda nem sequer mostrou sua função.
 
Artyom Trishkin:
Há muito ressentimento nas palavras. Mas você ainda nem sequer mostrou sua função.

Não é ressentimento, é frustração. Há muito tempo que eu não era uma criança para me ofender. E ninguém pediu o recurso, você ficou todo sarcástico.

Bem, aqui está a função:

int ItemsPerSecond(const int seconds,MqlTick &tick)
{
//---
   static MqlTick rates[];
   datetime time_start;
   int count=0,size;
   bool insert=false;
   double price_start=0;
   long msc=0;
//---
   time_start=TimeCurrent()-seconds;
   
   for(int i=0;i<ArraySize(rates);i++)
   {
      if(rates[i].time>0 && rates[i].time<time_start)
      {
         ZeroMemory(rates[i]);
      }
      else if(!insert && rates[i].time==0)
      {
         rates[i]=tick;
         insert=true;
      }
      if(rates[i].time_msc>0 && (rates[i].time_msc<msc || msc==0))
      {
         price_start=rates[i].bid;
         msc=rates[i].time_msc;
      }
      
   }
   if(!insert)
   {
      size=ArraySize(rates);
      ArrayResize(rates,size+1,300);
      rates[size]=tick;
   }
   if(price_start>0)count=(int)((tick.bid-price_start)/Point);
   
   Comment("size: "+IntegerToString(ArraySize(rates))+"\r\n"+"count: "+IntegerToString(count));
//---
   return(count);   
} 

e eis como estou tentando chamar isso:

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

3 são três segundos (penso eu).

 
novichok2018:

Encontrei uma função no fórum,que conta quantos pontos o preço passou por um certo número de segundos em ItemsPerSecond(const int seconds,MqlTick&tick), coloquei-o no código, compilei-o - tudo está bem, mas quando tento chamá-lo, o compilador me dá uma contagem de parâmetros errada.

O que eu estou fazendo de errado?


novichok2018:

Eis como estou tentando chamar isso:

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

leia a ajudaem https://www.mql5.com/ru/docs/basis/function ehttps://www.mql5.com/ru/docs/basis/variables/formal

Quantos parâmetros você tem na função que você chama?

int ItemsPerSecond(const int seconds,MqlTick &tick)



novichok2018:

Além disso, nem todos que querem escrever seu próprio robô tendem a aprender a linguagem de programação. Como disse acima, eu não tenho tal objetivo. Se você tiver alguma dúvida sobre como fazer isto ou aquilo, procure uma solução em livros de referência, livros didáticos, fóruns, sem ir muito fundo no assunto. Talvez seja por isso que situações como esta surgem, quando coisas aparentemente elementares de repente não são claras. É claro que, "agitando a matéria cinzenta", ainda vou encontrar uma solução.

Infelizmente você não dominou o material MQL, não se trata de escrever programas sozinho, você não aprendeu nada.... nos dedos... Você aprendeu o alfabeto inglês "Hey, B, C, D...". e agora você tenta escrever no fórum em inglês, "Horosho", dizem a você que isto não é conhecimento de inglês, isto não se trata de nada.... e você está de volta à ofensa, aqui está um fórum, aqui está um tópico com suporte para novatos, e eu li tudo!!! e novamente em círculo, hey você esperto! e por que este tópico! Eu não sou do tipo ofensivo!!!

 
Igor Makanu:


leia ajudahttps://www.mql5.com/ru/docs/basis/function e https://www.mql5.com/ru/docs/basis/variables/formal

Quantos parâmetros você tem na função que você chama?



Infelizmente você ainda nem dominou o material MQL, não se trata nem de escrever programas por conta própria, infelizmente você não aprendeu nada.... nos dedos... Você aprendeu o alfabeto inglês "Hey, B, C, D..." e agora você tenta escrever no fórum em inglês, "Horosho", dizem a você que isto não é conhecimento de inglês, isto não se trata de nada.... e vocês estão ofendidos novamente, aqui está um fórum, aqui está um tópico com suporte para os recém-chegados, e eu li tudo!!! e novamente em círculo, ei vocês espertalhões! e por que este tópico! Eu não sou do tipo ofensivo!!!

Muitas cartas e nada além de narcisismo e humilhação do interlocutor. E de que forma o segundo parâmetro deve ser inserido? Eu perguntei o segundo parâmetro como um número com o mesmo resultado. Por que tantas "palavras"? Mostrar a solução no meu exemplo, pré-compilada e testada. Ou seu auto-respeito inchado não permite?

 
novichok2018:

Ou seu auto-respeito inchado o impede de fazê-lo?

OK, eu exerço meu direito de não me comunicar com você (felizmente você não pode me forçar a isso), você exerce o direito de escrever no fórum, mas não de ler o material oferecido a você para estudo?

void OnTick()
  { 
  MqlTick t;
// судя по исходнику в t нужно скопировать тики и вызывать так:
ItemsPerSecond(3,t); 
  }

novichok2018:

Perguntei o segundo parâmetro por número com o mesmo resultado. Por que tantas palavras? Mostre-me a solução no meu exemplo, pré-compilado e testado.

Aqui está uma chamada correta da função ItemsPerSecond() em seu exemplo, eu não compilei, testei e não vou rodar o terminal - eu respondi sua pergunta

Razão: