Ошибки, баги, вопросы - страница 1743
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
shift + F9 ('add watch')
Если ни куда не возвращает, или несколько вложенных вызовов - то создайте переменную, что бы можно было записать туда результат работы функции и отладить.
Переменную в которую функция развращается значение.
Если ни куда не возвращает, или несколько вложенных вызовов - то создайте переменную, что бы можно было записать туда результат работы функции и отладить.
Ну с переменной каждый умный может. А мне надо, как дураку - без нее.
Много вот таких функций
{
return(::ChartSetInteger(this.chartID, id, Value));
}
virtual bool SetProperty( const ENUM_CHART_PROPERTY_DOUBLE id, const double Value ) const
{
return(::ChartSetDouble(this.chartID, id, Value));
}
virtual long GetProperty( const ENUM_CHART_PROPERTY_INTEGER Property, const int SubWindow = 0 ) const
{
return(::ChartGetInteger(this.chartID, Property, SubWindow));
}
virtual double GetProperty( const ENUM_CHART_PROPERTY_DOUBLE Property, const int SubWindow = 0 ) const
{
return(::ChartGetDouble(this.chartID, Property, SubWindow));
}
И теперь в каждую вставлять переменную? Иначе никак?
И теперь в каждую вставлять переменную? Иначе никак?
Очевидно данные функции нужно переименовать: GetPropertyLong, GetPropertyDbl. Зачем им одинаковые имена-то?
В будущем разработчики обещали допилить шаблоны функций, чтобы можно было вызывать так: GetProperty<long>(...). Но виртуальным шаблон уже не сделаешь.
Очевидно данные функции нужно переименовать: GetPropertyLong, GetPropertyDbl. Зачем им одинаковые имена-то?
Как раз не понимаю, зачем разные имена? Вот так использую
this.SetProperty(OBJPROP_YSIZE, (int)CHARTOBJECT::GetProperty(CHART_HEIGHT_IN_PIXELS)); // Ширина объекта по оси Y в пикселях
this.SetProperty(OBJPROP_DATE_SCALE, false); // Признак отображения шкалы времени для объекта "График"
this.SetProperty(OBJPROP_BACK, false); // Объект на заднем плане
this.SetProperty(CHART_AUTOSCROLL, false); // Режим автоматического перехода к правому краю графика
this.SetProperty(CHART_SHIFT, false); // Режим отступа ценового графика от правого края
this.SetProperty(CHART_SHOW_OHLC, false); // Отображение в левом верхнем углу значений OHLC
this.SetProperty(CHART_SHOW_PERIOD_SEP, false); // Отображение вертикальных разделителей между соседними периодами
this.SetProperty(CHART_SHOW_VOLUMES, CHART_VOLUME_HIDE); // Отображение объемов на графике
this.SetProperty(CHART_SHOW_TRADE_LEVELS, false); // Отображение на графике торговых уровней (уровни открытых позиций, Stop Loss, Take Profit и отложенных ордеров)
this.SetProperty(CHART_MODE, CHART_LINE); // Тип графика (свечи, бары или линия)
this.SetProperty(CHART_COLOR_CHART_LINE, clrNONE); // Цвет линии графика и японских свечей "Доджи"
this.SetProperty(CHART_SCALEFIX, true); // Цвет линии графика и японских свечей "Доджи"
this.SetProperty(CHART_FIXED_MAX, 1.5); // Фиксированный максимум графика
this.SetProperty(CHART_FIXED_MIN, 1.0); // Фиксированный минимум графика
В будущем разработчики обещали допилить шаблоны функций, чтобы можно было вызывать так: GetProperty<long>(...). Но виртуальным шаблон уже не сделаешь.
Не понял примера.
С удовольствием послушал бы Вашу (и других компетентных форумчан) критику (на полном серьезе) по архитектурной стилистике и програмисткому тону в адрес своего кода. Выложу в кодобазу, как доделаю. Учиться никогда не стыдно.
MT4 Build 1010 (19 Aug 2016)
Как раз не понимаю, зачем разные имена? Вот так использую
this.SetProperty(OBJPROP_YSIZE, (int)CHARTOBJECT::GetProperty(CHART_HEIGHT_IN_PIXELS)); // Ширина объекта по оси Y в пикселях
Не понял примера.
Я невнимательно посмотрел сначала, думал у вас перегрузка только по возвращаемому значению. А раз и по аргументу тоже, тогда всё ок. Ну тогда я не в курсе, о чём идёт разговор. Исходные посты, откуда взяты цитаты, я не нашёл в этой ветке.
Затем, что перегрузка по типу возвращаемого значения невозможна.
Да и по логике, вам в любом случае надо как-то указать, какую именно из функций нужно вызвать. Не логичней ли этот тип задать в имени функции. Да собственно других вариантов то и нет. Вариант с шаблоном тут бы не подошёл, ну точнее пришлось бы ещё городить пляски с бубнами на ровном месте.
Привел Вам рабочий код - пашет без проблем.