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

 
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
 

Всем привет! Вопрос скорее из любопытства: "Почему членам перечесления ENUM_TIMEFRAMES назначены именно такие значения? Откуда взялось число 16385 при переходе от М30 к H1?" 

enum ENUM_TIMEFRAMES       
{                          
PERIOD_CURRENT = 0,        
PERIOD_M1 = 1,             
PERIOD_M2 = 2,             
PERIOD_M3 = 3,             
PERIOD_M4 = 4,             
PERIOD_M5 = 5,             
PERIOD_M6 = 6,             
PERIOD_M10 = 10,           
PERIOD_M12 = 12,           
PERIOD_M15 = 15,           
PERIOD_M20 = 20,           
PERIOD_M30 = 30,           
PERIOD_H1 = 16385,  //???       
PERIOD_H2 = 16386,         
PERIOD_H3 = 16387,         
PERIOD_H4 = 16388,         
PERIOD_H6 = 16390,         
PERIOD_H8 = 16392,         
PERIOD_H12 = 16396,        
PERIOD_D1 = 16408,         
PERIOD_W1 = 32769,         
PERIOD_MN1 = 49153         
}; 

 Заранее спасибо за ответ(ы)!!!

 
MigVRN:

Всем привет! Вопрос скорее из любопытства: "Почему членам перечесления ENUM_TIMEFRAMES назначены именно такие значения? Откуда взялось число 16385 при переходе от М30 к H1?" 

 Заранее спасибо за ответ(ы)!!!


PERIOD_H1 = 16385,  // = (1 << 14) + 1
PERIOD_H2 = 16386,  // = (1 << 14) + 2         
PERIOD_H3 = 16387,  // = (1 << 14) + 3
PERIOD_H4 = 16388,  // = (1 << 14) + 4
PERIOD_H6 = 16390,  // = (1 << 14) + 6
PERIOD_H8 = 16392,  // = (1 << 14) + 8
PERIOD_H12 = 16396, // = (1 << 14) + 12