Добрый день.
Хочу поделиться странной проблемой.
Много лет пользуюсь самописным индикатором для МТ4, который по нажатию на клавиатуре заданных клавиш:
- создает объекты с заданными параметрами (трендовые, фиборасширения, прямоугольники и т.д.)
- удаляет объекты, находящиеся под мышью
- изменяет размеры объектов под мышью (прямоугольников, фиборасширений и т.д.), т.е. удлиняет или укорачивает их.
- удаляет с графика индикаторы.
В последние месяцы пользователи моего индикатора стали фиксировать случаи и многократно мне их демонстрировали, когда при удлинении/укорочении объекта вдруг ни с того ни с сего этот объект удаляется.... Или какой-то другой из ранее нанесенных объектов удаляется... Т.е. делается одна операция, а происходит параллельно еще и другая, которую не заказывал. Происходит это и в оффлайне, и в онлайн-режиме (на тиках), причем абсолютно бессистемно: может долго не происходить, а можно за 5 минут несколько раз зафиксировать такие приколы.
Вывел в лог все нажатия клавиш, по которым индикатор что-то делает на графике (создает, удаляет, изменяет размеры). После этого самый прикол: когда происходит самопроизвольное удаление объекта, который удалять и не собирался, то индикатор, судя по логу, не фиксирует нажатие клавиши для удаления (вообще ничего лишнего не фиксирует).
Вот тут и вопрос: как такие чудеса могут происходить? Как это возможно? Куда вообще копать, чтобы пофиксить такое?
Есть идеи?
P.S. Сам пользуюсь МТ4 build 1441 под Win7 х64, и таких приколов у себя не наблюдаю. Те, кто наблюдает, пользуются Win10.
добавить логи и
ChartRedraw, вашу-ж мать
типичная причина большинства "странных проблем" - в новых билдах (причём не то чтобы новых, а просто не старинных) без ChartRedraw ничего не_отобразится/не_изменится или только наполовину.
добавить логи и
ChartRedraw, вашу-ж мать
типичная причина большинства "странных проблем" - в новых билдах (причём не то чтобы новых, а просто не старинных) без ChartRedraw ничего не_отобразится/не_изменится или только наполовину.
Боюсь вы меня не поняли.
Если я наношу объект, и он не отображается, то да, ChartRedraw поможет. Но при чем тут ChartRedraw до самопроизвольного исчезновения объектов?
Или речь о том, что они не удаляются, а просто делаются невидимыми, и ChartRedraw восстановит их видимость?
Боюсь вы меня не поняли.
Если я наношу объект, и он не отображается, то да, ChartRedraw поможет. Но при чем тут ChartRedraw до самопроизвольного исчезновения объектов?
Или речь о том, что они не удаляются, а просто делаются невидимыми, и ChartRedraw восстановит их видимость?
после создания,удаления,изменения объектов обязательно должен следовать ChartRedraw.
Иначе начинаются "чудеса" и разночтения на разных терминалах. На вашем например запущено ещё что-то постоянно дёргающие перерисовку чарта, а у пользователей нет. Всё, у вас всё по разному
после создания,удаления,изменения объектов обязательно должен следовать ChartRedraw.
Иначе начинаются "чудеса" и разночтения на разных терминалах. На вашем например запущено ещё что-то постоянно дёргающие перерисовку чарта, а у пользователей нет. Всё, у вас всё по разному
Идея была интересная, но не помогло.
Вставил ChartRedraw во всех местах после создания/удаления/изменения. Однако чудеса и ныне там.
Идея была интересная, но не помогло.
Вставил ChartRedraw во всех местах после создания/удаления/изменения. Однако чудеса и ныне там.
объекты реально удаляются? То есть они исчезают из списка объектов?
Если да, тогда, если в дебаге устанавливаете точку прерывания в местах, где у Вас в коде происходит удаление объектов. И пытаетесь поймать этот момент удаления. Далее смотрите в дебаге откуда пришел этот вызов удаления.
Если при дебаге не происходит удаления, тогда принтуем места, где происходит удаление.
Чудес не бывает, а есть ошибки (как правило семантические) в собственном коде, намного реже в коде терминала МТ5 или МТ4.
Надеюсь, дебагом пользоваться умеете.
Добрый день.
Хочу поделиться странной проблемой.
Много лет пользуюсь самописным индикатором для МТ4, который по нажатию на клавиатуре заданных клавиш:
- создает объекты с заданными параметрами (трендовые, фиборасширения, прямоугольники и т.д.)
- удаляет объекты, находящиеся под мышью
- изменяет размеры объектов под мышью (прямоугольников, фиборасширений и т.д.), т.е. удлиняет или укорачивает их.
- удаляет с графика индикаторы.
В последние месяцы пользователи моего индикатора стали фиксировать случаи и многократно мне их демонстрировали, когда при удлинении/укорочении объекта вдруг ни с того ни с сего этот объект удаляется.... Или какой-то другой из ранее нанесенных объектов удаляется... Т.е. делается одна операция, а происходит параллельно еще и другая, которую не заказывал. Происходит это и в оффлайне, и в онлайн-режиме (на тиках), причем абсолютно бессистемно: может долго не происходить, а можно за 5 минут несколько раз зафиксировать такие приколы.
Вывел в лог все нажатия клавиш, по которым индикатор что-то делает на графике (создает, удаляет, изменяет размеры). После этого самый прикол: когда происходит самопроизвольное удаление объекта, который удалять и не собирался, то индикатор, судя по логу, не фиксирует нажатие клавиши для удаления (вообще ничего лишнего не фиксирует).
Вот тут и вопрос: как такие чудеса могут происходить? Как это возможно? Куда вообще копать, чтобы пофиксить такое?
Есть идеи?
P.S. Сам пользуюсь МТ4 build 1441 под Win7 х64, и таких приколов у себя не наблюдаю. Те, кто наблюдает, пользуются Win10.
Не могут они самовольно удаляться
А если удаляются, посоветуете в церковь сходить или что-нибудь другое?
Я к тому, что эта болезнь у меня! У программиста этот же код, только под Вин-7, работает, а у меня (Вин-10) сломался.
И проблема возникла на пустом месте. Работало нормально и бац, "вторая смена",
хотя код не меняли, терминал с мая не обновлялся, новых индикаторов не навешивал.
Понимаю, что так "не может быть потому, что не может быть никогда", но...
Я не программист, по коду не лазил, сверили - код идентичный. Где копать?
Кстати, удаление не совсем самопроизвольное,
оно - неадекватная реакция кода на нажатие клавиш управления объектами. Может это поможет... нам помочь?
А если удаляются, посоветуете в церковь сходить или что-нибудь другое?
Я к тому, что эта болезнь у меня! У программиста этот же код, только под Вин-7, работает, а у меня (Вин-10) сломался.
И проблема возникла на пустом месте. Работало нормально и бац, "вторая смена",
хотя код не меняли, терминал с мая не обновлялся, новых индикаторов не навешивал.
Понимаю, что так "не может быть потому, что не может быть никогда", но...
Я не программист, по коду не лазил, сверили - код идентичный. Где копать?
Кстати, удаление не совсем самопроизвольное,
оно - неадекватная реакция кода на нажатие клавиш управления объектами. Может это поможет... нам помочь?
выше говорили - пишите журналы. "произошло событие A", "нажата кнопка F", "удалён объёкт 117"
потом изучить журналы у вас и исполнителя и должно стать понятно.
чудес не бывает - могла сбиться идентификация (именование) объектов. Нам код и ваш софт неизвестен, на уровне гипотез всё..
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день.
Хочу поделиться странной проблемой.
Много лет пользуюсь самописным индикатором для МТ4, который по нажатию на клавиатуре заданных клавиш:
- создает объекты с заданными параметрами (трендовые, фиборасширения, прямоугольники и т.д.)
- удаляет объекты, находящиеся под мышью
- изменяет размеры объектов под мышью (прямоугольников, фиборасширений и т.д.), т.е. удлиняет или укорачивает их.
- удаляет с графика индикаторы.
В последние месяцы пользователи моего индикатора стали фиксировать случаи и многократно мне их демонстрировали, когда при удлинении/укорочении объекта вдруг ни с того ни с сего этот объект удаляется.... Или какой-то другой из ранее нанесенных объектов удаляется... Т.е. делается одна операция, а происходит параллельно еще и другая, которую не заказывал. Происходит это и в оффлайне, и в онлайн-режиме (на тиках), причем абсолютно бессистемно: может долго не происходить, а можно за 5 минут несколько раз зафиксировать такие приколы.
Вывел в лог все нажатия клавиш, по которым индикатор что-то делает на графике (создает, удаляет, изменяет размеры). После этого самый прикол: когда происходит самопроизвольное удаление объекта, который удалять и не собирался, то индикатор, судя по логу, не фиксирует нажатие клавиши для удаления (вообще ничего лишнего не фиксирует).
Вот тут и вопрос: как такие чудеса могут происходить? Как это возможно? Куда вообще копать, чтобы пофиксить такое?
Есть идеи?
P.S. Сам пользуюсь МТ4 build 1441 под Win7 х64, и таких приколов у себя не наблюдаю. Те, кто наблюдает, пользуются Win10.