public event Action<MarketDepth> MarketDepthUpdateEvent;
Событие MarketDepthUpdateEvent сообщает подписчикам об изменении данных в стакане заявок и высылает объект MarketDepth, который как раз таки и является агрегированным стаканом заявок. Как правило, событие используется в стратегиях, основанных на анализе биржевого стакана.
Рассмотрим пример, в котором торговый алгоритм анализирует суммарный объем заявок покупателей и продавцов, и на основании этой информации, в случае выполнения условий, открывает позиции.
- Создаем параметр, который будет содержать множитель для определения перекоса покупателей к продавцам.
- Подписываемся на событие MarketDepthUpdateEvent.
- Игнорируем событие, если в стакане нет покупателей или продавцов.
- Если позиций нет, переходим к логике входа.
- В методе OpenLogic получаем уровни с лучшим предложением и лучшим спросом. В списках уровней они всегда располагаются по нулевому индексу.
- Если объем лучшего спроса меньше объема лучшего предложения, выходим из метода.
- Если суммарный объем всех покупателей меньше произведения суммарного объема продавцов и задаваемого множителя, тоже выходим из метода.
- Выполнились все условия для лонга, открываем позицию.
Комментарии