PDA

View Full Version : Вопрос к SK...



Skull
10-02-2009, 15:30
Здравствуйте!

Не подскажите, в чём может быть проблема в "Панели"... ? Что именно может удалять значки в Панели?... :)

SK_
10-02-2009, 15:59
Насколько я понимаю, в терминале работает какая-то программа, которая удаляет все графические объекты.
Скорее всего, это индикатор, который показан на рис.1.

Я несколько раз ранее упоминал о корректности кодов. В данном случае, скорее всего, в коде индикатора некорректно используется функция
int ObjectsDeleteAll( int window=EMPTY, int type=EMPTY).
Эта стандартная функция удаления ВСЕХ объектов обычно применяется в составе специальной функции deinit(). Необходимость удаления объектов возникает при переключении таймфрейма (ТФ), т.е. нужно удалить всё, что отрисовано индикатором в окне и создать новые граф. объекты. Эта вполне обычная задача решается некорректно. Вместо того, чтобы удалить только "свою" графику, индикатор удаляет всё подряд! А это неправильно.

Под это удаление попадают и все объекты приложения AutoGraf 4. А AutoGraf, почувствовав, что его объекты удалены сопротивляется как может - сообщает пользователю, что так делать нельзя.

Как правильно составить корректный код для подобных случаев показано в статье Использование графических объектов в индикаторах (http://forextrade.ru/?p=3251&id=135087)

Что делать?
Выход один - переписать код индикатора (если имеется исходник). Или просто выбросить некорректно написанный индикатор.

Skull
10-02-2009, 16:07
QUOTE (SK_ @ Feb 10 2009, 08:59 PM) 17309"]
Насколько я понимаю, в терминале работает какая-то программа, которая удаляет все графические объекты.
Скорее всего, это индикатор, который показан на рис.1.

Я несколько раз ранее упоминал о корректности кодов. В данном случае, скорее всего, в коде индикатора некорректно используется функция
int ObjectsDeleteAll( int window=EMPTY, int type=EMPTY).
Эта стандартная функция удаления ВСЕХ объектов обычно применяется в составе специальной функции deinit(). Необходимость удаления объектов возникает при переключении таймфрейма (ТФ), т.е. нужно удалить всё, что отрисовано индикатором в окне и создать новые граф. объекты. Эта вполне обычная задача решается некорректно. Вместо того, чтобы удалить только "свою" графику, индикатор удаляет всё подряд! А это неправильно.

Под это удаление попадают и все объекты приложения AutoGraf 4. А AutoGraf, почувствовав, что его объекты удалены сопротивляется как может - сообщает пользователю, что так делать нельзя.

Как правильно составить корректный код для подобных случаев показано в статье Использование графических объектов в индикаторах (http://forextrade.ru/?p=3251&id=135087)

Что делать?
Выход один - переписать код индикатора (если имеется исходник). Или просто выбросить некорректно написанный индикатор.

Спасибо... Попробую переделать индикатор... Но вот смотрите... В данный моментВСЕ индикаторы удалены... Но что это за надписи в Панели? :huh:

SK_
10-02-2009, 16:15
Это просто.
Нажмите F8>>Общие. Снять галочку "Показывать описания объектов".

Skull
10-02-2009, 16:18
QUOTE (SK_ @ Feb 10 2009, 09:15 PM) 17311"]
Это просто.
Нажмите F8>>Общие. Снять галочку "Показывать описания объектов".


Всё... ОК... Было такое в свойствах шаблона...
Спасибо....
Пошёл переписывать индикатор... :)))))

SK_
10-02-2009, 19:23
ОК.