Что скажут профи: Как получить значения скрола мышки в MQL? [репост с пятого форума] - страница 8
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
спасибо, немного запоздало, но все же.
Сначала бы неплохо определиться, в каком именно виде необходимо получение об информации о возникновении события: напрямую или опосредовано?
Если исходить из того, что написание собственной DLL не рассматривается, то может тогда и от API отказаться? Если косвенный способ подходит, то:
Вешаем на график зацикленный скрипт, который проверяет индекс первого видимого бара в окне - WindowFirstVisibleBar (можно вместе с количеством баров в окне - WindowBarsPerChart). Если отличаются от предыдущего значения, то совершались действия с графиком. Правда, в этом случае не только колесико мыши могло быть причиной (изменение масштаба по времени - "+", "-", нажатие Home или End, прямой переход к нужной дате).
В любом случае, пока мало информации для того, чтобы понять, что именно требуется от определения события кручения колесика мыши. Тогда можно и методы подсказать.
P.S. Ну а если нужен доступ к функции обработки окна, то это SetWindowLongPtr (см. msdn). Но без DLL тут не обойтись, т.к. нельзя назначить новую процедуру обработки сообщений, расположенную в MQL-коде.
Обратите внимание, в этом посте практически содержится решение. Немного не дожали его почему то. Автор сначала ухватил простую и верную мысль, а потом потерял ее, отправившись в поиск глобального решения вместе с остальными. А жаль...
P.S. Был рад помочь.)
Обратите внимание, в этом посте практически содержится решение. Немного не дожали его почему то. Автор сначала ухватил простую и верную мысль, а потом потерял ее, отправившись в поиск глобального решения вместе с остальными. А жаль...
P.S. Был рад помочь.)
Тогда такие времена были, старый язык, ограниченные возможности... так что приходилось изгаляться... автор, то есть я, эту проблему удачно решил, а потом благополучно потерял интерес )))
Лучшим вариантом, будет передать тебе решение в общих чертах, но не с целью что либо доказать, а на основании дружбы.
Конечно, реализация является попыткой найти выход из безвыходного положения. При полном отсутствии возможности прокрутки колесиком, - это самое простое и "родное" решение. Для получения полноценного решения я уже обращался в сервисдеск. Ну а будет оно или нет, зависит он разработчиков.Я так и понял, что реализация будет с прыгающим графиком. Согласен, что лучшее решение - это упасть в ноги разработчикам и попросить добавить событие прокрутки и нажатия колесика, а также возможность временного отключения скролинга графика колесиком мышки. Ведь для них это ну совсем не сложно - десяток строк кода. Не понятно, чего это они вдруг решили, что никому не понадобиться колёсико мышки... Но если очень приспичит, то решение от прыгающего графика, как вариант, может быть такое: отключение самого графика ( ChartSetInteger(0,CHART_SHOW,false); ) и создание его дубля через CCanvas, но это, конечно же, всё бубны, поход к соседу через Северный Полюс.
Но все равно - зачёт и ты, Пётр - крутяшка и хороший программист. Это я всегда говорил, но и говорил так же, что свой творческий потенциал ты тратишь на "выращивание помидоров в Турции", где они нафиг никому не нужны.
...но и говорил так же, что свой творческий потенциал ты тратишь на "выращивание помидоров в Турции", где они нафиг никому не нужны.
Изложу свою точку зрения.
Сейчас у платформы МТ5 накопился огромный потенциал. Множество возможностей и библиотек. Но вместе с этим, развитие MQL-программ зашло в тупик.
Преграда дальнейшему развитию - отсутствие возможности роста программ внутри платформы.
Пользователи не могут далее расширять свой программный функционал, не имея возможности вывести модули управления им в графический интерфейс.
Отсутствие GUI у MQL-программ является глобальной преградой их дальнейшему развитию. Ренат говорил, что период "детских" программ в одну страницу должен закончится. Я с ним полностью согласен. Но как он может закончится, если у трейдеров нет физической возможности вылезти из "коротких штанишек"?
Перечислим последствия отсутствия GUI у MQL-программ:
Весь полезный материал МТ5 как бы "заперт" внутри и малодоступен.
Как только появится GUI, костыли отпадут, а возможности заложенные в МТ5 станут открыты. Также появится много новых возможностей.
//-----------------------------------------------------------------------------------------------------------
Моя аксиома: НЕ МОЖЕТ СЛОЖНАЯ ПРОГРАММА БЫТЬ ПОЛНОЦЕННОЙ, ЕСЛИ У НЕЕ НЕТ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА КАК СРЕДСТВА ВЗАИМОДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЕМ. Она будет оторванной и запертой внутри машины. Работать с ней всегда неудобно. Если она изначально примитивна и проста, то GUI не нужен, но в такой сфере как торговля, программа должна постоянно развиваться и взаимодействовать с пользователем. Без этого, вся отросль алготрейдинга достигнет потолка и развиваться не будет.
Изложу свою точку зрения.
Сейчас у платформы МТ5 накопился огромный потенциал. Множество возможностей и библиотек. Но вместе с этим, развитие MQL-программ зашло в тупик.
Преграда дальнейшему развитию - отсутствие возможности роста программ внутри платформы.
Пользователи не могут далее расширять свой программный функционал, не имея возможности вывести модули управления им в графический интерфейс.
Отсутствие GUI у MQL-программ является глобальной преградой их дальнейшему развитию. Ренат говорил, что период "детских" программ в одну страницу должен закончится. Я с ним полностью согласен. Но как он может закончится, если у трейдеров нет физической возможности вылезти из "коротких штанишек"?
Перечислим последствия отсутствия GUI у MQL-программ:
Весь полезный материал МТ5 как бы "заперт" внутри и малодоступен.
Как только появится GUI, костыли отпадут, а возможности заложенные в МТ5 станут открыты. Также появится много новых возможностей.
//-----------------------------------------------------------------------------------------------------------
Моя аксиома: НЕ МОЖЕТ СЛОЖНАЯ ПРОГРАММА БЫТЬ ПОЛНОЦЕННОЙ, ЕСЛИ У НЕЕ НЕТ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА КАК СРЕДСТВА ВЗАИМОДЕЙСТВИЯ С ПОЛЬЗОВАТЕЛЕМ. Она будет оторванной и запертой внутри машины. Работать с ней всегда неудобно. Если она изначально примитивна и проста, то GUI не нужен, но в такой сфере как торговля, программа должна постоянно развиваться и взаимодействовать с пользователем. Без этого, вся отросль алготрейдинга достигнет потолка и развиваться не будет.
Я прекрасно понимаю, что имел ввиду Ренат, т.к. я сам насоздавал раньше больше сотни индикаторов и десятки роботов, но понял в конце концов что все это пшик, но зато набрался какого-то опыта и понимания. Сейчас уже несколько лет тружусь над одним роботом, в котором интерфейс - это последнее дело, а искусственный интеллект - это всё. Ренат не имел ввиду, что нужен многостраничный интерфейс, речь шла о количестве страниц кода, а точнее о количестве вложенного труда и креативной мысли, тогда как на том же Маркете подавляющее количество продуктов - это детские бесполезные поделки. При чём здесь ГУИ? ГУИ может только сбить с толку потенциального покупателя, пустить пыль в глаза или испугать сложностью. Все над чем ты сейчас работаешь, и Анатолий, кстати, тоже, да простите вы меня, - это все аля виндоус 95. Люди нынче приучены и избалованы совершенно другой парадигмой интерфейса. Посмотри на интерфейс свого андроид телефона или айфона. Простота, минимализм, интуитивная понятность. Вот к чему надо стремиться.
Петр, ну возьми, например, сайт компании Гугл google.com. Ну и какой ты там видишь интерфейс? А ведь капитализация этой компании пол триллиона USD. Они, наоборот, стремятся к минимизации интерфейса, ведь их интерфейс 15 лет назад был более навороченным и, думаю, лет через несколько их интерфейс станет еще скромнее. А ведь они главные законодатели тренда в моде ГУИ. Все твои перечисления необходимости ГУИ декларативны и очень преувеличены , а точнее ГУИ вообще тут ни причем (ну можно только оставить пункт для полуавтоматического трейдинга). Ну посмотри хоть эту свежую технологию той же компании Гугл - TensorFlow. Это технология машинного обучения, технология ИИ и распознания образов, которую нам программистам автотрейдинга освоить было бы очень даже полезно, но этой технологии ГУИ совсем не нужен. Правда - о чем я говорю?, если для тебя технология ООП - бесполезный инструмент!
Я прекрасно понимаю, что имел ввиду Ренат, т.к. я сам насоздавал раньше больше сотни индикаторов и десятки роботов, но понял в конце концов что все это пшик, но зато набрался какого-то опыта и понимания. Сейчас уже несколько лет тружусь над одним роботом, в котором интерфейс - это последнее дело, а искусственный интеллект - это всё. Ренат не имел ввиду, что нужен многостраничный интерфейс, речь шла о количестве страниц кода, а точнее о количестве вложенного труда и креативной мысли, тогда как на том же Маркете подавляющее количество продуктов - это детские бесполезные поделки. При чём здесь ГУИ? ГУИ может только сбить с толку потенциального покупателя, пустить пыль в глаза или испугать сложностью. Все над чем ты сейчас работаешь, и Анатолий, кстати, тоже, да простите вы меня, - это все аля виндоус 95. Люди нынче приучены и избалованы совершенно другой парадигмой интерфейса. Посмотри на интерфейс свого андроид телефона или айфона. Простота, минимализм, интуитивная понятность. Вот к чему надо стремиться.
Петр, ну возьми, например, сайт компании Гугл google.com. Ну и какой ты там видишь интерфейс? А ведь капитализация этой компании пол триллиона USD. Они, наоборот, стремятся к минимизации интерфейса, ведь их интерфейс 15 лет назад был более навороченным и, думаю, лет через несколько их интерфейс станет еще скромнее. А ведь они главные законодатели тренда в моде ГУИ. Все твои перечисления необходимости ГУИ декларативны и очень преувеличены , а точнее ГУИ вообще тут ни причем (ну можно только оставить пункт для полуавтоматического трейдинга). Ну посмотри хоть эту свежую технологию той же компании Гугл - TensorFlow. Это технология машинного обучения, технология ИИ и распознания образов, которую нам программистам автотрейдинга освоить было бы очень даже полезно, но этой технологии ГУИ совсем не нужен. Правда - о чем я говорю?, если для тебя технология ООП - бесполезный инструмент!
Николай, мы друг друга не поймем.)
Лично для меня ООП действительно бесполезен, но я не отрицаю его полезность для других. Пусть пользуются на здоровье.
ГУИ - это практическая необходимость. ГУИ откроет пространство для усложнения программ. Обогатит скудную на сегодняшний день среду реализации творческих замыслов. Даст программам собственное лицо.
МО (машинное обучение) наоборот заведет алготрейдинг в беспросветный тупик. Автоматизированная угадайка лишенная доли понимания рыночных процессов. Черный ящик перерабатывающий статистическую кашу. Он ампутирует стремление трейдеров к пониманию рынка и созиданию собственных стратегий. Обучение тех.анализу и статьи по нему будут неактуальны. Настанет время смерти трейдерской мысли. Черный ящик ее сотрет.
Николай, наша экосистема должна быть разообразной и богатой средой. Нам нужно расширяться. Алготрейдерам нужны новые программные возможности. Я просто хочу открыть им еще одну.)
Кстати, ты тоже должен наконец занятся масштабным проектом и начать реализовывать свои способности. Чуствую, что ты сам этого желаешь, но что то никак. Жаль, ведь творческий потенциал у тебя огромный. В общем, жду демонстрации твоих разработок. Надеюсь, их обязательно увижу.)
Реter Konow:
...Обогатит скудную на сегодняшний день среду реализации творческих замыслов. Даст программам собственное лицо.
Должен пояснить, что имел ввиду под "скудной средой реализации творческих замыслов". Боюсь, меня неправильно поймут. МТ5 - потенциально очень богатая среда реализации творческих замыслов в алготрейдинге. Но ее потенциал сейчас используется трейдерами, думаю, на 20 %- 30%.
Именно настоящее пространство области практического использования я назвал "скудной средой", а не потенциальное. Возможно, неточно выразился.
Есть выражение: "Бытие определяет сознание".
Наше текущее Бытие, - программы без ГУИ, создаваемые в условиях нагромаждения высоких интеллектуальных барьеров. Это Бытие, определило наше сознание и мы не хотим ГУИ и полуавтоматического трейдинга. Мы верим в смысл подгонки параметров под историю как средства оптимизации стратегий. То есть, не углублением понимания рынка пытаемся улучшать стратегию, а подгонкой под историю. Иначе, - самообманом. Так было определено наше сознание за годы. И оптимизацию почему то, никто не считает откровенной пылью в глаза. А ведь только благодаря ей получаются тестерные граали.
Для гимнастики ума полезны любые барьеры, но для свободного творчества барьеров сейчас слишком много. Одни сущности нам помогают в реализации идеи, другие мешают. Обрати внимание, - мне потребовалась лишь малая часть возможностей языка программирования, чтобы построить свою графическую "машину", с языком разметки. И дело здесь вовсе не в таланте программиста, а только в способности различать вещи по их сущности. Отметать лишнее и концентрироваться на главном. Если у человека нет этой способности, он безнадежно запутается в разнообразных вещах и не реализует свой потенциал. Призма взгляда на вещи определяет КПД нашего труда и масштаб практической реализации таланта.
Я всего лишь хочу собственной самореализацией помочь другим, и привести МТ5 к глобальному прорыву. А как еще можно этого добится? В общем, если такие талантливые люди как ты Николай, или Анатолий будут мне помогать, мы точно горы свернем!)
...если такие талантливые люди как ты Николай, или Анатолий будут мне помогать, мы точно горы свернем!)
Нет, Петр, прости, но свои горы ворочай сам. А я буду ворочать свои горы. ))
Я сказал "как ты", а нет ты.)) Свои "горы" на тебя взваливать не собирался.))