Ошибки, баги, вопросы - страница 1089

 
MoneyJinn:

Это была стандартная полная инициализация индикатора, которая происходит при его первом запуске и осуществляется через Oninit().

Иногда при обновлении истории и т.д. ее также необходимо проводить.

Никто и не думал, что от повторной инициализации индикатора через Oninit() часть массивов просто перестанет отзываться.

Зачем?

"SetIndexBuffer Связывает указанный индикаторный буфер с одномерным динамическим массивом"

При обновлении истории вы связываете буфера с другими массивами?

Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
MoneyJinn:

Это была стандартная полная инициализация индикатора, которая происходит при его первом запуске и осуществляется через Oninit().

Иногда при обновлении истории и т.д. ее также необходимо проводить.

Никто и не думал, что от повторной инициализации индикатора через Oninit() часть массивов просто перестанет отзываться.

Вам уже предложили показать здесь исходник, чтобы хотя бы понять, в чём заключается проблема.

По двум строчкам кода (хоть и исходного) невозможно определить проблему.

 
MoneyJinn:

Это была стандартная полная инициализация индикатора, которая происходит при его первом запуске и осуществляется через Oninit().

Иногда при обновлении истории и т.д. ее также необходимо проводить.

В этом нет необходимости.

Просто вы перепривязку делаете по ошибке, потом надеетесь на сохранение данных в буфере и обращаетесь к нему до момента прихода перерасчета индикатора. Именно поэтому на обращении к несуществующим данным по неверному индексу и получаете закономерный out of range.

 
Renat:

В этом нет необходимости.

Просто вы перепривязку делаете по ошибке, потом надеетесь на сохранение данных в буфере и обращаетесь к нему до момента прихода перерасчета индикатора. Именно поэтому на обращении к несуществующим данным по неверному индексу и получаете закономерный out of range.

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

Проблема в том, что после повторной привязки массив не заполняется и именно при попытке записи выдается указанная ошибка.

Если это норма, тогда ладно...

 

До момента прихода запроса на пересчет индикатора буфер является пустым.

И если вы его повторно принудительно переинициализируете/перепривяжете, то не имеете права обращаться ни к одному его элементу, пока не попадете в обработчик индикатора OnCalculate.

 
На странице Модули торговых сигналов на русском языке в столбце "Тип сигнала" написано "За покупку" и "За продажу", а правильнее "На ...". Скорее всего был дословный перевод с английского с "For...".
 

Добрый день!

Помогите разобраться с активностью терминала.

Подписался на сигнал, терминал некоторое время поработал -- открывал, закрывал ордера. А потом счет заблокировали с комментарием "за высокую нагрузку на сервер". Поддержка говорит, что мой терминал генерировал большое количество запросов к серверу (открытие, закрытие, модификация и т.д.). Я по логам вижу, что метатрейдер раз в две минуты пытается синхронизировать свое состояние и больше ничего не происходит.

Есть какой-то вариант следить за количеством запросов от метатрейдера к серверу, чтобы не нарваться на блокировку всего счета?

 

1.Скажите, надежно ли использование флагов и статических переменных при использовании сервера vps?

Иногда в сложных условиях советника необходимо использование до десяти и более флагов, не считая статических переменных. 

2.Чтобы сбросить все флаги и статические переменные достаточно будет убрать советника с графика?

3.Что произойдет, если перезагрузить сервер, сохранятся флаги и стат.переменные? 

4.Если внезапно вырубится сервер, при включении флаги и стат.переменные сбросятся? 

Вопросы касаются MQL4 и MQL5. 

 
forexman77:

1.Скажите, надежно ли использование флагов и статических переменных при использовании сервера vps?

Иногда в сложных условиях советника необходимо использование до десяти и более флагов, не считая статических переменных. 

2.Чтобы сбросить все флаги и статические переменные достаточно будет убрать советника с графика?

3.Что произойдет, если перезагрузить сервер, сохранятся флаги и стат.переменные? 

4.Если внезапно вырубится сервер, при включении флаги и стат.переменные сбросятся? 

Вопросы касаются MQL4 и MQL5. 

1. Да, без разницы VPS или свой копм, главное чтоб МТ4/5 работал.

2. Да.

3. Не сохранятся.

4. Да, сбросятся.

Если хотите чтоб флаги сохранялись записывайте их значения в файл и потом считывайте. Попробуйте из советника убрать торговые функции, оставив те которые устанавливают флаги, выведите их в коммент, запишите их значения, перегрузите МТ4/5 и посмотрите сами что получится.

 
paladin800:

1. Да, без разницы VPS или свой копм, главное чтоб МТ4/5 работал.

2. Да.

3. Не сохранятся.

4. Да, сбросятся.

Если хотите чтоб флаги сохранялись записывайте их значения в файл и потом считывайте. Попробуйте из советника убрать торговые функции, оставив те которые устанавливают флаги, выведите их в коммент, запишите их значения, перегрузите МТ4/5 и посмотрите сами что получится.

Отличное решение с записью в файл

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
Причина обращения: