Ошибки, баги, вопросы - страница 1360
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот что я предложил:
...
Изменения затрагивают только операции == и !=
Всё остальное, включая операцию = оставить как есть сейчас (без изменений)
Как можно оператор= оставить без изменений, если это сейчас вызывает путаницу между указателями и самими объектами? Если же использовать для этого *, то её следует использовать её и для всех остальных операторов. Должен быть единый стандарт. А то что вы предлагаете, чтобы компилятор сам выбирал нужный вариант - это неправильно. Будет куча трудноуловимых ошибок. Всё должно быть однозначно: действия либо с объектом, либо с указателем.
Впрочем все эти звёздочки - это конечно вынужденные костыли. Нужно менять всю концепцию, которая изначально была выбрана разработчиками не очень удачно, я считаю.
Нужно было отойти от привязки к С++, и соответственно отказаться от указателей как самостоятельного типа переменной, заменив их ссылками. Ссылки - по сути те же указатели, только интерпретируются компилятором как непосредственно сами объекты. Поэтому все действия с такими переменными, включая и операторы, трактуются как действия с объектом. Если же понадобится сравнить или присвоить именно ссылки, то использовать оператор взятия ссылки. Поэтому никаких противоречий не будет. Вот примерно так:
В общем, если когда-нибудь разработчики задумают MQL6, то нужно идти в этом направлении. Привязка к С++ уже бессмысленна, ибо не соответствует концепции языка.
У Вас какое самое последнее обновление было из того что есть?
У Вас какое самое последнее обновление было из того что есть?
у меня стоит 1150. не видит обновления до более поздней 1159
Интерес представляет именно MetaQuotes-Demo потому как раньше обновления были 2-3 раза в месяц. Понятно что у брокеров обновления значительно реже.
Согласен, обновился через MetaQuotes-Demo, все равно 1150! Причем терминал несколько раз сообщил, что скачаны обновления и предложил перезагрузиться, все равно 1150.
Ок, скачал дистрибутив с http://www.metatrader5.com/ru/download, завел демо-счет на MetaQuotes-Demo, несколько раз выключил-включил терминал - 1150! UAC отключен, Windows 7 SP1 - 64
Повторю вопрос, т.к. никто не ответил, а в связи с бурным обсуждением ООП он уехал вниз. Вопрос реально важный, это баг или фича? Замечено на МТ4.
Столкнулся с ситуацией, когда extern переменная меняется в ходе выполнения программы, но при смене таймфрейма опять принимает значение, заданное в окне свойств. Например, если перед запуском я установлю значение TradeEnable в EnableAll, а при выполнении программы поменяю значение на EnableBuy, то при перещелкивании чарта на другой таймфрейм значение вернется на EnableAll. Значение я определяю в событии таймера и вывожу через Comment, ошибки быть не может.
Перещелкивание между чартами никак на переменную TradeEnable не влияет. Читаю хелп - В отличии input-переменных, значения extern-переменных могут быть программно изменены в процессе работы программы.
Вот так у меня устроены OnDeinit и OnInit.
Вопрос: я чего-то не понимаю или изменение TradeEnable это ошибка runtime?
Для получения последних обновлений нужно подключаться к серверу MetaQuotes-Demo.
Это не помогает. Я даже сносил МТ5. Открывал демку на метаквотах. Все равно 1150.
Просто открыть демо-счёт на сервере MetaQuites-Demo мало: для обновления нужно ещё и подключаться к этому демо-счёту.
Ну естественно подключился. Потом опять перегрузил терминал. Все равно не видит обновлений.
Ну естественно подключился. Потом опять перегрузил терминал. Все равно не видит обновлений.
Странно (лог-файл просмотрел). По опыту - если есть обновления, то после подключения буквально в течении трёх секунд начинается закачка.