Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пополняй свой счет через платежную систему Visa QIWI Wallet
khorosh
8099
khorosh 2010.11.03 09:59 

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

unknown subwidow number -1 for ObjectCreate function

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









c

Mislaid
614
Mislaid 2010.11.03 10:07  

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

techno
1226
techno 2010.11.03 10:14  
получи номер ошибки
khorosh
8099
khorosh 2010.11.03 10:18  
Mislaid:

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

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

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

Эта ошибка возникает не всегда и не зависит от ДЦ.
khorosh
8099
khorosh 2010.11.03 11:33  
Mislaid:
Эта ошибка возникает не всегда и не зависит от ДЦ.
Убрал из init() ObjectCreate, но ошибка осталась:((
techno
1226
techno 2010.11.03 11:40  
номер ошибки получи!!! функцией getlasterror()
Mislaid
614
Mislaid 2010.11.03 11:57  
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
8099
khorosh 2010.11.03 13:46  
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

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