Ошибка в конфигурации CSV коннектора после миграции файлов конфигурации из xml в json


Ошибка в конфигурации CSV коннектора после миграции файлов конфигурации из xml в json
Atom
07.10.2021


Добрый день!

Обновился с nuget и обнаружил что вы перенесли файлы конфигурации коннектора из формата xml в json и сделали для этого прозрачную миграцию.
Переписал инициализацию коннекторов и сохранение конфигурации как у вас в примере SampleConnection
В итоге все конфигурации коннекторов перенеслись кроме CSV. Т.е. конфигурация то перенеслась в файл json, а вот при запуске приложения выдается ошибка и CSV коннектор отсутствует в списке коннекторов в окне настройки коннекторов.
Попытался добавить CSV через UI приложения, коннектор добавился, но при следующем запуске приложения всё повторяется, т.е. CSV пропадает из списка подключений и выдается ошибка.

Часть конфига с CSV
{
"AdapterType": "StockSharp.CSV.CSVMessageAdapter, StockSharp.CSV",
"AdapterSettings": {
"Id": "ce63c718-9f72-449e-9787-9adadcebd26c",
"HeartbeatInterval": "00:01:00",
"SupportedInMessages": [
"MarketData"
],
"ReConnectionSettings": {
"WorkingTime": {
"IsEnabled": false,
"Periods": [],
"SpecialDays": []
},
"Interval": "00:00:10",
"AttemptCount": 0,
"ReAttemptCount": 100,
"TimeOutInterval": "00:00:30"
},
"EnqueueSubscriptions": false,
"GenerateOrderBookFromLevel1": true,
"UseChannels": false,
"IterationInterval": "00:00:02",
"LogLevel": "Inherit",
"Name": "CSV",
"Settings": [
{
"DataType": {
"MessageType": "StockSharp.Messages.ExecutionMessage, StockSharp.Messages",
"Arg": "Tick"
},
"ExtendedStorage": null,
"SelectedFields": [
{
"Name": "ServerTime.Date",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": "yyyyMMdd",
"Order": 0,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "ServerTime.TimeOfDay",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": "hhmmss",
"Order": 1,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "TradePrice",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": null,
"Order": 2,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "TradeVolume",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": null,
"Order": 3,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "TradeId",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": null,
"Order": 4,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "OriginSide",
"IsExtended": false,
"Values": [
{
"ValueFile": "S",
"ValueStockSharp": "Sell"
},
{
"ValueFile": "B",
"ValueStockSharp": "Buy"
}
],
"DefaultValue": null,
"Format": null,
"Order": 5,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "SecurityId.SecurityCode",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": null,
"Order": 6,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
},
{
"Name": "SecurityId.BoardCode",
"IsExtended": false,
"Values": [],
"DefaultValue": null,
"Format": null,
"Order": 7,
"ZeroAsNull": false,
"IsAdapter": false,
"AdapterType": null
}
],
"FileName": null,
"Directory": "C:\\Temp\\S#\\HistoryData\\Bin",
"FileMask": "*.csv",
"IncludeSubDirectories": true,
"ColumnSeparator": ";",
"SkipFromHeader": 0,
"TimeZone": "UTC",
"UpdateDuplicateSecurities": true,
"IgnoreNonIdSecurities": true,
"Interval": "00:00:00"
}
]
},
"Priority": -1
}

Ошибка
Error System.InvalidCastException: Unable to cast object of type 'System.String' to type 'StockSharp.Messages.ExecutionTypes'.
at StockSharp.Algo.Import.FieldMappingRegistry.CreateFields(DataType dataType)
at StockSharp.Algo.Import.ImportSettings.set_DataType(DataType value)
at StockSharp.Algo.Import.ImportSettings.Load(SettingsStorage storage)
at Ecng.Serialization.PersistableHelper.Load(SettingsStorage storage, Type type)
at Ecng.Serialization.PersistableHelper.Load[T](SettingsStorage storage)
at StockSharp.CSV.CSVMessageAdapter.#=zT6iWbIE=.#=z7yocf8ucwHcKMDi6sg==(SettingsStorage #=zF3vSW$g=)
at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at StockSharp.CSV.CSVMessageAdapter.#=zgMcxlffFncn__J0$DA==()
at StockSharp.CSV.CSVMessageAdapter.set_Settings(IEnumerable`1 value)
at StockSharp.CSV.CSVMessageAdapter.Load(SettingsStorage storage)
at StockSharp.Algo.BasketMessageAdapter.Load(SettingsStorage storage)

Судя по всему ошибка происходит при парсинге вот этой части конфига:
"MessageType": "StockSharp.Messages.ExecutionMessage, StockSharp.Messages"

Проверьте пожалуйста.



Спасибо:


Юрий Басангов

Фотография
Дата: 08.10.2021
Ответить


Добрый день, будет исправлено в следующем релизе (релиз в течение недели)
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy