И здесь тишина. Ни ответа, ни привета...
Сейча проверил в MT4 и в MT5 на индикаторе параболик.
Вывел с параметрами по умолчанию. Рисует зеленым цветом.
Задал цвет NONE. Вместо того, чтобы исчезнуть с графика, расуется черными точками.
Цвет NONE не работает. И в МТ4, и в МТ5.
Цвет NONE предплагается, что вообще нет цвета, а не черный цвет...
АУ! Разработчики. Где Вы?
Ошибку с позиционированием курсора на текстовых объектах с разными точками привязки нашли и исправили.
Про цвет можно поподробнее? За последний месяц было несколько исправлений, касающихся цвета NONE. Возможно, что исправили.
Приведите, пожалуйста, фрагмент исходного кода, чтобы мы могли проверить. Описание типа "устанавливаю цвет объекта по умолчанию NONE" позволяет очень широко трактовать то, что Вы на самом деле пытаетесь делать. Поэтому - код.
Программно задается прорисовка графического объекта, если цвет не clrNONE.
if (ExtVLDinamicColor!=clrNONE) VLD();
...
if (mFan[1]==0 && ExtFiboFanNum>0 && ExtFiboFanColor!=clrNONE) screenFiboFan(false, 0);
...
Всего таких участков в коде более 6.
По умолчанию у меня действительно этот код работает. И графический объект не выводится. Но если через вкладку изменения цвета для индикатора я меняю цвеет, объект выводится заданным цветом.
Потом я снова хочу удалить объект с графика. Захожу во вкладку изменения цвета. И не тут-то было. Цвет NONE через вкладку цвета выдает значение 255.255.255. И объект никаким образом с графика удалить невозможно.
Приходится выгружать из памяти индикатор и загружать поновой. Чтобы по умолчанию был задан цвет NONE (clrNONE). Но у меня так работает. А вот у некоторых пользователей даже по умолчанию выводится черным цветом.
Полностью код здесь привести не получится. Просто сделайте вывод какого-нибудь графического объекта в основном окне графика, используя такую конструкцию if (ExtVLDinamicColor!=clrNONE) VLD();
А можно и по другому. В основном окне я вывел параболик с цветом по умолчанию. Задал цвет NONE. Параболик стал выводиться черным цветом.
В дополнительном окне вывел индикатор RSI. Цвет по умодчанию голубой. Задаю цвет NONE. Индикатор исчезает, линия индикатора исчезает. А вот OsMA цвет NONE задает черным.
У меня с помощью такого кода выводятся вееры Фибоначчи. Мой "индикатор" выводит вееры и другие графические объекты с помощью такого кода.
Почему для разных индикаторов цвет NONE имеет разное значение?
----------------------------
Это для версии мт 4 - 1010.
Сейчас включил мт5 - версия 1455. Standart Deviation через кладку изменения цвета цвет NONE скрывает линию индикатора. Envelopes - цвет NONE скрывает линии индикатора. А вот Parabolic SAR - цвет NONE задает вывод параболика черным цветом.
То есть и в МТ4-1010 и в МТ5-1455 цвет NONE работает непонятным образом.
Программно задается прорисовка графического объекта, если цвет не clrNONE.
if (ExtVLDinamicColor!=clrNONE) VLD();
...
if (mFan[1]==0 && ExtFiboFanNum>0 && ExtFiboFanColor!=clrNONE) screenFiboFan(false, 0);
...
Как можно использовать представленный Вами код? Он не является самодостаточным. И не иллюстрирует проблему.
Повторяю просьбу ещё раз: "Приведите, пожалуйста, фрагмент исходного кода, чтобы мы могли проверить."
Вы хотите, чтобы мы решили проблему? Для этого мы должны понять эту самую проблему. Чтобы мы поняли эту проблему, дайте небольшой исходник для того, чтобы однозначно проиллюстрировать то, что Вы так многословно описываете. Какой-нибудь скрипт из 5-10 строчек
В сервисдеск индикатор скомпилированный выложу с объяснениями, что сделать для выявления проблемы.
Индикатор после экспериментов просьба удалить. Это промежуточная версия. В последней версии эта ошибка также проявляется. Последняя версия в два раза больше весит. Там более 30 000 строк кода.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Еще в 2014 году была заявка по версии для Андроид Начата: 2014.05.05 16:30, #1007955
Вот последние сообщения
Скажите пожалуйста, проблема еще актуальна?
К сожалению не заметил Ваш вопрос.
Сейчас посмотрел в билд 846 от 16 сентября.
Проблем актуальна.
Было на счету 127$ с копейками. Закрыл прибыль3$. Стало 130$.
Через некоторое время смотрю - баланс опять стал 127$.
Выгрузил из память терминал. Снова загрузил. Все закачалось с сервера. Баланс стал 130$.
Видимо надо после каждого изменения баланса внутренние переменные терминала синхронизировать со значениями, находящимися на сервере.
===================
Эта ошибка до сих пор не исправлена. Я просто перестал про эту ошибку напоминать потому что не видно, чтобы кто-то хотел ее исправить
После каждой закрытой сделки просто выгружал метатрейдер из памяти и загружал поновой.
======================
Вот следующая заявка. Выкладываю переписку с сервисдеском.
Версия и битность терминала
2016.09.24 12:40:57.534 Windows 10 Home (x64 based PC), IE 16.89, UAC, 8 x Intel Core i7-2630QM @ 2.00GHz, RAM: 2284 / 6054 Mb, HDD: 127571 / 201840 Mb, GMT+04:00
Билд 1010
Описание проблемы
В индикаторе параметры для задания цвета по умолчанию стоят NONE.
В программе вывод графического объекта производится, если в параметре задающем цвет объекта стоит NONE.
if (ExtVLDinamicColor!=clrNONE) VLD();
if (ExtVLStaticColor!=clrNONE) VLS();
Задаю цвет объета. Вывожу графический объект на график.
Потом удаляю объекь с графика. Для этого ПЫТАЮСЬ снова задать цвет объекта в параметре NONE.
Вместо NONE в параметре задается цвет 255.255.255
И графиеский объект остается на графике, но выведенным черным цветом.
,...
Прошу исправить ошибку. После задания цвета NONE путем выбора его из таблицы цветов необходимо чтобы в параметре было значение NONE, а не 255.255.255
Ваша заявка принята к рассмотрению.
========================
С 26 сентября все в сервисдеске умерли. Никаких признаков жизни. А ошибка существует.
Почему такое безразличие к исправлению ошибок?
=========================
Следующая заявка
Вот переписка.
Версия и битность терминала
2016.10.07 15:45:16.955 Windows 10 Home (x64 based PC), IE 12.87, UAC, 8 x Intel Core i7-2630QM @ 2.00GHz, RAM: 2654 / 6054 Mb, HDD: 115667 / 201840 Mb, GMT+04:00
Описание проблемы
Создаю графические объекты с помощью такого кода:
if (hl==1) // 1
{
ObjectCreate(nameObj_,OBJ_TEXT,0,dt,iHigh(Symbol(),Period(),shift));
ObjectSetInteger(0,nameObj_,OBJPROP_ANCHOR,ANCHOR_LOWER);
ObjectSetString(0,nameObj_,OBJPROP_TOOLTIP,level_wave[l]);
}
else // 2
{
ObjectCreate(nameObj_,OBJ_TEXT,0,dt,iLow(Symbol(),Period(),shift));
ObjectSetInteger(0,nameObj_,OBJPROP_ANCHOR,ANCHOR_UPPER);
ObjectSetString(0,nameObj_,OBJPROP_TOOLTIP,level_wave[l]);
}
Координаты обектов задаются далее.
Объекта, создаваемые второй частью кода ( // 2) "работают" без ошибок.
Объекты, создаваемые первой частью кода "работают" с ошибками.
Создаю три объекта с помощью первой части кода. На приложенном скрине O - зеленым цветом, 4 - коричневым цветом и O - синим цветом.
Объекты имеют следующие названия nameObj_
O зеленый - 0_Wave_5_15_1475115000
4 коричневый - 0_Wave_6_03_1475115000
O синий - 0_Wave_7_15_1475115000
При выделении объектов в окне списка объектов (Ctrl-B) обекты выделяются.
А при щелчке мышью по данным объектам выделение объектов происходит неправильно.
В программе есть следующий код:
if (id==CHARTEVENT_OBJECT_CLICK) // Нажата клавиша мыши на объекте
{
Print(__LINE__," Нажата клавиша мыши на объекте: ", sparam);
}
Нажимаю на O зеленый. В распечатке на вкладке эксперты
2016.10.07 16:04:55.151 ZUP_15 GBPUSD,M30: 5665 Нажата клавиша мыши на объекте: 0_Wave_6_03_1475115000
что соответствует нажатию на 4 коричневый
Нажимаю на 4 коричневый. В распечатке на вкладке эксперты
2016.10.07 16:06:14.150 ZUP_15 GBPUSD,M30: 5665 Нажата клавиша мыши на объекте: 0_Wave_7_15_1475115000
что соответствует нажатию на O синий .
И только нажатие на O синий соответствует тому, что должно быть
2016.10.07 16:07:30.902 ZUP_15 GBPUSD,M30: 5665 Нажата клавиша мыши на объекте: 0_Wave_7_15_1475115000
Не понимаю, как такое возможно. Как это исправить? Возможно, я что-то налепил. Хотя при нажатии мышью на объект...
позиционирование мыши производится четко на каждом объекте и код для вывода информации о нажатии мыши на объекте простейший.
ПОМОГИТЕ!
GBPUSDM30.png (6.76 KB)
В дополнение. Ниже объекта зеленого O объектов нет на графике. Опустил курсор мыши ниже зеленого O на расстояние равное от зеленого O до коричневого 4.
Нажал на левую клавишу мыши. И получил такое сообщение:
2016.10.07 21:19:06.916 ZUP_15 GBPUSD,H4: 5665 Нажата клавиша мыши на объекте: 0_Wave_5_15_1475115000
То есть получается, что метатрейдер воспринимает положение объектов, которые спозиционированы выше максимума бара так, будто они смещены вниз.
И только синий O как бы смещен вниз и также положение этого объекта правильно воспринимается системой.
Этот объект находится как бы в двух местах на графике Одно реальное место. Второе - виртуальное, смещенное вниз.
Если над баром вывести еще несколько объектов, то все объекты, сколько бы их не было, будут как бы смещены вниз для мыши относительно своего реального местоположения. И только самый верхний объект будет восприниматься системой и на своем месте и смещенным.
А вот объекты, выведенные ниже минимума бара, все воспринимаются системой на своих местах.
Возможно, это как-то связано с параметром OBJPROP_ANCHOR,ANCHOR_LOWER
------------------
И еще. Выше написал, что при программировании ранее все работало нормально. А вот сейчас подумал. И уверенность в этом у меня пропала.
Это на днях я столкнулся с такой ошибкой. Ранее я не выходил при отладке на применение подобной комбинации . И, возможно, эта ошибка существовала давно.
Я только сегодня ее точно выявил.
Для экспериментовы выкладываю файл с прототипом программы. Основная программа находится в процессе разработки и отладки.
Это волновой зигзаг.
Описание его работы http://www.onix-trade.net/forum/topic/92269-%d0%b5%d1%89%d0%b5-%d0%be%d0%b4%d0%b8%d0%bd-%d0%b7%d0%b8%d0%b3%d0%b7%d0%b0%d0%b3-%d0%b2%d0%be%d0%bb%d0%bd%d0%be%d0%b2%d0%be%d0%b9/
Вывести панель с символами можно комбинацией клавиш SHIFT-W.
Выведите над/под экстремумом любого бара несколько символов с разных волновых уровней.
Выделение символов производится с помощью двойного щелчка мыши по символу.
Увидите проявление описанной ошибки.
Пожалуйста, проделайте следующее.
1. Выделите ваши объекты таким образом, чтобы на графике были видны рамки объектов и точки привязки.
2. Выведите координаты точек привязки в лог для последующего анализа
3. В обработчике нажатия мышки сделайте вывод координаты нажатия
4. Понажимайте мышкой и посмотрите какая координата выводится, к какой точке привязки она ближе
5. Покажите скриншот, координаты точек привязки и лог эксперта с координатами нажатия
Со своей стороны мы увидели, что срабатывание может быть за пределами прямоугольника выделения. Возможно, это как раз и влияет, надо проверять
Названия объектов
O - : 0_Wave_2_15_1476108060
XX - : 0_Wave_3_13_1476108060
(W) - : 0_Wave_4_10_1476108060
Объекты выстроены так.
O - уровень Micro - зеленый - самый нижний
XX - уровень SubMinuetto - коричневый - средний
(W) - уровень Minuetto - голубой - верхний
К сожалению курсор через принт скрин не сохраняется.
Скрин 1. Курор находится под ценовым баром. Тултип показывает, что курсор наведен на O - уровень Micro
Лог при нажатии под баром:
2016.10.10 18:05:10.794 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_2_15_1476108060 0.000000
2016.10.10 18:05:10.451 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_2_15_1476108060 0.000000
На скрине 1 видно, что выделился O - уровень Micro
Скрин 2. Курор находится по центру объекта O - уровень Micro. Тултип показывает, что курсор наведен на XX - уровень SubMinuetto
Лог при нажатии под баром:
2016.10.10 18:03:33.403 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_3_13_1476108060 0.0000002016.10.10 18:03:33.027 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_3_13_1476108060 0.000000
На скрине 2 видно, что выделился XX - уровень SubMinuetto
Скрин 3. Курор находится по центру объекта XX - уровень SubMinuetto. Тултип показывает, что курсор наведен на (W) - уровень Minuetto
Лог при нажатии под баром:
2016.10.10 18:22:20.143 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_4_10_1476108060 0.0000002016.10.10 18:22:19.819 ZUP_15 GBPUSD,M5: 5696 Нажата клавиша мыши на объекте: 0_Wave_4_10_1476108060 0.000000
На скрине 3 видно, что выделился (W) - уровень Minuetto
Скрин 4 - скрин с координатами объекта O - уровень Micro - зеленый
Скрин 5 - скрин с координатами объекта XX - уровень SubMinuetto - коричневый
Скрин 6 - скрин с координатами объекта (W) - уровень Minuetto - голубой
А вот почему-то price всегда выводится со значением 0. По всякому пробовал изменить код. Все время выводится 0.
nen
А вот почему-то price всегда выводится со значением 0. По всякому пробовал изменить код. Все время выводится 0.Приносим извинения. Перепутаны местами параметры.
Нужно так.
Хорошо.
По новой.
Названия объектов
O : 0_Wave_5_15_794016000 - уровень Minute
W : 0_Wave_6_10_794016000 - уровень Minor
(XX) : 0_Wave_7_13_794016000 - уровень Intermediate
============================================
Щелкаю мышкой под символом. Выделяется символ O : 0_Wave_5_15_794016000 - уровень Minute
Лог:
2016.10.12 14:07:24.660 ZUP_15 EURUSD,Monthly: 5698 Нажата клавиша мыши на объекте: 0_Wave_5_15_794016000 price: 1.412180
Скрин 11 - выделен объект O : 0_Wave_5_15_794016000 - уровень Minute
Скрин 12 - параметры объекта O : 0_Wave_5_15_794016000 - уровень Minute
============================================
Щелкаю мышкой по символу O : 0_Wave_5_15_794016000 - уровень Minute . Выделяется символ W : 0_Wave_6_10_794016000 - уровень Minor
Лог:
2016.10.12 14:18:29.335 ZUP_15 EURUSD,Monthly: 5698 Нажата клавиша мыши на объекте: 0_Wave_6_10_794016000 price: 1.502490
Скрин 13 - выделен объект W : 0_Wave_6_10_794016000 - уровень Minor
Скрин 14 - параметры объекта W : 0_Wave_6_10_794016000 - уровень Minor
============================================
Щелкаю мышкой по символу W : 0_Wave_6_10_794016000 - уровень Minor . Выделяется символ (XX) : 0_Wave_7_13_794016000 - уровень Intermediate
Лог:
2016.10.12 14:29:52.076 ZUP_15 EURUSD,Monthly: 5698 Нажата клавиша мыши на объекте: 0_Wave_7_13_794016000 price: 1.610863
Скрин 15 - выделен объект (XX) : 0_Wave_7_13_794016000 - уровень Intermediate
Скрин 16 - параметры объекта (XX) : 0_Wave_7_13_794016000 - уровень Intermediate
============================================
Скрины 11, 13, 15 сделаны для того, чтобы было видно, какая всплывающая подсказка (Tooltip)
Плохо, что не сохраняется положение курсора. Но выше из логов и описания видно, где был курсор.
Прикрепленные файлы:
16.png (69.74 KB)
Но почему тогда всплывающая подсказка также указывает неправильное значение уровня волнового символа.
На всплывающую подсказку никаким образом мой код не влияет. Она формируется метатрейдером. Системой.
Разбираемся.
Но почему тогда всплывающая подсказка также указывает неправильное значение уровня волнового символа.
На всплывающую подсказку никаким образом мой код не влияет. Она формируется метатрейдером. Системой.
====================
Далее в сервисдеске никаких признаков жизни со стороны разработчиков метатрейдера не наблюдается.
Почему разработчикам не интересно исправлять ошибки в своих программах? Для чего создан сервисдеск?
======================
Ошибку в версии для Андроид нашел как обойти.
Ошибку с цветом у меня есть несколько вариантов, как программно обойти.
Ошибку с позиционированием курсора... придется подробно делать описание для пользователей.
Но это дурдом. Ошибки ОБЯЗАН !!! исправлять разработчик основной программы. А разработчик их игнорирует.
Почему разработчика не беспокоит своя репутация?