Скачать MetaTrader 5

Что означает эта ошибка?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
khorosh
9878
khorosh  

В журнале при тестировании выдаёт:

unknown subwidow number -1 for ObjectCreate function

Подскажите, пожалуйста, в чём может быть причина?









c

Mislaid
612
Mislaid  

Не используйте ObjectCreate в init()

techno
1226
techno  
получи номер ошибки
khorosh
9878
khorosh  
Mislaid:

Не используйте ObjectCreate в init()

В эксперте этого нет, а вот в индикаторе который использует эксперт есть. Спасибо. Но что интересно, что из 3 терминалов разных ДЦ эта ошибка возникает только на одном.
Mislaid
612
Mislaid  
khorosh:

В эксперте этого нет, а вот в индикаторе который использует эксперт есть. Спасибо. Но что интересно, что из 3 терминалов разных ДЦ эта ошибка возникает только на одном.

Эта ошибка возникает не всегда и не зависит от ДЦ.
khorosh
9878
khorosh  
Mislaid:
Эта ошибка возникает не всегда и не зависит от ДЦ.
Убрал из init() ObjectCreate, но ошибка осталась:((
techno
1226
techno  
номер ошибки получи!!! функцией getlasterror()
Mislaid
612
Mislaid  
khorosh:
Убрал из init() ObjectCreate, но ошибка осталась:((


Я поступаю следующим образом. Запускаю в start() процедуру инициализации объектов.

Объявляем глобальные переменные:

bool NoLabels;
string IndicatorName = "xxxxxxxxxxxxx"; // имя окна индикатора

в init()

//---- name for DataWindow and indicator subwindow label
IndicatorShortName(IndicatorName);
NoLabels = true;

в start()

if (NoLabels) CreateLabels(); // продолжение инициализации

Первые строки процедуры CreateLabels()

void CreateLabels()
{
int ChartWindow = WindowFind(IndicatorName);

if (ChartWindow < 0) return;

NoLabels = false;
...........

}

Да, и третий параметр в ObjectCreate() это ChartWindow

khorosh
9878
khorosh  
Techno:
номер ошибки получи!!! функцией getlasterror()
Не знаю точно где её ставить. Поставил после вызова индюка. Ошибку выдаёт 0.
Mislaid:


Я поступаю следующим образом. Запускаю в start() процедуру инициализации объектов.

Объявляем глобальные переменные:

bool NoLabels;
string IndicatorName = "xxxxxxxxxxxxx"; // имя окна индикатора

в init()

//---- name for DataWindow and indicator subwindow label
IndicatorShortName(IndicatorName);
NoLabels = true;

в start()

if (NoLabels) CreateLabels(); // продолжение инициализации

Первые строки процедуры CreateLabels()

void CreateLabels()
{
int ChartWindow = WindowFind(IndicatorName);

if (ChartWindow < 0) return;

NoLabels = false;
.......... .

}

Да, и третий параметр в ObjectCreate() это ChartWindow

Спасибо. К сожалению индюками не занимаюсь и в них не разбираюсь. Использовал чужой индюк.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий