Обсуждение статьи "Пишем скальперский стакан цен на основе графической библиотеки CGraphic" - страница 3

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А слова которые я написал в своем вопросе не о чем не говорят ?
Ваш пример
Этот код опубликован автором темы в описании класса https://www.mql5.com/ru/articles/3336
По этому этот вопрос как минимум не мне должен быть адресован...
мне эти слова вообще ни о чем не говорят кроме одного - код примера тобой не изучен
ты приводишь пример удаления через
m_book_market.SetMarketBookSymbol(Symbol())
если открыть этот метод, то увидим там подписку на передаваемый тикер
но ни как не удаление подписки )) удаление подписки производится через функцию:
Копипаста наверное. Бывает. Автор скорее всего писал этот код частично прямо в браузере.
Вместо
CMarketBook MarketBook.mqh
напишите
CMarketBook MarketBook;
это был вопрос с подвохом к тезке )) он не любит читать код, а ждет когда ему дадут готовый ответ ))
это был вопрос с подвохом к тезке )) он не любит читать код, а ждет когда ему дадут готовый ответ ))
Как раз я это всегда и делаю и изначально я сделал удаление стакана как положено, как в твоем примере, что собственно требуется при работе со стаканом из справки.
Но при использовании данного метода,
у меня вылетает такая ошибка
P|S разобрался в чем дело, получается если в диструкторе класса этот метод используется, то в OnDeinit это использовать не нужно.
Снимаю свой вопрос, мне можно дать конфетку.
Если же деструктор не использовать в классе
То данная конструкция отрабатывается нормально
Хотя может я просто не умею пользоваться деструктором, или как вариант он реализован криво и по этому не работает как нужно.
функция подписки широковещательная, гарантированно удалит в OnDeinit все подписки, если у тебя слишком много объектов в коде и есть где то задержки при их удалении, то может времени не хватить которое выделено для отработки OnDeinit, а значит какие то объекты будут не удалены
тут либо искать проблему в коде, что более правильно, т.к. проблема явно есть и она когда нить стрельнет в ногу, либо тупо удалить в OnDeinit и забыть
ps.
Как раз я это всегда и делаю
ты явно не разбирал пример, либо подсунул изначально кривой код, типа нате вам, разбирайтесь, а я поугараю ))
с таким объектом CMarketBook MarketBook.mqh компилятор разве скомпилил бы код? ну хорошо, ты создал объект MarketBook.mqh, компилятор пропустил это святотатство, но ты работаешь с объектом MarketBook, у тебя на этапе OnInit возникла бы ошибка, т.к. такого объекта у тебя не было создано, я на это сразу и обратил внимание т.к. пример явно не рабочий, в связи с чем и задал тебе вопрос, но ты добросовестно спихнул все на разработчика класса и на его пример...
ты либо приводи рабочий пример кода, где эта ошибка воспроизводится либо объясни сразу все без лишних кодов, как ты сделал это сейчас, время сэкономишь себе в т.ч.
функция подписки широковещательная, гарантированно удалит в OnDeinit все подписки, если у тебя слишком много объектов в коде и есть где то задержки при их удалении, то может времени не хватить которое выделено для отработки OnDeinit, а значит какие то объекты будут не удалены
тут либо искать проблему в коде, что более правильно, т.к. проблема явно есть и она когда нить стрельнет в ногу, либо тупо удалить в OnDeinit и забыть
ps.
ты явно не разбирал пример, либо подсунул изначально кривой код, типа нате вам, разбирайтесь, а я поугараю ))
с таким объектом CMarketBook MarketBook.mqh компилятор разве скомпилил бы код? ну хорошо, ты создал объект MarketBook.mqh, компилятор пропустил это святотатство, но ты работаешь с объектом MarketBook, у тебя на этапе OnInit возникла бы ошибка, т.к. такого объекта у тебя не было создано, я на это сразу и обратил внимание т.к. пример явно не рабочий, в связи с чем и задал тебе вопрос, но ты добросовестно спихнул все на разработчика класса...
ты либо приводи рабочий пример кода, где эта ошибка воспроизводится либо объясни сразу все без лишних кодов, как ты сделал это сейчас, время сэкономишь себе в т.ч.
Ты просто в своем репертуаре, мне все равно что там автор в примере сделал ,какие допустил опечтки, это нужно быть полным идиотом что бы не понять что это просто опечатка.
Вопрос стоял совершенно в другом.
У него в примере есть инициализация - вызов стакана, далее есть его обновление через метод Refresh() но нет его удаления через
MarketBookRelease
в OnDeinit или же реализации этого же, но в деструкторе класса.
По этому я и задал вопрос автору, как более правильно по его мнению убивать стакан используя его класс т.к. эта работа у него отсутствует как в основном примере так и в самом классе и было бы хорошо его до реализовать, я не говорю что там что то плохо и т.д. просто этот момент упущен мне кажется.
Вопрос был задан автору и нормально сформулирован, зачем задавать и обсуждать мои вопросы и разводить демагогию на несколько страниц о том, что я читаю,чего я хочу получить от кого либо, и т.д. я сам в состоянии во всем разобраться в своем коде, что собственно и сделал... вопрос был совершенно в другом
Выше в коде добавил желтым цветом то что по моему мнению должно присутствовать в прилагаемом индикаторе.
Ты просто в своем репертуаре, мне все равно что там автор в примере сделал ,какие допустил опечтки, это нужно быть полным идиотом что бы не понять что это просто опечатка.
Вопрос стоял совершенно в другом.
У него в примере есть инициализация - вызов стакана, далее есть его обновление через метод Refresh() но нет его удаления через
в OnDeinit или же реализации этого же, но в деструкторе класса.
По этому я и задал вопрос автору, как более правильно по его мнению убивать стакан используя его класс т.к. эта работа у него отсутствует как в основном примере так и в самом классе и было бы хорошо его до реализовать, я не говорю что там что то плохо и т.д. просто этот момент упущен мне кажется.
Вопрос был задан автору и нормально сформулирован, зачем задавать и обсуждать мои вопросы и разводить демагогию на несколько страниц о том, что я читаю,чего я хочу получить от кого либо, и т.д. я сам в состоянии во всем разобраться в своем коде, что собственно и сделал... вопрос был совершенно в другом
Выше в коде добавил желтым цветом то что по моему мнению должно присутствовать в прилагаемом индикаторе.
тут нет телепатов, приведенный тобой пример в исходном вопросе не воспроизводит проблему о которой ты пишешь, кроме того в классе все механизмы присутствует, решение тебе подсказано, но кроме упреков не вижу ни чего, диспут закрыт
тут нет телепатов, приведенный тобой пример в исходном вопросе не воспроизводит проблему о которой ты пишешь, кроме того в классе все механизмы присутствует, решение тебе подсказано, но кроме упреков не вижу ни чего, диспут закрыт
- Во первых, ни какой проблемы вообще не было в моем вопросе.
- Во вторых я ни кого не упрекал не в чем, а лишь задал простой вопрос автору что бы уточнить свои догадки... а от тебя в каждом сообщении какие то нелепые обвинения и вопросы по коду, в мою сторону, который я вообще не писал, а взял из статьи описания класса как пример.
В справке сказано:
Деструктор — это специальная функция, которая вызывается автоматически при уничтожении объекта класса. Имя деструктора записывается как имя класса с тильдой (~). Строки, динамические массивы и объекты, требующие деинициализации, в любом случае будут деинициализированы независимо от наличия деструктора. При наличии деструктора, эти действия будут произведены после вызова деструктора.
В классе деструктора нет который бы закрыл стакан цен методом
MarketBookRelease
Так же в самом индикаторе в
так же этого нет, был задан простейший вопрос - А как правильно сделать де инициализацию стакана
На данный вопрос я ожидал ответа,
- не чего не выдумывай, класс сам все закроет, даже если в нем не объявлен деструктор.
- Добавь
Или добавь в сам класс Деструктор
И будет тебе счастье... а ты развел димагогию обвинив меня в каких то опечатках в чужом коде, что он не скомпилируется, о чем я и без тебя знаю, что я там чего то не умею читать... по русски сказать подписал меня под оленя.
Отлично! Великолепно ! Отличная работа!
Опубликована новая статья Реализация скальпирующей глубины рынка с помощью библиотеки CGraphic:
Автор: Василий Соколов
Спасибо, отличный инструмент, очень легко модифицировать.