Обсуждение статьи "Пишем скальперский стакан цен на основе графической библиотеки CGraphic" - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это был вопрос с подвохом к тезке )) он не любит читать код, а ждет когда ему дадут готовый ответ ))
Как раз я это всегда и делаю и изначально я сделал удаление стакана как положено, как в твоем примере, что собственно требуется при работе со стаканом из справки.
Но при использовании данного метода,
у меня вылетает такая ошибка
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
Так же в самом индикаторе в
так же этого нет, был задан простейший вопрос - А как правильно сделать де инициализацию стакана
На данный вопрос я ожидал ответа,
- не чего не выдумывай, класс сам все закроет, даже если в нем не объявлен деструктор.
- Добавь
Или добавь в сам класс Деструктор
И будет тебе счастье... а ты развел димагогию обвинив меня в каких то опечатках в чужом коде, что он не скомпилируется, о чем я и без тебя знаю, что я там чего то не умею читать... по русски сказать подписал меня под оленя.
В новых билдах терминала (примерно с версии 2170) появилась проблема с исходниками сабжевой статьи ("Пишем скальперский стакан").
'Event' - unexpected token, probably type is missing? MBookBtn.mqh 57 12В частности, основной файл "MarketBook.mq5" выдает критические ошибки при компиляции:
'Event' - function already defined and has different type MBookBtn.mqh 57 12
Подскажите плиз что не так и как исправить?P.S. сейчас проверил "MarketBook.mq5" из старой статьи 2015 года. Оказалось и с тем проектом возникают ошибки такого же рода:
'Show' - unexpected token, probably type is missing? MBookFon.mqh 47 11
'Show' - function already defined and has different type MBookFon.mqh 47 11
В новых билдах терминала (примерно с версии 2170) появилась проблема с исходниками сабжевой статьи ("Пишем скальперский стакан").
'Event' - unexpected token, probably type is missing? MBookBtn.mqh 57 12В частности, основной файл "MarketBook.mq5" выдает критические ошибки при компиляции:
'Event' - function already defined and has different type MBookBtn.mqh 57 12
Подскажите плиз что не так и как исправить?Язык развивается и требования ужесточаются.
Смотрим файл "MBookBtn.mqh", объявление класса CMBookBtn - функций Event объявлена как void
и теперь смотрим на саму функцию в классе:
вторая ошибка говорит, что "'Event' - function already defined and has different type MBookBtn.mqh 57 12" - то есть функция была объявлена с типом void, а здесь она без указания типа.
Лечим:
- просто дописываем void перед функцией в теле класса.
Теперь снова компилируем файл ... Indicators\MarketBookArticle\MarketBook.mq5 - ошибок нет и запускаем: стакан работает.
Здравствуйте.
Подскажите пожалуйста, можно ли в классе MarketBook.mqh фиксировать - запоминать время найденного индекса ?
В данном методе мы находим индекс цены на котором стоит максимальный объем по стороне Аск и Бид.
Хочу еще знать еще в какое терминальное время мы получили данный индекс.
Структура стакана
Дает нам 4 параметра, но в ней нет времени.
Кто может направить в русло как запомнить время найденного индекса
Здравствуйте.
Подскажите пожалуйста, можно ли в классе MarketBook.mqh фиксировать - запоминать время найденного индекса ?
В данном методе мы находим индекс цены на котором стоит максимальный объем по стороне Аск и Бид.
Хочу еще знать еще в какое терминальное время мы получили данный индекс.
Структура стакана
Дает нам 4 параметра, но в ней нет времени.
Кто может направить в русло как запомнить время найденного индекса
наследуй структуру и добавь в нее дополнительное поле в которое при заполнении будешь добавлять время тика