Эксперты, никто с такой проблемой не сталкивался?
Для понимания прикрепляю панельку, вот если ее запустить, а потом выбрать любой шаблон, то она пропадет, но деинициализация панельки не происходит.
Как сделать, чтобы панелька появилась на графике после выбора шаблона?
Эксперты, никто с такой проблемой не сталкивался?
Для понимания прикрепляю панельку, вот если ее запустить, а потом выбрать любой шаблон, то она пропадет, но деинициализация панельки не происходит.
Как сделать, чтобы панелька появилась на графике после выбора шаблона?
Установите панель на график, сохраните шаблон с именем советника (панельки) и будет Вам счастье))
Спасибо конечно, что решили поучаствовать в обсуждение - Вы такой первый :)
Но есть несколько моментов:
1. Хотелось бы эту проблему решить с помощью кода, а не обходными путями.
2. Для интереса проверил, но этот метод не работает, панель которая подхватится из шаблона будет только как картинка, функционал её срабатывать не будет.
OnChartEvent в тестере не работает, вам надо на каждом тике инициализировать собиьтие, и самому обрабатывать
OnChartEvent в тестере не работает, вам надо на каждом тике инициализировать собиьтие, и самому обрабатывать
Насчет OnChartEvent я в курсе, с событиями вопрос я разрешил, на каждом тике обрабатываю состояние кнопок.
Проблема в другом: В тестере событий выбираю панельку, нажимаю старт, пошло тестирование, после этого выбираю шаблон и панелька визуально пропадает, хотя деинициализация её не происходит.
Возможно нужно в классе использовать какой-то метод, чтобы отобразить панельку, но я пока не нашел решения.
(Панельку которую я прикрепил - это пример, чтобы можно было увидеть проблему.)
Насчет OnChartEvent я в курсе, с событиями вопрос я разрешил, на каждом тике обрабатываю состояние кнопок.
Проблема в другом: В тестере событий выбираю панельку, нажимаю старт, пошло тестирование, после этого выбираю шаблон и панелька визуально пропадает, хотя деинициализация её не происходит.
Возможно нужно в классе использовать какой-то метод, чтобы отобразить панельку, но я пока не нашел решения.
(Панельку которую я прикрепил - это пример, чтобы можно было увидеть проблему.)
когда вы выбираете другой шаблон, то панелька естественно пропадет... тогда на каждом тике надо проверять ее наличие, и если надо перерисовывать.
А что мешает вам назвать нужный вам шаблон как "tester.tpl" тогда при запуске тестера он автоматом подгрузиться, а потом на нем прорисуется панелька ???
когда вы выбираете другой шаблон, то панелька естественно пропадет... тогда на каждом тике надо проверять ее наличие, и если надо перерисовывать.
А что мешает вам назвать нужный вам шаблон как "tester.tpl" тогда при запуске тестера он автоматом подгрузиться, а потом на нем прорисуется панелька ???
Насчет tester.tpl интересный вариант, я даже и не знал, что тестер по умолчанию пытается подхватить шаблон с таким наименованием.
Но он не очень удобный, т.к. шаблонов может быть много и каждый раз переименовывать их не очень удобно. Тем более я собираюсь выложить разрабатываемую панельку в общественный доступ, чтобы люди пользовались, но с такими заморочками у пользователей будут сложности.
Насчет перерисовки я уже задумывался, но для этого нужно будет удалять старый объект, создавать новый и перекидывать все нужные свойства. Но ведь должен же быть какой-то метод, чтобы перерисовать панельку в старом объекте?!
С помощью IsVisible не получится проверить наличия видимости панельки, при пропадание панельки метод всё равно будет возвращать истину.
Насчет tester.tpl интересный вариант, я даже и не знал, что тестер по умолчанию пытается подхватить шаблон с таким наименованием.
Но он не очень удобный, т.к. шаблонов может быть много и каждый раз переименовывать их не очень удобно. Тем более я собираюсь выложить разрабатываемую панельку в общественный доступ, чтобы люди пользовались, но с такими заморочками у пользователей будут сложности.
Насчет перерисовки я уже задумывался, но для этого нужно будет удалять старый объект, создавать новый и перекидывать все нужные свойства. Но ведь должен же быть какой-то метод, чтобы перерисовать панельку в старом объекте?!
С помощью IsVisible не получится проверить наличия видимости панельки, при пропадание панельки метод всё равно будет возвращать истину.
Вы удивитесь, но если назвать шаблон именем советника, то он так же будет подгружаться при тестировании этого советника.
теперь перейдем к объектам на графике. Когда вы подгружаете шаблон, то он физически сносит все текущие визуальные объекты с графика, и ставит свои. Так что IsVisible вам тут не поможет - их там нет. если вы откроете список объектов на чарте, и нажмете кнопочку все, то вы увидите что вас советник установил набор объектов их которых состоит ваша панелька, причем имена этих объектов всегда идут с префиксом. итого : в ините вам нужно инициализировать либу, зачитать текущий префикс объектов, и на каждом тике, или на каждом баре проверять - а есть ли они на чарте, если нет - то переинициализировать либку (переставить объекты)
переинициализировать либку (переставить объекты)
Как переинициализировать - создан объект на базе класса, создать еще один объект, потом перекинуть нужные данные из первого объекта во второй и удалить первый объект?
Как переинициализировать - создан объект на базе класса, создать еще один объект, потом перекинуть нужные данные из первого объекта во второй и удалить первый объект?
да, но это если только вы храните состояние объектов. а так как нет, то достаточно Destroy / Create

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Используется панелька в тестере стратегий основанная на классе CDialog, но при выборе шаблона панелька пропадает, хотя ее события отрабатываются.
Есть ли возможность ее отобразить? Может кто сталкивался с такой проблемой.