Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦
Если к гидре подключаться как к удаленному серверу, есть возможность сделать импорт инструментов.
Есть ли возможность импортировать инструменты из гидры при локальном соединении?
Kommentare (13)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Kazai Mazai:
Если к гидре подключаться как к удаленному серверу, есть возможность сделать импорт инструментов.
Есть ли возможность импортировать инструменты из гидры при локальном соединении?
В этом и вся соль - по простому никак.
Давай махнем. Мы тебе лицензию на гидра сервер, а ты нам доку на форум Гидры по своему чудо плагину. Есть возможность на ГитХаб выложить скомпилированное сразу?
Это после добавления инструментов в гидру моим чудо-плагином=))
Может версии библиотек не совпадают?
Лог гидры:
03:02:14.196|Error |S#.Data |System.ServiceModel.CommunicationException: Ошибка сериализации параметра http://stocksharp.com/hydraserver:GetSecuritiesResult. Сообщение InnerException было "Тип "System.Int64[]" с именем контракта данных "ArrayOflong:http://schemas.microsoft.com/2003/10/Serialization/Arrays" не ожидается. Попробуйте использовать DataContractResolver или добавьте любые статически неизвестные типы в список известных типов - например, используя атрибут KnownTypeAttribute, или путем их добавления в список известных типов, передаваемый в DataContractSerializer.". Подробнее см. InnerException. ---> System.Runtime.Serialization.SerializationException: Тип "System.Int64[]" с именем контракта данных "ArrayOflong:http://schemas.microsoft.com/2003/10/Serialization/Arrays" не ожидается. Попробуйте использовать DataContractResolver или добавьте любые статически неизвестные типы в список известных типов - например, используя атрибут KnownTypeAttribute, или путем их добавления в список известных типов, передаваемый в DataContractSerializer.
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в WriteKeyValueOfanyTypeanyTypeToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
в System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
в WriteArrayOfKeyValueOfanyTypeanyTypeToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
в System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в WriteSecurityToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
в System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
в WriteArrayOfSecurityToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
в System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
в System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
в System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
в System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
в System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
в System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameterPart(XmlDictionaryWriter writer, PartInfo part, Object graph)
--- Конец трассировки внутреннего стека исключений ---
в System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameterPart(XmlDictionaryWriter writer, PartInfo part, Object graph)
в System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameter(XmlDictionaryWriter writer, PartInfo part, Object graph)
в System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeBody(XmlDictionaryWriter writer, MessageVersion version, String action, MessageDescription messageDescription, Object returnValue, Object[] parameters, Boolean isRequest)
в System.ServiceModel.Dispatcher.OperationFormatter.OperationFormatterMessage.OperationFormatterBodyWriter.OnWriteBodyContents(XmlDictionaryWriter writer)
в System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer)
в System.ServiceModel.Channels.BinaryMessageEncoderFactory.BinaryMessageEncoder.WriteMessage(Message message, Stream stream)
в System.ServiceModel.Channels.StreamingConnectionHelper.WriteMessage(Message message, IConnection connection, Boolean isRequest, IConnectionOrientedTransportFactorySettings settings, TimeoutHelper& timeoutHelper)
в System.ServiceModel.Channels.SingletonConnectionReader.StreamedFramingRequestContext.OnReply(Message message, TimeSpan timeout)
в System.ServiceModel.Channels.RequestContextBase.Reply(Message message, TimeSpan timeout)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Reply(MessageRpc& rpc)
03:28:39.294|Error |UserConfig|System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в StockSharp.Hydra.UserConfig.Save()
Студии
Server stack trace:
в System.ServiceModel.Channels.SocketConnection.ThrowIfNotOpen()
в System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
в System.ServiceModel.Channels.ConnectionStream.Read(Byte[] buffer, Int32 offset, Int32 count)
в System.ServiceModel.Channels.SingletonConnectionReader.SingletonInputConnectionStream.ReadCore(Byte[] buffer, Int32 offset, Int32 count)
в System.ServiceModel.Channels.SingletonConnectionReader.SingletonInputConnectionStream.Read(Byte[] buffer, Int32 offset, Int32 count)
в System.ServiceModel.Channels.DelegatingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
в System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count)
в System.ServiceModel.Channels.SingletonConnectionReader.Close(TimeSpan timeout)
в System.Xml.XmlBufferReader.Close()
в System.Xml.XmlBaseReader.Close()
в System.Xml.XmlBinaryReader.Close()
в System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
в System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters)
в System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc& rpc)
в System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в StockSharp.Algo.History.Hydra.IRemoteStorage.GetSecurities(Guid sessionId, String[] securityIds)
в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=qcCIGSiyvYgo9yUgsmroHWMSha4lhKUjucgANNh2G0uQ=.#=qZjlZ1a84AfV2nhg22lpXpXCsZd3tVisKYs2vOJd6Nzo=(IRemoteStorage #=qVpXS2s6k_fELVAAiQO2hEA==)
в Ecng.Net.ChannelHelper.Invoke[TChannel,TResult](ChannelFactory`1 factory, Func`2 handler)
в StockSharp.Algo.History.Hydra.RemoteStorageClient.#=qefIL2lTZFJn8FQ3kiApGwT6kIwuVjMYIiFEF3GRodRg=(ISecurityStorage #=qE9GETcmYXdR$YhTtlB5BGxpmrdLuS_jrTQ8RAiR3Imk=, IEnumerable`1& #=qB4YN5_pjUZkoRfd$xHM_cw==)
в StockSharp.Algo.History.Hydra.RemoteStorageClient.GetNewSecurities(ISecurityStorage securityStorage)
в StockSharp.Studio.StorageSettingsWindow.Save()
Михаил Сухов:
Проверил - синхронизация прошла успешно. Проверял на дев версии, но на боевой эта часть такая же. А сколько инструментов примерно?
Я и один пробовал, и много.
Вот например, на чистой базе гидры добавляю один инструмент через свой чудо-плагин.В источнике включен инструмент ALL. Подключаю, делаю синхронизацию. В студии пишет, что добавлено 19 инструментов.
Добавляю инструменты в гидре через источник финам.
В получается целая куча. В источнике включен инструмент ALL. Подключаю, делаю синхронизацию. Пишет, что добавлено 19 инструментов.
Добавляю несколько в источнике. Тогда после синхронизации те 19 + эти что добавил.
В студии при этом инструменты не появляются. И бд студии тоже.
Студия и гидра 4.1.16.1
Ну и заодно, вот какой случай: в студии в справочнике бирж, добавляю в верхней части информацию о бирже, заполняю, жму сохранить, появляется в правом списке.
Далее в информации о биржевых площадках:
пишу код, данные и т.д. =>
сохранить (при выбранной, только что добавленной инфе о бирже) =>
"код площадки был изменен, будет создана новая площадка" => ok =>
"SqLiteException - Abort due to constrain violation: ExchangeBoard.Exchange may not be Null"
Попробовать на более свежей Студии (скорее всего это).
Попробовать на инструментах, закаченных других плагином (если не поможет пункт 1).
Апдейтер вроде как говорит, что студия у меня свежак)
Или ты про гидру?
Wir verwenden Cookies, um die beste Erfahrung auf unserer Website zu gewährleisten. Durch die weitere Nutzung unserer Seite stimmen Sie der Verwendung von Cookies zu.
Kommentare (13)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
В этом и вся соль - по простому никак.
Давай махнем. Мы тебе лицензию на гидра сервер, а ты нам доку на форум Гидры по своему чудо плагину. Есть возможность на ГитХаб выложить скомпилированное сразу?
Легко =)
Проапрейдил лицензии. Только они скоро протухнут. Может получить через брокера сразу на год?
Спасибо.
У меня только у IB счет, к ним я так понял нет привязки.
Фэил =(
Это после добавления инструментов в гидру моим чудо-плагином=))
Может версии библиотек не совпадают?
Лог гидры:
Студии
Это нормальное явление, значит плагин начинает существовать реальным миром.
Судя по ошибке, в Security.ExtensionInfo что-то записывается, что не может сериализоваться. Если ссылка на код, где в плагине инструменты создаются?
Да действительно, там legacy-костыли были для древнейшей гидры.
Теперь все окей, инструменты синхронизируются, появляется сообщение, что инструменты добавлены, но в базу студии не сохраняются.
Ни сообщений, ни ошибок.
Кажется, что на стороне студии что-то, потому что с другими инструментами также.
А именно проверяется их наличие в хранилище инструментов (кнопка ввиде базы данных) или в панети инструментов?
И где кнопка в виде БД и в кнопке-бинокле искал. И в базе смотрел sqlite manager'ом.
Проверил - синхронизация прошла успешно. Проверял на дев версии, но на боевой эта часть такая же. А сколько инструментов примерно?
Я и один пробовал, и много.
Вот например, на чистой базе гидры добавляю один инструмент через свой чудо-плагин.В источнике включен инструмент ALL. Подключаю, делаю синхронизацию. В студии пишет, что добавлено 19 инструментов.
Добавляю инструменты в гидре через источник финам. В получается целая куча. В источнике включен инструмент ALL. Подключаю, делаю синхронизацию. Пишет, что добавлено 19 инструментов.
Добавляю несколько в источнике. Тогда после синхронизации те 19 + эти что добавил.
В студии при этом инструменты не появляются. И бд студии тоже.
Студия и гидра 4.1.16.1
Ну и заодно, вот какой случай: в студии в справочнике бирж, добавляю в верхней части информацию о бирже, заполняю, жму сохранить, появляется в правом списке.
Далее в информации о биржевых площадках: пишу код, данные и т.д. => сохранить (при выбранной, только что добавленной инфе о бирже) => "код площадки был изменен, будет создана новая площадка" => ok =>
"SqLiteException - Abort due to constrain violation: ExchangeBoard.Exchange may not be Null"
Подозреваю, что в контроле фейл.
Апдейтер вроде как говорит, что студия у меня свежак) Или ты про гидру?