API 4.2.2.26. Попытка записать неупорядоченные сделки


API 4.2.2.26. Попытка записать неупорядоченные сделки
Atom
4/9/2014


Вроде, в более ранних версиях такой ошибки не было. Можно как-то сделать, чтобы уже записанные сделки повторно в хранилище не писались, а сохранялись только те, что еще не записаны без вызова исключения?
Code
2014-04-09 09:40:52,755 [28] ERROR - Ошибка при сохранении сделок по инструменту SIM4@FORTS
System.ArgumentException: Попытка записать неупорядоченные сделки. Последнее записанное время равно 2014.04.08 23:49:59.954, новое 2014.04.08 19:00:00.228.
Parameter name: time
   at #=qupnVebKj5E_LfTEbmHe8KbG1dFxqwl7kUrWlGqaG0wI5uZKLsPtsVbnd5P7bDHQaAz2tCb6J9idMw3gvRjY1Mw==.#=qb0efB_0iWfYKV9dPpABQHw==(List`1 #=qRzSfjVkNOy_gJNbO1BzabQ==, DateTime #=qMk3IYP0EUku0w8TTMnxBsg==, DateTime #=qJ7budlo1qPRztaJejKVodg==, String #=qrJqJ8wrVY9Q55_L_PziYhg==)
   at #=qik$V9d0YIdt7a50_J_0pB51BqQfMZSNdri603R9UOkwkITuxxgzPFVi4iTEfxHNZ.#=qgaD_Tb$SEKVACHkmAGTisA==(List`1 #=qNJ2O7YVriWDgBVvYn8QUNg==, IEnumerable`1 #=qM59CUGlz1vm7o5jlWDYLmA==, #=qaEY6XdcItoIZhrbE_JQwk2wxYyltU_C97sm3DZRx5TWPlYw1V_KXXUaeyFPgi$uN #=q69YGPdCldqvfpJRlBX89tA==)
   at #=qSUou6FVxZ1h5BDJOlNq57MmNIouqlf9BTBrzOvrw1sN63XCWU3mHVHvulFvTqWdEsa0NLuVqyGXaOEMTqtKklw==.#=qkOUT4VUG7vd7cjfDOBNPsZ_B8CpdZWtHMMFzuEjwjOSH$$TTfAj90GB27rbnGE9MQNSiHNYIhWARk5sPnmPgwGN$wzEZXjPQJsPyOqGKpCY=(IEnumerable`1 #=qObQ0zo$unBgfMM41eeojew==, #=qDQE6UFyxY9ev55BGfq1mkC$y1CYqWdm2p3E5qBWHmwJee422YIKsU6YRi7n50Xzb #=qEX50oKddWjEyVBh1ljsroA==)
   at #=qtE5HPex3z_81QNLFBfrStGYr$HJbb97D2ocIM65d8mpdGq8_Rh0rf322J$LYyYNY.#=qoch2JfnxMeF_RRR1aIXzLQ==(DateTime #=qsjQUmsSmyDKnEr3UkWP9Hg==, #=qaOB$eFMURJ1m17N_SxlaNg==[] #=qyObO0JV1rCoXj11Xn$J$bA==, Boolean #=qT1bF99ka$PPH6jPZ2sy6Gw==)
   at #=qtE5HPex3z_81QNLFBfrStGYr$HJbb97D2ocIM65d8mpdGq8_Rh0rf322J$LYyYNY.Save(IEnumerable`1 #=qyObO0JV1rCoXj11Xn$J$bA==)
   at AlgoTrading.Features.Hydra.Model.SaveManager.SaveTrades() in d:\Temp\AlgoTrading\Build Process Data\Export\SourceCode\Applications\AlgoTrading\Features\Hydra\Model\SaveManager.cs:line 202

Tags:


Thanks:


1 2 3  >
Mikhail Sukhov

Avatar
Date: 4/9/2014
Reply


vk37 Go to
Можно как-то сделать, чтобы уже записанные сделки повторно в хранилище не писались,


Так и сделано сейчас.
Thanks:

vk37

Avatar
Date: 4/9/2014
Reply


А зачем исключение выбрасывается? Получается, что в хранилище не запишутся и новые сделки, если в сохраняемх сделках есть уже ранее записанные. AppendOnlyNew, вроде равен true.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/9/2014
Reply


vk37 Go to
А зачем исключение выбрасывается?


Потому что если есть ошибка, нужно как-то оповестить внешний код об ошибке.
Thanks:

vk37

Avatar
Date: 4/9/2014
Reply


Каким-то образом можно определить время последней записанной сделки, чтобы перед записью отфильтровать уже записанные?
Thanks:

Mikhail Sukhov

Avatar
Date: 4/9/2014
Reply


vk37 Go to
Каким-то образом можно определить время последней записанной сделки, чтобы перед записью отфильтровать уже записанные?


Этого делать нет смысла, так как фильтрация уже сделана в хранилище.
Thanks:

vk37

Avatar
Date: 4/10/2014
Reply


Неудобный режим. У меня часть сделок при записи теряется. Не знаю пока как исправить. Ситуации, когда нужно сохранить сделки, где часть уже сохранена, а часть еще не сохранялась возникают часто. В результате попытки такого сохранения возникает исключение и сделки, которые еще не сохранялись теряютсся. Было бы желательным иметь такой режим сохранения, когда уже записанные сделки не записываются, а новые записываются без появления исключения. Раньше считал, что именно так хранилище и работает.
Thanks:

Mikhail Sukhov

Avatar
Date: 4/10/2014
Reply


Именно так оно и работает
Thanks:

vk37

Avatar
Date: 4/10/2014
Reply


Михаил Сухов Go to
Именно так оно и работает
Ничего тогда не понимаю. Почему-то у меня так не работает.

Thanks:

Mikhail Sukhov

Avatar
Date: 4/10/2014
Reply


vk37 Go to
Михаил Сухов Go to
Именно так оно и работает
Ничего тогда не понимаю. Почему-то у меня так не работает.



А как было проверено, что не работает?
Thanks:

vk37

Avatar
Date: 4/10/2014
Reply


Михаил Сухов Go to
А как было проверено, что не работает?

Пробовал на IQFeed коннекторе.
1 шаг. Запустил приложение. Подключился к куфиду. Загрузил сделки по инструменту +GC#@IQ за период с 06.10.13 по 31.10.13 включительно. Сохранил сделки. Отключился. Закрыл приложение. Проверил хранилище. Почему-то в хранилище оказались и сделки за 01.11.13.
2 шаг. Запустил приложение. Подключился к куфиду. Загрузил сделки по инструменту +GC#@IQ за период с 01.11.13 по 31.12.13 включительно. Попытался сохранить сделки. Получил сообщение об ошибке:
Code
2014-04-10 15:10:59,009 [23] ERROR - Ошибка при сохранении сделок по инструменту +GC#@IQ
System.ArgumentException: Попытка записать неупорядоченные сделки. Последнее записанное время равно 2013.11.01 00:00:00.996, новое 2013.11.01 00:00:00.143.
Parameter name: time
   at #=qupnVebKj5E_LfTEbmHe8KbG1dFxqwl7kUrWlGqaG0wI5uZKLsPtsVbnd5P7bDHQaAz2tCb6J9idMw3gvRjY1Mw==.#=qb0efB_0iWfYKV9dPpABQHw==(List`1 #=qRzSfjVkNOy_gJNbO1BzabQ==, DateTime #=qMk3IYP0EUku0w8TTMnxBsg==, DateTime #=qJ7budlo1qPRztaJejKVodg==, String #=qrJqJ8wrVY9Q55_L_PziYhg==)
   at #=qik$V9d0YIdt7a50_J_0pB51BqQfMZSNdri603R9UOkwkITuxxgzPFVi4iTEfxHNZ.#=qgaD_Tb$SEKVACHkmAGTisA==(List`1 #=qNJ2O7YVriWDgBVvYn8QUNg==, IEnumerable`1 #=qM59CUGlz1vm7o5jlWDYLmA==, #=qaEY6XdcItoIZhrbE_JQwk2wxYyltU_C97sm3DZRx5TWPlYw1V_KXXUaeyFPgi$uN #=q69YGPdCldqvfpJRlBX89tA==)
   at #=qSUou6FVxZ1h5BDJOlNq57MmNIouqlf9BTBrzOvrw1sN63XCWU3mHVHvulFvTqWdEsa0NLuVqyGXaOEMTqtKklw==.#=qkOUT4VUG7vd7cjfDOBNPsZ_B8CpdZWtHMMFzuEjwjOSH$$TTfAj90GB27rbnGE9MQNSiHNYIhWARk5sPnmPgwGN$wzEZXjPQJsPyOqGKpCY=(IEnumerable`1 #=qObQ0zo$unBgfMM41eeojew==, #=qDQE6UFyxY9ev55BGfq1mkC$y1CYqWdm2p3E5qBWHmwJee422YIKsU6YRi7n50Xzb #=qEX50oKddWjEyVBh1ljsroA==)
   at #=qtE5HPex3z_81QNLFBfrStGYr$HJbb97D2ocIM65d8mpdGq8_Rh0rf322J$LYyYNY.#=qoch2JfnxMeF_RRR1aIXzLQ==(DateTime #=qsjQUmsSmyDKnEr3UkWP9Hg==, #=qaOB$eFMURJ1m17N_SxlaNg==[] #=qyObO0JV1rCoXj11Xn$J$bA==, Boolean #=qT1bF99ka$PPH6jPZ2sy6Gw==)
   at #=qtE5HPex3z_81QNLFBfrStGYr$HJbb97D2ocIM65d8mpdGq8_Rh0rf322J$LYyYNY.Save(IEnumerable`1 #=qyObO0JV1rCoXj11Xn$J$bA==)
   at AlgoTrading.Features.Hydra.Model.SaveManager.SaveTrades() in d:\Temp\AlgoTrading\Build Process Data\Export\SourceCode\Applications\AlgoTrading\Features\Hydra\Model\SaveManager.cs:line 222
Удостоверился, что в хранилище полученные на шаге 2 сделки не сохранились.
Прилагаю к посту хранилище, сформированное на шаге 1.

TestStorage.zip 5 MB (303)
Thanks:
1 2 3  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy