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

 
double func(double x1=0, double x2=0, ну и далее сколько надо аналогично, double x20=0)
{
   double s=0; int k=0;
   if(x1 != 0) { s+=x1; k++; }
   if(x2 != 0) { s+=x2; k++; }
ну и далее сколько надо аналогично
   if(x20 != 0) { s+=x20; k++; }
   if(!k)return 0;

   double rez=s/k;
   Alert("Количество = ", k, "   Результат = ", rez);
   return rez;
}
 
STARIJ:
Neste caso, a média de todos os valores transmitidos não pode ser calculada
 
Artyom Trishkin:

Se o conjunto e o número de números não forem conhecidos antecipadamente, não há funções suficientes para cada novo conjunto.

Vejo que houve novamente um grande mal-entendido.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Qualquer dúvida que os novatos tenham sobre MQL4, ajuda e discussão sobre algoritmos e códigos

RomanRott, 2018.01.05 11:56


Preciso passar vários parâmetros para uma função, mas em situações diferentes, preciso passar um número diferente, conhecido antecipadamente
e depois processar esses parâmetros na função

Em C, por exemplo, ela é implementada assim

int func(int a, int b, ...)
E estamos competindo com membros do telepath club, como sempre.
 
Alexey Viktorov:

Há muita confusão de novo, como eu vejo.

E, como sempre, estamos competindo com membros do clube telepático.
Bem, para ser honesto, eu ainda não entendo a tarefa em mãos. Muitas convenções são abstratas, o que você não adivinharia por si mesmo.
Se os números são conhecidos com antecedência, isso é uma coisa. Ninguém sabe quantos são, e isso determina a abordagem para a solução.
 
Alexey Viktorov:

Parece-me que tudo se resume novamente aos mal-entendidos.

E estamos competindo com membros do clube telepático, como sempre.

Eu pessoalmente terminarei meu café, tentarei adivinhar sobre a borra de café, e o código (ou pelo menos um pedaço dele) como tal parecemos não ver, de modo que ficou mais claro para dançar com =)

 

Surgiu um imprevisto...

void OnTick()
  {
     int num = MathRand()%10+1;
     double bars[];
     if( CopyOpen( Symbol(), 0, 0, num, bars ) == num )
          func((int)SymbolInfoInteger(Symbol(), SYMBOL_DIGITS), bars);
  }

int func(int digit, double &array[])
  {
     int num = 0;
     for(int i=0; i<ArraySize(array); i++)
     {
          /* что-то делаем */
     }
     return(num);
  }

Embora esta opção lhe tenha sido oferecida há muito tempo, talvez a visibilidade ajude.

 

Bom dia a todos. Poderia me dizer qual pode ser o problema?

Estou testando um Expert Advisor no testador MT4, baixado do site da Alpari. Ontem tudo estava bem, mas hoje o MetaEditor deixa subitamente de compilar o código (não inicia o processo de compilação).

Depois de clicar no botão de compilação, nada acontece. O botão permanece no estado deprimido. Tento fechar o editor...o cursor se transforma em um relógio e o editor diz SEM RESPOSTA, mas o editor não fecha. Não fecha nem mesmo através do Task Manager. Reiniciar o computador - tudo é exatamente o mesmo.

Instalei outro terminal do site da Alpari e abri o MetaEditor. Tentei compilar EA embutida. É o mesmo .... Ela não se compila com ou sem erro. O editor congela.

Estou usando o sistema operacional XP.

Obrigado por sua ajuda.

 

XP, ou amorosamente Hrusha, é uma coisa do passado. Necessidade de novo investimento em novo computador, novo sistema operacional, novo pensamento

 
STARIJ:

XP, ou amorosamente Hrusha, é uma coisa do passado. Necessidade de novo investimento em novo computador, novo sistema operacional, novo pensamento

Mas por que ontem ele compilou bem. Hoje parou. Eu não atualizei o terminal. Eu não tinha nem mesmo uma conexão com o servidor e não tenho.
 

Saudações. Você pode me dizer comocriar um objeto gráfico (como níveis de Fibonacci construídos em terminal mt4) construído a partir de um grupo de objetos gráficos (como linhas, círculos, etc.)