
Использование комбинаций клавиш и мыши вместо ГК
Приветствую уважаемых создателей CScalp и трейдеров. Предлагаю Вашему вниманию идею касающуюся изменения системы назначения ГК.
В текущей версии привода используется принцип "одна клавиша - одно действие". При этом существуют несколько исключений - так называемые режимы (режим закрытия позиции, размещение стоп-лоссов, и т.п.). Причем включение одного режима исключает использование другого. Несомненно, такой принцип имеет право на жизнь,но вам не кажется, что исключения из правил, показывают слабость, нелогичность таких правил? Я не призываю изобретать велосипед. Господа, все уже давно изобретено. Наверняка, вы знакомы как реализуются подобные вещи в играх. Просто дайте возможность пользователю самостоятельно назначать соответствующим действиям любые сочетания клавиш, включая клики мышью (в том числе и 4 и 5 кнопками на геймерских). При этом должно быть реализовано пара простых правил при назначении комбинации:
1. Все комбинации делятся на простые (состоящие из нажатия и отпускания одной единственной клавиши на клавиатуре либо мыши - инициаторы) и составные(использующие нажатие от одного до трех модификаторов и нажатие и отпускание клавиши инициатора). Таким образом инициатор всегда завершает комбинацию.
2. Модификатором не может быть использована клавиша, которая уже назначена в простой комбинации в качестве инициатора.
3. Для каждого возможного действия, должна быть возможность назначить уникальную комбинацию.(в том числе и клики в стакане - то что сейчас железно вшито в программу)
Для обычного пользователя ПК модификаторами по умолчанию являются клавиши Shift, Ctrl, Alt, но жестко назначать их в качестве модификаторов совсем не обязательно.
Желательно дать возможность пользователю выбора, когда должна исполняться функция, при нажатии или отпускании инициатора. Это может ускорить работу и даст возможность реализовать интуитивно понятный способ выставления стоп-лимитных ордеров( нажатие при курсоре над ценой триггера - отпускание при курсоре над ценой лимитного ордера).
Касательно пункта 3, людям знакомым с программированием, не стоит объяснять все преимущества жесткого списка возможностей перед, не очевидными зависимостями при использовании "режимов".
С одной стороны количество шорткатов на странице настройки ГК несомненно возрастет, но с другой, данная система позволит уменьшить количество клавиш, используемых для управления. Например, существуют дублирующие по смыслу действия на вкладку и на стакан: "Закрыть позицию по рынку", "Отменить лимитные заявки", "Отменить отложенные заявки", "Прервать выполнение торговых команд". Назначаем инициаторы на стакан, а на вкладку используем те же инициаторы с модификатором CTRL.
Другой случай на стакане: "Купить по рынку", "продать по рынку", "переворот по рынку" - соответствуют "отправить лим. заявку по лучшей покупке", "отправить лим. заявку по лучшей продаже", "отправить лим. зявку на переворот"(это моя фантазия, не осуждайте). Вторая группа команд аналогична первой с отличием лишь в модификаторе( к примеру Shift).
На данный момент "режимы" являются некоторым аналогом предложенных мной модификаторов, но они не дают возможности полноценно реализовать необходимое управление. По мере роста проекта будет возникать все больше и больше конфликтных ситуаций между "режимами". Имеют ли право на жизнь "режимы" в предложенной мной системе? Да имеют. к примеру может быть режим работы только по рынку, или только лимитными ордерами, режим объема заявок равных текущей позиции, режим закрытия заявки, режим отправки заявок покупки/продажи во все стаканы на вкладке. Принцип работы таких режимов должен быть аналогичен работе Caps Lock на клавиатуре.
С переработкой ГК для пользователей привыкшим к своим шорткатам ничего не изменится, но появится гибкость, которая в конечном итоге повысит функционал и упростит интерфейс привода. Настройка ГК, при желании изменить стандарт, потребует больше усилий чем сейчас, но ведь и изменения в настройки вносятся очень редко. Еще раз подчеркну, предложенная мной система ГК, полностью включает в себя все возможности текущей системы "одно действие - одна клавиша", но при этом унифицирует, и расширяет возможности интерфейса.
Насколько важен поднятый мной вопрос? По моему мнению, текущая система ГК - не что иное как "детская" болезнь кода. С ростом проекта, рано или поздно, создатели будут вынуждены ее изменить. Но чем позже , тем с большими сложностями при изменениях придется столкнутся как разработчикам так и пользователям. Именно поэтому, я считаю, что переработку системы назначения ГК не стоит откладывать в долгий ящик.
Customer support service by UserEcho