По аналогии с простой вкладкой BotTabScreener предоставляет набор событий, через которые поступают потоки биржевой информации. Почти все события в качестве второго аргумента, передают обработчикам ссылку на простую вкладку, которой принадлежат данные, передаваемые первым аргументом. Подробнее с каждым событием BotTabSimple вы можете ознакомиться в соответствующем разделе.
public event Action<BotTabSimple> NewTabCreateEvent;
Сигнализирует об успешном подключении простой вкладки в скринер. Передает ссылку на объект BotTabSimple, который был добавлен. Представим, что нам нужно в скринере получать событие об успешном подключении инструмента. Мы можем подписаться на него иначе.
public event Action<List<Candle>, BotTabSimple> CandleFinishedEvent;
Данное событие сигнализирует о завершении формирования последней свечи в серии. Передает список всех свечей и саму вкладку.
public event Action<List<Candle>, BotTabSimple> CandleUpdateEvent;
Событие CandleUpdateEvent сигнализирует об обновлении цены закрытия последней свечи простой вкладки, передаваемой вторым аргументом. В обработчик передается список доступных свечей. Состояние последней будет равно CandleState.Started. После получения последнего трейда для временного отрезка состояние изменяется на CandleState.Finished.
public event Action<Trade, BotTabSimple> NewTickEvent;
Событие NewTickEvent сигнализирует о получении очередной обезличенной сделки, которая описывается в программе классом Trade.
public event Action<MyTrade, BotTabSimple> MyTradeEvent;
Событие сигнализирует о получении новой сделки по ордеру, который принадлежит вкладке, передаваемой вторым аргументом.
public event Action<Order, BotTabSimple> OrderUpdateEvent;
Событие OrderUpdateEvent сообщает об обновлении данных по заявке, передает ссылку на изменившийся ордер и простую вкладку, которой принадлежит данный ордер.
public event Action<MarketDepth, BotTabSimple> MarketDepthUpdateEvent;
Событие MarketDepthUpdateEvent сообщает об изменении стакана заявок, передает ссылку на обновленный объект MarketDepth и вкладку, которой принадлежит передаваемый стакан.
public event Action<Position, BotTabSimple> PositionClosingSuccesEvent;
Событие PositionClosingSuccesEvent сообщает роботу об успешном закрытии позиции по одной из вкладок. В качестве аргументов передается закрытая позиция и вкладка, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionOpeningSuccesEvent;
Данное событие сигнализирует об успешном открытии позиции в одной из вкладок. В качестве аргументов передает позицию и вкладку, которой она принадлежит. Важно помнить, что событие вызывается сразу после смены состояния позиции с Opening на Open, а это происходит при получения первой сделки по открывающему ордеру позиции. В следствии этого может возникнуть ситуация, когда объем открывающего ордера исполнился не полностью, но позиция будет в состоянии PositionStateType.Open.
public event Action<Position, BotTabSimple> PositionNetVolumeChangeEvent;
Данное событие срабатывает каждый раз, когда в позиции изменяется открытый объем. В качестве аргумента передает в обработчик изменившуюся позицию и вкладку, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionOpeningFailEvent;
Данное событие сообщает об ошибке открытия позиции. Как правило, такое может возникнуть по ряду причин, например, высылается ордер в неторговое время, не хватает средств на счете, потеря связи с биржей и другие. В качестве аргументов передает позицию и вкладку, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionClosingFailEvent;
Событие PositionClosingFailEvent информирует о неудачной попытке закрытия позиции.
В отличии от проблем с открытием позиций, ошибка закрытия может привести к потере средств, поэтому это событие желательно использовать в каждом алгоритме, чтобы оперативно решать проблему. К ошибке закрытия позиции могут приводить как внешние факторы, такие как: ошибка исполнения ордера, обрыв связи с биржей; так и действия робота – отмена закрывающего ордера. Событие в качестве аргументов передает проблемную позицию и вкладку, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionStopActivateEvent;
Данное событие срабатывает в момент активации стоп-лосс заявки для позиции. В качестве аргументов передает позицию, по которой сработал стоп и вкладку, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionProfitActivateEvent;
Событие PositionProfitActivateEvent срабатывает в момент активации профит заявки для позиции. В качестве аргументов передает позицию, по которой сработал профит и вкладку, которой она принадлежит. Может применяться для различных сценариев, например, для отмены связанных заявок, создания реверсивных стратегий.
public event Action<Position, BotTabSimple> PositionBuyAtStopActivateEvent;
Данное событие сигнализирует об активации условной заявки на покупку, создаваемой методами BuyAtStop. В следствии чего создается новая позиция. В качестве аргументов передаются созданная позиция и вкладка, которой она принадлежит.
public event Action<Position, BotTabSimple> PositionSellAtStopActivateEvent;
Данное событие сигнализирует об активации условной заявки на продажу, создаваемой методами SellAtStop, в следствии чего создается новая позиция. В качестве аргументов передаются созданная позиция и вкладка, которой она принадлежит.
public event Action<decimal, decimal, BotTabSimple> BestBidAskChangeEvent;
Данное событие вызывается, когда по какому-то из источников в скринере обновляется бид или аск. В качестве аргументов передаются бид, аск и вкладка, которой она принадлежит.
Комментарии