Вроде, в более ранних версиях такой ошибки не было. Можно как-то сделать, чтобы уже записанные сделки повторно в хранилище не писались, а сохранялись только те, что еще не записаны без вызова исключения?```plain
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==(List1 #=qRzSfjVkNOy_gJNbO1BzabQ==, DateTime #=qMk3IYP0EUku0w8TTMnxBsg==, DateTime #=qJ7budlo1qPRztaJejKVodg==, String #=qrJqJ8wrVY9Q55_L_PziYhg==) at #=qik$V9d0YIdt7a50_J_0pB51BqQfMZSNdri603R9UOkwkITuxxgzPFVi4iTEfxHNZ.#=qgaD_Tb$SEKVACHkmAGTisA==(List1 #=qNJ2O7YVriWDgBVvYn8QUNg==, IEnumerable1 #=qM59CUGlz1vm7o5jlWDYLmA==, #=qaEY6XdcItoIZhrbE_JQwk2wxYyltU_C97sm3DZRx5TWPlYw1V_KXXUaeyFPgi$uN #=q69YGPdCldqvfpJRlBX89tA==) at #=qSUou6FVxZ1h5BDJOlNq57MmNIouqlf9BTBrzOvrw1sN63XCWU3mHVHvulFvTqWdEsa0NLuVqyGXaOEMTqtKklw==.#=qkOUT4VUG7vd7cjfDOBNPsZ_B8CpdZWtHMMFzuEjwjOSH$$TTfAj90GB27rbnGE9MQNSiHNYIhWARk5sPnmPgwGN$wzEZXjPQJsPyOqGKpCY=(IEnumerable1 #=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
Comentarios (21)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Так и сделано сейчас.
А зачем исключение выбрасывается? Получается, что в хранилище не запишутся и новые сделки, если в сохраняемх сделках есть уже ранее записанные. AppendOnlyNew, вроде равен true.
Потому что если есть ошибка, нужно как-то оповестить внешний код об ошибке.
Каким-то образом можно определить время последней записанной сделки, чтобы перед записью отфильтровать уже записанные?
Этого делать нет смысла, так как фильтрация уже сделана в хранилище.
Неудобный режим. У меня часть сделок при записи теряется. Не знаю пока как исправить. Ситуации, когда нужно сохранить сделки, где часть уже сохранена, а часть еще не сохранялась возникают часто. В результате попытки такого сохранения возникает исключение и сделки, которые еще не сохранялись теряютсся. Было бы желательным иметь такой режим сохранения, когда уже записанные сделки не записываются, а новые записываются без появления исключения. Раньше считал, что именно так хранилище и работает.
Именно так оно и работает
А как было проверено, что не работает?
" Попытка записать неупорядоченные сделки." - значит сами сделки передаваемые не упорядочены по времени. А не то, что хранилище не может отфильтровать.
Второе было бы лучше.
А можно как-то по проще? С захардкожены значениями?
может вот это свойство хранилища поможет, AppendOnlyNew
Версия 4.2.2.27 без изменений