![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Cегодняшний день ознаменовался еще одним важным шагом вперед. Теперь движок может работать как самостоятельное приложение, синхронизируя значения своих параметров с подключенным к нему польз.приложением. Приложение, подключается как и раньше, но теперь оно может затребовать значения, которые устанавливаются функционалом движка. Таким образом, это переход на новый уровень взаимодействия программ. Движок, как самостоятельное программа может накапливать свой функционал и расширять предоставляемый приложениям API.
В случае со стаканом цен, - он стал самостоятельным приложением (которое я завтра-послезавтра закончу), и работает как индикатор. Используя подключение, пользователи могут получать значения этого стакана и переопределять их, возвращая их в стакан в измененном виде. Например: Цена в одном из полей стакана была проанализирована пользовательским кодом и оказалось, что это уровень некого важного индикатора. Пользователь посылает в то поле свой строковый маркер и он появится рядом с той ценой. Это открывает новые интересные возможности развития как движков, так и пользовательских программ.
ЗЫ. События GUI движков, ранее только посылавшиеся приложению, теперь поступают также во внутренний функционал движка и осуществляется параллельная обработка событий сразу на двух концах - в движке (в соответствии с заложенным моим кодом) и пользоват. приложением (в соответствии с пользовательским кодом). Нажали на кнопку - сработает и функционал движка, и функционал подключенного приложения.Горячие клавиши будут?
Ещё такой фишке в стакане не хватает, как прибыль, если закрыться сейчас по рынку, т.е. учет наполнения стакана - актуально для позиций чуть больше маленьких (к примеру 100-150 лотов).
Какая фактическая скорость обработки входящих данных?
Как распределяются данные по уровням цен?
В цикле for или по каждому уровню своя переменная с данными?
То что выбрали тип отображения стакана на подобие западных терминалов, это правильно.
Я бы предложил добавить в стакан, управление связанными заявками OCO до трёх уровней.
А вообще можно взять любой функциональный западный стакан и посмотреть что в них реализовано.
Или посмотреть как реализован скальперский привод QScalp.
На каком языке пишется программа?
Какая фактическая скорость обработки входящих данных?
Как распределяются данные по уровням цен?
В цикле for или по каждому уровню своя переменная с данными?
То что выбрали тип отображения стакана на подобие западных терминалов, это правильно.
Я бы предложил добавить в стакан, управление связанными заявками OCO до трёх уровней.
Вот код распределения данных по ячейкам моего стакана:
Для записи приходящих данных сделал массив в 100 ячеек. Приходящие данные расфасовываю от его центра (ячейка 49) в сторону аск и бид, предварительно вычисляя наиближайшую цену к аск и к бид.