Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Необходимость такого функционала будет возрастать по мере увеличения количества типов объекта. И станет необходимым при появлении объектов, когда по его типу нельзя определить количество точек привязки. Например, какая-нибудь полилиния. А пока не очень критично, но как пожелание в сервисдеск можно оформить.
Сейчас, реальнее всего (если такая необходимость есть) создать функцию-switch которая по типу объекта будет выдавать количество точек привязки.
Просто сделайте обработку этой таблицы (Справочник MQL5 / Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов ) в switch. Входным параметром функции будет ObjectGetInteger(chart_id,name,OBJPROP_TYPE)
Подводных камней нет тк все типы жёстко привязаны к точкам привязки. А вот если появятся объекты с переменным количеством точек тогда будет крайняя необходимость в таком функционале.
Сейчас, реальнее всего (если такая необходимость есть) создать функцию-switch которая по типу объекта будет выдавать количество точек привязки.
я давненько просил свойство в ObjectGet. но в СД был отказ.
мне так кажется, что это связано с самой логикой в недрах МТ5.
он наверно просто проходит по всем точкам и проверяет их на EMPTY. И если в точке есть нормальная цифра, то происходит построение.
То есть нет никакой прямой связи между типом объекта и числом точек привязки.
поэтому вы правильно заметили, что надо самому делать switch.
Сейчас, реальнее всего (если такая необходимость есть) создать функцию-switch которая по типу объекта будет выдавать количество точек привязки.
Просто сделайте обработку этой таблицы (Справочник MQL5 / Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов ) в switch. Входным параметром функции будет ObjectGetInteger(chart_id,name,OBJPROP_TYPE)
Подводных камней нет тк все типы жёстко привязаны к точкам привязки. А вот если появятся объекты с переменным количеством точек тогда будет крайняя необходимость в таком функционале.
я давненько просил свойство в ObjectGet. но в СД был отказ.
мне так кажется, что это связано с самой логикой в недрах МТ5.
он наверно просто проходит по всем точкам и проверяет их на EMPTY. И если в точке есть нормальная цифра, то происходит построение.
То есть нет никакой прямой связи между типом объекта и числом точек привязки.
поэтому вы правильно заметили, что надо самому делать switch.
Да, как писал выше, у меня это реализовано через switch. Работает без проблем. Но мысль-то идет дальше, хочется больше удобств и универсальности.
Кстати, на мой взгляд, было бы хорошо дать пользователям делать свои объекты. Например, позволить хотя бы объединять стандартные объекты в группы под общим "брендом". Чтобы можно было обращаться к группе объектов как к одному. Тогда появились бы какие-нибудь хитрые объекты типа полилинии, кольца, тор ... да много чего. Да даже объекты некой панели управления можно было бы объединить. А Ctrl-B выдавал бы не простыню объектов, а аккуратные названия групп объектов, ну или что-то подобное. И еще, проблема получения 100000 событий от изменения объектов в обработчик OnChartEven() тоже бы решилась, т.к. эти 100000 объектов можно было бы объединить в группу и получать всего одно событие CHARTEVENT_OBJECT_CHANGE. В общем, красота. Конечно, частично это все можно реализовать через классы, но не всё.
Lizar:
........ А Ctrl-B выдавал бы не простыню объектов, а аккуратные названия групп объектов, ну или что-то подобное...........
.......т.к. эти 100000 объектов можно было бы объединить в группу и получать всего одно событие CHARTEVENT_OBJECT_CHANGE. В общем, красота.......
Мечтать не вредно... А вот надеяться не советую.
:)
Пишу индикатор для отображения свеч сразу по нескольким инструментам. После запуска и до появления новых баров все отображается правильно:
Но после появления новых баров происходит смещение:
И ChartRedraw не помогает. Хотя если нажать правую кнопку-обновить все становится на места. Подскажите как предотвратить смещение?
Нормализуется ли double price; в MqlTradeRequest автоматически?(что маловероятно) и если нет то почему до сих пор в стандартной библиотеке нет нормализации ? (вопрос об этом поднимал 9 месяцев назад)
Я выходил из ситуации просто делая правки в стандартной библиотеке, но сами понимаете это не дело (при обновлении это сносится).
если я не прав то укажите в чём?
Автоматически нормализацию мы не делаем, так как не имеем права менять цену трейдера, чтобы не получить обвинения в самоуправстве.
Нужно самостоятельно в случае, когда используется расчитываемая цена, делать ее нормализацию. Когда выставляется ордер с чистыми неизмененными ценами Bid/Ask, то нормализация не нужна.
Автоматически нормализацию мы не делаем, так как не имеем права менять цену трейдера, чтобы не получить обвинения в самоуправстве.
Нужно самостоятельно в случае, когда используется расчитываемая цена, делать ее нормализацию. Когда выставляется ордер с чистыми неизмененными ценами Bid/Ask, то нормализация не нужна.
Спасибо, я узнал что хотел. В четвёрке приходилось нормализовывать даже bid/ask.
Вообще-то, в МТ4 не надо нормализовывать Бид и Аск. Они всегда по умолчанию нормализованные.
Если есть пример под рукой, покажите, пожалуйста.
Вообще-то, в МТ4 не надо нормализовывать Бид и Аск. Они всегда по умолчанию нормализованные.
Если есть пример под рукой, покажите, пожалуйста.