StockSharp
180 строк · 5.9 Кб
1#region S# License2/******************************************************************************************
3NOTICE!!! This program and source code is owned and licensed by
4StockSharp, LLC, www.stocksharp.com
5Viewing or use of this code requires your acceptance of the license
6agreement found at https://github.com/StockSharp/StockSharp/blob/master/LICENSE
7Removal of this comment is a violation of the license agreement.
8
9Project: StockSharp.BusinessEntities.BusinessEntities
10File: IMarketDataProvider.cs
11Created: 2015, 11, 11, 2:32 PM
12
13Copyright 2010 by StockSharp, LLC
14*******************************************************************************************/
15#endregion S# License16namespace StockSharp.BusinessEntities17{
18using System;19using System.Collections.Generic;20
21using StockSharp.Messages;22
23/// <summary>24/// The market data by the instrument provider interface.25/// </summary>26public interface IMarketDataProvider27{28/// <summary>29/// Security changed.30/// </summary>31event Action<Security, IEnumerable<KeyValuePair<Level1Fields, object>>, DateTimeOffset, DateTimeOffset> ValuesChanged;32
33/// <summary>34/// To get the value of market data for the instrument.35/// </summary>36/// <param name="security">Security.</param>37/// <param name="field">Market-data field.</param>38/// <returns>The field value. If no data, the <see langword="null" /> will be returned.</returns>39object GetSecurityValue(Security security, Level1Fields field);40
41/// <summary>42/// To get a set of available fields <see cref="Level1Fields"/>, for which there is a market data for the instrument.43/// </summary>44/// <param name="security">Security.</param>45/// <returns>Possible fields.</returns>46IEnumerable<Level1Fields> GetLevel1Fields(Security security);47
48/// <summary>49/// Tick trade received.50/// </summary>51[Obsolete("Use TickTradeReceived event.")]52event Action<Trade> NewTrade;53
54/// <summary>55/// Security received.56/// </summary>57[Obsolete("Use SecurityReceived event.")]58event Action<Security> NewSecurity;59
60/// <summary>61/// Security changed.62/// </summary>63[Obsolete("Use SecurityReceived event.")]64event Action<Security> SecurityChanged;65
66/// <summary>67/// Order book received.68/// </summary>69[Obsolete("Use OrderBookReceived event.")]70event Action<MarketDepth> NewMarketDepth;71
72/// <summary>73/// Order book changed.74/// </summary>75[Obsolete("Use OrderBookReceived event.")]76event Action<MarketDepth> MarketDepthChanged;77
78/// <summary>79/// Order log received.80/// </summary>81[Obsolete("Use OrderLogReceived event.")]82event Action<OrderLogItem> NewOrderLogItem;83
84/// <summary>85/// News received.86/// </summary>87[Obsolete("Use NewsReceived event.")]88event Action<News> NewNews;89
90/// <summary>91/// News updated (news body received <see cref="News.Story"/>).92/// </summary>93[Obsolete("Use NewsReceived event.")]94event Action<News> NewsChanged;95
96/// <summary>97/// Lookup result <see cref="SecurityLookupMessage"/> received.98/// </summary>99event Action<SecurityLookupMessage, IEnumerable<Security>, Exception> LookupSecuritiesResult;100
101/// <summary>102/// Lookup result <see cref="SecurityLookupMessage"/> received.103/// </summary>104event Action<SecurityLookupMessage, IEnumerable<Security>, IEnumerable<Security>, Exception> LookupSecuritiesResult2;105
106/// <summary>107/// Lookup result <see cref="BoardLookupMessage"/> received.108/// </summary>109event Action<BoardLookupMessage, IEnumerable<ExchangeBoard>, Exception> LookupBoardsResult;110
111/// <summary>112/// Lookup result <see cref="BoardLookupMessage"/> received.113/// </summary>114event Action<BoardLookupMessage, IEnumerable<ExchangeBoard>, IEnumerable<ExchangeBoard>, Exception> LookupBoardsResult2;115
116/// <summary>117/// Lookup result <see cref="TimeFrameLookupMessage"/> received.118/// </summary>119event Action<TimeFrameLookupMessage, IEnumerable<TimeSpan>, Exception> LookupTimeFramesResult;120
121/// <summary>122/// Lookup result <see cref="TimeFrameLookupMessage"/> received.123/// </summary>124event Action<TimeFrameLookupMessage, IEnumerable<TimeSpan>, IEnumerable<TimeSpan>, Exception> LookupTimeFramesResult2;125
126/// <summary>127/// Successful subscription market-data.128/// </summary>129[Obsolete("Use SubscriptionStarted event.")]130event Action<Security, MarketDataMessage> MarketDataSubscriptionSucceeded;131
132/// <summary>133/// Error subscription market-data.134/// </summary>135[Obsolete("Use SubscriptionFailed event.")]136event Action<Security, MarketDataMessage, Exception> MarketDataSubscriptionFailed;137
138/// <summary>139/// Error subscription market-data.140/// </summary>141[Obsolete("Use SubscriptionFailed event.")]142event Action<Security, MarketDataMessage, SubscriptionResponseMessage> MarketDataSubscriptionFailed2;143
144/// <summary>145/// Successful unsubscription market-data.146/// </summary>147[Obsolete("Use SubscriptionStopped event.")]148event Action<Security, MarketDataMessage> MarketDataUnSubscriptionSucceeded;149
150/// <summary>151/// Error unsubscription market-data.152/// </summary>153[Obsolete("Use SubscriptionFailed event.")]154event Action<Security, MarketDataMessage, Exception> MarketDataUnSubscriptionFailed;155
156/// <summary>157/// Error unsubscription market-data.158/// </summary>159[Obsolete("Use SubscriptionFailed event.")]160event Action<Security, MarketDataMessage, SubscriptionResponseMessage> MarketDataUnSubscriptionFailed2;161
162/// <summary>163/// Subscription market-data finished.164/// </summary>165[Obsolete("Use SubscriptionStopped event.")]166event Action<Security, SubscriptionFinishedMessage> MarketDataSubscriptionFinished;167
168/// <summary>169/// Market-data subscription unexpected cancelled.170/// </summary>171[Obsolete("Use SubscriptionFailed event.")]172event Action<Security, MarketDataMessage, Exception> MarketDataUnexpectedCancelled;173
174/// <summary>175/// Subscription is online.176/// </summary>177[Obsolete("Use SubscriptionOnline event.")]178event Action<Security, MarketDataMessage> MarketDataSubscriptionOnline;179}180}