![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почему компилер не видит разницы между int и color.
переопределяю функцию, ругается (говорит осторожно путаю педали).
ладно бы там были умолчательные параметры, а так всё вживую никаких многозначностей, определяй тип переданного параметра и вперёд.Почему компилер не видит разницы между int и color.
переопределяю функцию, ругается (говорит осторожно путаю педали).
ладно бы там были умолчательные параметры, а так всё вживую никаких многозначностей, определяй тип переданного параметра и вперёд.в данном случае компилер ругается на то что у вас создано две функции с одинаковым названием, и передоваемые параметры тут не причем.
В таком случае прочтите что означает слово "перегрузка".
ЗЫ ну заодно и "перегрузка функций".
Вопрос к пишущей братии, не ошибка не баг а именно вопрос кто что предложит...
Хочу получить имя указателя внутри класса но как то не клеится.
Вообщето суть в том что хочу чтоб стринг-имя графическому объекту назначалось автоматически.
А то получается дай указатель ещё пропиши стринг имя, в общем не удобно.
Нужно чтоб при установке граф.объекта из метода класса имя давалось автоматически в зависимости от указателя?
Как это сделать пока не знаю, думаю с миру по нитке разгрызём.
По идее, для автоматического назначения имени объекту существует два основных способа (с различными вариациями на тему, при реализации):
1. Формирование имени ведется на основе нумерованного списка
Назначением имени для объекта занимается отдельный класс, при этом он и ведет "нумераторы" (которые могут быть либо по всем объектам, либо по отдельной группе объектов).
По идеи имя в таком случае формируется на основе (желательно): типа объекта, имени символа (валютой пары), текстового обозначения ТФ и порядкового номера объекта (взятого из нумератора).
При этом в зависимости от реализации можно отслеживать наличие объекта на графике, а можно нет.
2. Формирование имени ведется на основании даты и времени создания объекта.
Имя при таком подходе может формироваться на основе: типа объекта, имени символа, текстового обозначения ТФ и ключа (сформированного на основе даты и времени).
PS
В первом варианте (на мой взгляд) будет разумней реализовать в классе и полный цикл управления объектами (создание, модификацию и удаление)...
В таком случае прочтите что означает слово "перегрузка".
ЗЫ ну заодно и "перегрузка функций".
не знал что такое возможно.
Полиморфизм и перегрузка функций это основы ООП которые должны присутстовать в любом уважающем себя языке
ПолиморфизмПолиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Полиморфизм обеспечивается тем, что в классе-потомке изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами — из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием — в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции.
Перегрузка функцийПерегрузка процедур и функций - возможность использования одноимённых подпрограмм: процедур или функций в языках программирования.
Пример из стандартной библиотеки торговых классов, класс CAccountInfo:
Долго я общался с уважаемыми MetaQuotes и доказывал им, что у них глюк, а они мне, что глюка нет.
Однако я остался при своем, а они мне посоветовали спросить у сообщества.
Итак есть индюк и советник который берет значения индюка.
Запускаем тестер по EURUSD с 01.07.2010 по 02.07.2010 периуд М1
Смотрим лог и видим что значения одного буфера меняются, а другого нет.
Это продолжается целый час, потом второй буфер оживает, но если посмотреть на значения индюка с ним он не совпадает.
Я даже попробовал сменить счет и перекачать историю, но это не помогло.
Вот ссылка на мой терминал в rar 90мбhttp://dl.dropbox.com/u/6290215/MetaTrader%205%201111.rar, там все настроенно
Ну и индикатор с советником во вложении
Почему компилер не видит разницы между int и color.
переопределяю функцию, ругается (говорит осторожно путаю педали).
ладно бы там были умолчательные параметры, а так всё вживую никаких многозначностей, определяй тип переданного параметра и вперёд.Вы представили код с ошибкой. Естественно, этот Ваш код и выдаёт ошибочную информацию. При этом Вы проигнорировали наши замечания по исправлению ошибки, каждый раз предлагая всё новый код и каждый раз с ошибкой.
Однако если бы вы мне сказали, что синхронизации быть не должно и надо в код ее встраивать...
Вместо этого вы упорно говорили, что все совпадает.
а TimeToString(time[0],TIME_DATE|TIME_MINUTES)," буф1-",buf1[1]," буф2-",buf2[1]); вместо TimeToString(time[1],TIME_DATE|TIME_MINUTES)," буф1-",buf1[1]," буф2-",buf2[1]);
это конечно ошибка, но на суть она не влияла.
Щас я еще индюк доделую проверю, насколько я был не прав.
Тоесть вы говорили что все совпадает и правили код советника. А на самом деле ничего не совпадает и править надо код индюка(встраивать в него синхронизацию)