Если заявка исполнена несколькими сделками и эти сделки совершены в промежутке одной секунды, то в хранилеще попадает только первая сделка. При этом сами сделки все отображаются на графическом элементе. Код.
_tradingStorage = new TradingStorage(new InMemoryStorage());
_tradeStorage = _tradingStorage.GetTradeStorage(Security);
IEnumerable<Trade> pastTrades = _tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));
private void OnNewMyTrades(IEnumerable<MyTrade> myTrades){
lock(sync){
List<Trade> trades = new List<Trade>();
foreach(MyTrade m in myTrades){
m.Trade.OrderDirection = m.Order.Direction;
trades.Add(m.Trade);
}
string info1 = "";
foreach(Trade p in trades){
info1 += p.Time.ToString() + " " + p.Id.ToString() + "\n";
}
Helper.WriteGeneralDiagnostics(info1 + " End");
_tradeStorage.Save(trades);
IEnumerable<Trade> pastTrades = _tradeStorage.Load(DateTime.Today, DateTime.Today + TimeSpan.FromMinutes(1000));
Helper.WriteGeneralDiagnostics(pastTrades.Count().ToString());
string info = "";
foreach(Trade p in pastTrades){
info += p.Time.ToString() + " " + p.Id.ToString() + "\n";
}
Helper.WriteGeneralDiagnostics(info + " End");
}
}
Пришедьшая сделка 22.12.2011 17:42:51 17187650 End
Список сделок в хранилище, после добавления. 14 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 End
Пришедьшая сделка 22.12.2011 17:42:51 17187651 End Список сделок в хранилище, после добавления. 14 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 End
Пришедьшая сделка 22.12.2011 17:42:51 17187652 End Список сделок в хранилище, после добавления. 14 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 End
Пришедьшая сделка 22.12.2011 17:42:52 17187654 End Список сделок в хранилище, после добавления. 15 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 End
Пришедьшая сделка 22.12.2011 17:42:52 17187655 End Список сделок в хранилище, после добавления. 15 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 End
Пришедьшая сделка 22.12.2011 17:42:52 17187656 End Список сделок в хранилище, после добавления. 15 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 End
Пришедьшая сделка 22.12.2011 17:42:53 17187657 End Список сделок в хранилище, после добавления. 16 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 22.12.2011 17:42:53 17187657 End
Пришедьшая сделка 22.12.2011 17:42:53 17187658 End Список сделок в хранилище, после добавления. 16 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 22.12.2011 17:42:53 17187657 End
Пришедьшая сделка 22.12.2011 17:42:54 17187659 End Список сделок в хранилище, после добавления. 17 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 22.12.2011 17:42:53 17187657 22.12.2011 17:42:54 17187659 End
Пришедьшая сделка 22.12.2011 17:42:54 17187660 End Список сделок в хранилище, после добавления. 17 22.12.2011 17:01:12 17184809 22.12.2011 17:10:19 17185397 22.12.2011 17:10:54 17185434 22.12.2011 17:11:24 17185444 22.12.2011 17:13:17 17185551 22.12.2011 17:16:52 17185729 22.12.2011 17:19:58 17185840 22.12.2011 17:29:45 17186407 22.12.2011 17:29:48 17186411 22.12.2011 17:29:49 17186412 22.12.2011 17:29:52 17186417 22.12.2011 17:29:53 17186418 22.12.2011 17:37:32 17187318 22.12.2011 17:42:51 17187650 22.12.2011 17:42:52 17187654 22.12.2011 17:42:53 17187657 22.12.2011 17:42:54 17187659 End
Комментарии (2)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
http://stocksharp.com/doc/html/P_StockSharp_Algo_Storages_IMarketDataStorage_1_AppendOnlyNew.htm
Михаил, спасибо за ответ, поставил _tradeStorage.AppendOnlyNew = false; и все заработало как надо. Только не совсем понятно логика, ведь те сделки которые не попали в хранилище не являются старыми. или харнилище отличает старые сделки от новыхпо параметру "время"? И ещё, не могли бы вы пояснить ,как работают параметры в метде Load? Если забавать время таким способом, то хранилище возвращает те сделки ,которые совершены в указанный промежуток времени. DateTime start = DateTime.Now - TimeSpan.FromMinutes(20); DateTime end = DateTime.Now;
Если задавать таким способам ,то в интервал вообще может не быть сделок, при этом харнилище возвратит все сделки ,которые хранятся в нем, покрайней мере за сегоднящний день. и почму-то количество выведенных сделок не менятеся при изменении второго параметра. DateTime start = DateTime.Today; DateTime end = DateTime.Today + TimeSpan.FromMinutes(1000);