Форум о заработке, инвестициях и криптовалюте - Показать сообщение отдельно - Советник: Усреднение + Мартингейл
Показать сообщение отдельно
Старый 11.06.2014, 12:33   #4
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Цитата:
Сообщение от golova Посмотреть сообщение
Скажите пожалуйста что означает сообщение во вкладке "Эксперты" zero divide in 'Усреднение 2.1 (контроль баров).mq4' (231,44) . Как видите ордера на Селл перестали открываться именно тогда и появилось это сообщение. Такое сообщение я вижу часто именно при работе с этим советником, тогда и перестают открываться ордера, приходится перезагружать терминал.


Блин. Точно помню в данной теме расказывал про эту ошибку. И вроде бы вы и спрашивали. Просто всем лень перелистать пару страниц и почитать ещё раз)

Ладно.

zero divide - ошибка появляется при делении на ноль.

Т.е. в самом советнике заложен немного неккоректный программный код, в котором случается функция деления на ноль. А на ноль как мы знаем делить нельзя.



Не 100% уверен, но как вариант может быть всё заложено здесь:

void Модификация_Тейк_Профита(int Тип)

{

double Средняя_Цена = 0, Лот_ордеров = 0;

Цена = 0;

for(int i=OrdersTotal()-1; i>=-1; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Магик_длинных_позиций || Магик_коротких_позиций) && OrderType() == Тип)

{

Цена += OrderOpenPrice() * OrderLots();

Лот_ордеров += OrderLots();

}

}

}

Средняя_Цена = NormalizeDouble(Цена / Лот_ордеров, Digits);



И таких вот строчек в советнике несколько. Так что вариантов может быть много)
Yurchik36 вне форума   Ответить с цитированием