Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 731

 
prom18:
Здравствуйте! Помогите, пожалуйста. Допустим у нас есть несколько МА (3,4,...,10,...) с разными периодами. Как найти МА с наибольшим (наименьшим) значением на текущем баре? Спасибо.
Используйте MathMax'ы, спаривая! Тогда для 4-х понадобится 3 MathMax'ы, а для 8-и, соответственно, 7 MathMax'ов. Удачи!
 
borilunad:

Знатоки! Помогите упростить выражение:

N*(N+1)/2
 
TheXpert:
N*(N+1)/2
Спасибо, мне уже Виктор Vinin подсказал!
 
borilunad:
Благодарю за отклик, Артём! Сейчас делаю эксперта, не требующего большого запаса прочности. Попробовал вручную на нескольких парах, и выходит неплохо! Потому хочу на каждую пару поставить эксперта, но чтобы ни в чём друг другу не мешали и были полностью независимыми, даже время работы может не совпадать! Я каждого отдельно прооптимизирую в тестере. Что ещё необходимо для понимания, что они такие уж свободолюбивые будут у меня?! ;)

Ну и ставь каждого на свой график со своим магиком. Этого достаточно если магики внутри советника не изменяются (тогда случайные совпадения возможны). Если магики изменяются, то, зная код свой, знаешь насколько они меняются. Просто задавай в каждом новом советнике на другом графике такой магик, чтобы он не совпал с тем, который уже работает на другом графике с учётом возможного изменения.

Скажем, если магик меняется в диапазоне приращения от 0 до 9 (10 магиков для одного советника), то, если в 1-м советнике выбрал магик 100500, то во втором - 100510, в третьем - 100520, ...,  n - 1005n0

 
borilunad:
Используйте MathMax'ы, спаривая! Тогда для 4-х понадобится 3 MathMax'ы, а для 8-и, соответственно, 7 MathMax'ов. Удачи!
Спасибо! Попробую так.
 
artmedia70:

Ну и ставь каждого на свой график со своим магиком. Этого достаточно если магики внутри советника не изменяются (тогда случайные совпадения возможны). Если магики изменяются, то, зная код свой, знаешь насколько они меняются. Просто задавай в каждом новом советнике на другом графике такой магик, чтобы он не совпал с тем, который уже работает на другом графике с учётом возможного изменения.

Скажем, если магик меняется в диапазоне приращения от 0 до 9 (10 магиков для одного советника), то, если в 1-м советнике выбрал магик 100500, то во втором - 100510, в третьем - 100520, ...,  n - 1005n0

Доброе утро, Артём! Да насчёт магиков ясно! Но когда что-то не в цикле, а в условиях типа if-else, достаточно будет только первым условием поставить if(Symbol()==mySymbol)(конечно, без else), предварительно представив mySymbol=Symbol()?! Чтобы все переменные всех экспертов были одинаковые, но каждый на своём графике! Пока не могу проверить, ещё пишу, "вымучиваю"! :)
 
Здравствуйте.

Новый компилятор выдает сообщение об ошибке 

'void' - illegal use of 'void' type                                                 tiny_19.mq4 177 1
'close_all_b' - function can be declared only in the global scope tiny_19.mq4 177 6


Код такой:

void close_all_b()
{
for(int q=0;q<OrdersTotal();q++)
{
OrderSelect(q,SELECT_BY_POS,MODE_TRADES);
if ((OrderSymbol()==Symbol())&&(OrderMagicNumber()==MagicNumber)&& (OrderType() == OP_BUY) )
OrderClose(OrderTicket(),OrderLots(),Bid,5,Green);
}
} 

Как я понял (я разбираюсь плохо) ему не нравится тип переменной void и он  считает пользовательскую функцию close_all_b() объвлением внутри другой функции. Напишите пожалуйста как правильно решить эту проблему. 

 
xant:
Здравствуйте.

Новый компилятор выдает сообщение об ошибке 

'void' - illegal use of 'void' type                                                 tiny_19.mq4 177 1
'close_all_b' - function can be declared only in the global scope tiny_19.mq4 177 6

Как я понял (я разбираюсь плохо) ему не нравится тип переменной void и он  считает пользовательскую функцию close_all_b() объвлением внутри другой функции. Напишите пожалуйста как правильно решить эту проблему. 
Ему не нравится обьявление функции close_all_b() внутри другой функции. Вложенные функции  недопустимы, все функции должны быть расположены на глобальном уровне.
 
Да, спасибо, я понял что ему не нравится, было неясно как исправить. 

Списал тупо из чужого кода, все заработало)
 

Всем здравствуйте!

Подскажите пожалуйста в чем проблема с передачей значений через iCustom в советнике

2014.10.12 10:23:06.656 TestGenerator: unmatched data error (volume limit 470 at 2014.03.14 21:45 exceeded)

2014.10.12 10:23:53.468 2014.03.06 18:15  ClusterExp2 GBPUSD,M15: 2147483647 2147483647 

Delt1   = iCustom(NULL, 0, "correl8",1,0); // double Delt1; перечисление всех входных параметров correl8 не дало результата

Delt2   = iCustom(NULL, 0, "correl8",7,0); // double Delt1;

Индикатор correl8 на скрепке.

Заранее благодарю! 

Файлы:
correl8.mq4  16 kb
Причина обращения: