Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 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:
В этом случае среднее всех передаваемых значений не рассчитать
 
Artyom Trishkin:

Если набор и количество чисел заранее не известны, то функций не напасёшься на каждый новый набор.

Да тут, как я посмотрю, опять одни недомолвки.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам

RomanRott, 2018.01.05 11:56


мне нужно передать в функцию несколько параметров, но в разных ситуациях нужно передать разное число, заранее известное
и дальше в функции эти параметры обрабатывать

в си например это реализовано примерно так

int func(int a, int b, ...)
А мы как всегда соревнуемся с членами клуба телепатов...
 
Alexey Viktorov:

Да тут, как я посмотрю, опять одни недомолвки.

А мы как всегда соревнуемся с членами клуба телепатов...
Ну, честно говоря, я так до конца и не понял поставленную задачу. Много условностей абстрактных, о которых не догадаешься сам.
Если количество и числа заранее известны - это одно. Какое их количество никто не знает, а от этого зависит уже подход к решению.
 
Alexey Viktorov:

Да тут, как я посмотрю, опять одни недомолвки.

А мы как всегда соревнуемся с членами клуба телепатов...

Не я лично сейчас кофе допью, попробую на кофейной гуще погадать, а кода (ну ка минимум его куска) как таковое мы похоже не увидим, чтоб было яснее с чего плясать =)

 

Что-то нагадал...

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);
  }

Хотя вам давно уже этот вариант предложили, но может наглядность поможет.

 

Всем доброго времени суток. Подскажите пожалуйста в чем может быть дело.

Тестирую советника в тестере  МТ- 4, скачанного с сайта Альпари. Вчера было все ОК , а сегодня редактор MetaEditor вдруг перестал компилировать код( не запускает процесс компиляции).

После нажатия на кнопку КОМПИЛИРОВАТЬ,  ничего не происходит. Кнопка остается в нажатом состоянии. Пытаюсь закрыть редактор...курсор превращается в часы и  на редакторе появляется надпись НЕ ОТВЕЧАЕТ, но редактор не закрывается. Не закрывается даже через Диспетчер задач. Перезагружаю компьютер - все в точности  повторяется .

Установил с сайта Альпари другой терминал.Открыл редактор. Пытался скомпилировать встроенный советник. Все то же самое .... ни компилирует ни с ошибкой ни без ошибки. Редактор зависает.

У меня ОС ХР

Спасибо за помощь.

 

ХР  или любовно Хрюша - ушла в прошлое. Нужны новые инвестиции на новый компьютер, новую ОС, новое мышленье

 
STARIJ:

ХР  или любовно Хрюша - ушла в прошлое. Нужны новые инвестиции на новый компьютер, новую ОС, новое мышленье

 Но почему вчера компилировал нормально. А сегодня перестал. Я не обновлял терминал. У меня даже связи с сервером не было и нет.
 

Приветствую. Подскажите пожалуйста как  создать графический объект (например как уровни Фибоначчи встроенные в терминал мт4) построенный из группы графических объектов (типа линий, окружностей итп) 

Причина обращения: