From e12cdcaeb93f5fe170f0ea781f50856ced242543 Mon Sep 17 00:00:00 2001 From: Martin Molinero Date: Fri, 12 Feb 2021 19:27:45 -0300 Subject: [PATCH] Fix ambiguous errors. Add IBAutomator net5 --- ...RemoveOptionUniverseRegressionAlgorithm.cs | 8 +++--- .../QuantConnect.Algorithm.CSharp.csproj | 4 --- .../QuantConnect.Algorithm.Framework.csproj | 4 --- .../QuantConnect.AlgorithmFactory.csproj | 4 --- Api/QuantConnect.Api.csproj | 6 ---- .../QuantConnect.IBAutomater.dll | Bin 0 -> 23552 bytes Brokerages/QuantConnect.Brokerages.csproj | 8 ++---- ...rorCodeToWarningBrokerageMessageHandler.cs | 2 +- Common/Data/Market/FuturesChain.cs | 1 - Common/QuantConnect.csproj | 18 ------------ .../OptionPositionCollection.cs | 2 +- Common/Util/LinqExtensions.cs | 26 ------------------ Compression/QuantConnect.Compression.csproj | 5 ---- .../QuantConnect.Configuration.csproj | 4 --- Engine/QuantConnect.Lean.Engine.csproj | 7 ----- Indicators/QuantConnect.Indicators.csproj | 4 --- Launcher/QuantConnect.Lean.Launcher.csproj | 5 ---- Logging/QuantConnect.Logging.csproj | 4 --- Messaging/QuantConnect.Messaging.csproj | 6 ---- .../QuantConnect.Optimizer.Launcher.csproj | 5 ---- Optimizer/QuantConnect.Optimizer.csproj | 5 ---- Queues/QuantConnect.Queues.csproj | 4 --- Tests/Common/Util/ConcurrentSetTests.cs | 1 + Tests/QuantConnect.Tests.csproj | 7 ----- ToolBox/IDataProcessor.cs | 2 +- ToolBox/IQFeed/IQ/IQConnect.cs | 24 ---------------- ToolBox/PipeDataProcessor.cs | 2 +- ToolBox/QuantConnect.ToolBox.csproj | 5 ---- 28 files changed, 12 insertions(+), 161 deletions(-) create mode 100644 Brokerages/InteractiveBrokers/QuantConnect.IBAutomater.dll diff --git a/Algorithm.CSharp/AddRemoveOptionUniverseRegressionAlgorithm.cs b/Algorithm.CSharp/AddRemoveOptionUniverseRegressionAlgorithm.cs index 95bfe67e8..fdf250fad 100644 --- a/Algorithm.CSharp/AddRemoveOptionUniverseRegressionAlgorithm.cs +++ b/Algorithm.CSharp/AddRemoveOptionUniverseRegressionAlgorithm.cs @@ -79,19 +79,19 @@ namespace QuantConnect.Algorithm.CSharp // things like manually added, auto added, internal, and any other boolean state we need to track against a single security) throw new Exception("The underlying equity data should NEVER be removed in this algorithm because it was manually added"); } - if (_expectedSecurities.AreDifferent(LinqExtensions.ToHashSet(Securities.Keys))) + if (_expectedSecurities.AreDifferent(Securities.Keys.ToHashSet())) { var expected = string.Join(Environment.NewLine, _expectedSecurities.OrderBy(s => s.ToString())); var actual = string.Join(Environment.NewLine, Securities.Keys.OrderBy(s => s.ToString())); throw new Exception($"{Time}:: Detected differences in expected and actual securities{Environment.NewLine}Expected:{Environment.NewLine}{expected}{Environment.NewLine}Actual:{Environment.NewLine}{actual}"); } - if (_expectedUniverses.AreDifferent(LinqExtensions.ToHashSet(UniverseManager.Keys))) + if (_expectedUniverses.AreDifferent(Securities.Keys.ToHashSet())) { var expected = string.Join(Environment.NewLine, _expectedUniverses.OrderBy(s => s.ToString())); var actual = string.Join(Environment.NewLine, UniverseManager.Keys.OrderBy(s => s.ToString())); throw new Exception($"{Time}:: Detected differences in expected and actual universes{Environment.NewLine}Expected:{Environment.NewLine}{expected}{Environment.NewLine}Actual:{Environment.NewLine}{actual}"); } - if (_expectedData.AreDifferent(LinqExtensions.ToHashSet(data.Keys))) + if (_expectedData.AreDifferent(Securities.Keys.ToHashSet())) { var expected = string.Join(Environment.NewLine, _expectedData.OrderBy(s => s.ToString())); var actual = string.Join(Environment.NewLine, data.Keys.OrderBy(s => s.ToString())); @@ -183,7 +183,7 @@ namespace QuantConnect.Algorithm.CSharp if (changes.RemovedSecurities .Where(x => x.Symbol.SecurityType == SecurityType.Option) .ToHashSet(s => s.Symbol) - .AreDifferent(LinqExtensions.ToHashSet(_expectedContracts))) + .AreDifferent(_expectedContracts.ToHashSet())) { throw new Exception("Expected removed securities to equal expected contracts added"); } diff --git a/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj b/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj index b1be8b082..3133aad38 100644 --- a/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj +++ b/Algorithm.CSharp/QuantConnect.Algorithm.CSharp.csproj @@ -63,10 +63,6 @@ - - - - diff --git a/Algorithm.Framework/QuantConnect.Algorithm.Framework.csproj b/Algorithm.Framework/QuantConnect.Algorithm.Framework.csproj index 96ef65f89..956b156b6 100644 --- a/Algorithm.Framework/QuantConnect.Algorithm.Framework.csproj +++ b/Algorithm.Framework/QuantConnect.Algorithm.Framework.csproj @@ -54,10 +54,6 @@ - - - - diff --git a/AlgorithmFactory/QuantConnect.AlgorithmFactory.csproj b/AlgorithmFactory/QuantConnect.AlgorithmFactory.csproj index 80fe92891..e07d98d9e 100644 --- a/AlgorithmFactory/QuantConnect.AlgorithmFactory.csproj +++ b/AlgorithmFactory/QuantConnect.AlgorithmFactory.csproj @@ -48,10 +48,6 @@ - - - - diff --git a/Api/QuantConnect.Api.csproj b/Api/QuantConnect.Api.csproj index 8dcec3437..de2ee7321 100644 --- a/Api/QuantConnect.Api.csproj +++ b/Api/QuantConnect.Api.csproj @@ -58,12 +58,6 @@ - - - - - - diff --git a/Brokerages/InteractiveBrokers/QuantConnect.IBAutomater.dll b/Brokerages/InteractiveBrokers/QuantConnect.IBAutomater.dll new file mode 100644 index 0000000000000000000000000000000000000000..5032bbd5a150e5b235d622fbf97ce5727ed5a5a8 GIT binary patch literal 23552 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 InteractiveBrokers\CSharpAPI.dll + + InteractiveBrokers\QuantConnect.IBAutomater.dll + Fxcm\QuantConnect.Fxcm.dll False - - - - - diff --git a/Common/Brokerages/DowngradeErrorCodeToWarningBrokerageMessageHandler.cs b/Common/Brokerages/DowngradeErrorCodeToWarningBrokerageMessageHandler.cs index e999d4bb1..5632dd0cf 100644 --- a/Common/Brokerages/DowngradeErrorCodeToWarningBrokerageMessageHandler.cs +++ b/Common/Brokerages/DowngradeErrorCodeToWarningBrokerageMessageHandler.cs @@ -13,8 +13,8 @@ * limitations under the License. */ +using System.Linq; using System.Collections.Generic; -using QuantConnect.Util; namespace QuantConnect.Brokerages { diff --git a/Common/Data/Market/FuturesChain.cs b/Common/Data/Market/FuturesChain.cs index f03d7d9bc..14f10940b 100644 --- a/Common/Data/Market/FuturesChain.cs +++ b/Common/Data/Market/FuturesChain.cs @@ -18,7 +18,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; using QuantConnect.Securities.Future; -using QuantConnect.Util; namespace QuantConnect.Data.Market { diff --git a/Common/QuantConnect.csproj b/Common/QuantConnect.csproj index 6c527d470..790b43cac 100644 --- a/Common/QuantConnect.csproj +++ b/Common/QuantConnect.csproj @@ -100,24 +100,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/Common/Securities/Option/StrategyMatcher/OptionPositionCollection.cs b/Common/Securities/Option/StrategyMatcher/OptionPositionCollection.cs index 0dd0efbdc..d33fcd45c 100644 --- a/Common/Securities/Option/StrategyMatcher/OptionPositionCollection.cs +++ b/Common/Securities/Option/StrategyMatcher/OptionPositionCollection.cs @@ -204,7 +204,7 @@ namespace QuantConnect.Securities.Option.StrategyMatcher /// /// public OptionPosition GetUnderlyingPosition() - => LinqExtensions.GetValueOrDefault(_positions, Underlying, new OptionPosition(Underlying, 0)); + => _positions.GetValueOrDefault(Underlying, new OptionPosition(Underlying, 0)); /// /// Creates a new from the specified enumerable of diff --git a/Common/Util/LinqExtensions.cs b/Common/Util/LinqExtensions.cs index faf3efc7c..933a5d4b4 100644 --- a/Common/Util/LinqExtensions.cs +++ b/Common/Util/LinqExtensions.cs @@ -62,17 +62,6 @@ namespace QuantConnect.Util return new ReadOnlyDictionary(enumerable.ToDictionary()); } - /// - /// Creates a new from the elements in the specified enumerable - /// - /// The item type in the hash set - /// The items to be placed into the enumerable - /// A new containing the items in the enumerable - public static HashSet ToHashSet(this IEnumerable enumerable) - { - return new HashSet(enumerable); - } - /// /// Creates a new from the elements in the specified enumerable /// @@ -374,21 +363,6 @@ namespace QuantConnect.Util } } - /// - /// Gets the value associated with the specified key or provided default value if key is not found. - /// - /// The key type - /// The value type - /// The dictionary instance - /// Lookup key - /// Default value - /// Value associated with the specified key or default value - public static V GetValueOrDefault(this IDictionary dictionary, K key, V defaultValue = default(V)) - { - V obj; - return dictionary.TryGetValue(key, out obj) ? obj : defaultValue; - } - /// /// Performs an action for each element in collection source /// diff --git a/Compression/QuantConnect.Compression.csproj b/Compression/QuantConnect.Compression.csproj index fe14e2872..64769b9a0 100644 --- a/Compression/QuantConnect.Compression.csproj +++ b/Compression/QuantConnect.Compression.csproj @@ -37,11 +37,6 @@ - - - - - diff --git a/Configuration/QuantConnect.Configuration.csproj b/Configuration/QuantConnect.Configuration.csproj index b681fe53c..acb8d60a7 100644 --- a/Configuration/QuantConnect.Configuration.csproj +++ b/Configuration/QuantConnect.Configuration.csproj @@ -38,10 +38,6 @@ - - - - diff --git a/Engine/QuantConnect.Lean.Engine.csproj b/Engine/QuantConnect.Lean.Engine.csproj index bde8ce2b6..d9d1526c2 100644 --- a/Engine/QuantConnect.Lean.Engine.csproj +++ b/Engine/QuantConnect.Lean.Engine.csproj @@ -108,13 +108,6 @@ - - - - - - - diff --git a/Indicators/QuantConnect.Indicators.csproj b/Indicators/QuantConnect.Indicators.csproj index 9812b7809..20265b2ca 100644 --- a/Indicators/QuantConnect.Indicators.csproj +++ b/Indicators/QuantConnect.Indicators.csproj @@ -49,10 +49,6 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - - - diff --git a/Launcher/QuantConnect.Lean.Launcher.csproj b/Launcher/QuantConnect.Lean.Launcher.csproj index becf2fb57..853d21bcd 100644 --- a/Launcher/QuantConnect.Lean.Launcher.csproj +++ b/Launcher/QuantConnect.Lean.Launcher.csproj @@ -45,11 +45,6 @@ - - - - - diff --git a/Logging/QuantConnect.Logging.csproj b/Logging/QuantConnect.Logging.csproj index a98cb07c7..425cc4100 100644 --- a/Logging/QuantConnect.Logging.csproj +++ b/Logging/QuantConnect.Logging.csproj @@ -57,10 +57,6 @@ - - - - diff --git a/Messaging/QuantConnect.Messaging.csproj b/Messaging/QuantConnect.Messaging.csproj index b26bc69e1..ab3dd464f 100644 --- a/Messaging/QuantConnect.Messaging.csproj +++ b/Messaging/QuantConnect.Messaging.csproj @@ -40,12 +40,6 @@ - - - - - - diff --git a/Optimizer.Launcher/QuantConnect.Optimizer.Launcher.csproj b/Optimizer.Launcher/QuantConnect.Optimizer.Launcher.csproj index e2ad807e6..ad13ddee6 100644 --- a/Optimizer.Launcher/QuantConnect.Optimizer.Launcher.csproj +++ b/Optimizer.Launcher/QuantConnect.Optimizer.Launcher.csproj @@ -38,11 +38,6 @@ - - - - - diff --git a/Optimizer/QuantConnect.Optimizer.csproj b/Optimizer/QuantConnect.Optimizer.csproj index 6cba57ab1..edae6dc1f 100644 --- a/Optimizer/QuantConnect.Optimizer.csproj +++ b/Optimizer/QuantConnect.Optimizer.csproj @@ -40,11 +40,6 @@ - - - - - diff --git a/Queues/QuantConnect.Queues.csproj b/Queues/QuantConnect.Queues.csproj index 138bc9774..1c0e5cd54 100644 --- a/Queues/QuantConnect.Queues.csproj +++ b/Queues/QuantConnect.Queues.csproj @@ -36,10 +36,6 @@ - - - - diff --git a/Tests/Common/Util/ConcurrentSetTests.cs b/Tests/Common/Util/ConcurrentSetTests.cs index 764c415e5..650ddefa7 100644 --- a/Tests/Common/Util/ConcurrentSetTests.cs +++ b/Tests/Common/Util/ConcurrentSetTests.cs @@ -15,6 +15,7 @@ using System; using System.Collections.Generic; +using System.Linq; using NUnit.Framework; using QuantConnect.Data.Consolidators; using QuantConnect.Data.Market; diff --git a/Tests/QuantConnect.Tests.csproj b/Tests/QuantConnect.Tests.csproj index 15434384c..11aa04e03 100644 --- a/Tests/QuantConnect.Tests.csproj +++ b/Tests/QuantConnect.Tests.csproj @@ -108,13 +108,6 @@ ..\Brokerages\Fxcm\QuantConnect.Fxcm.dll False - - - - - - - diff --git a/ToolBox/IDataProcessor.cs b/ToolBox/IDataProcessor.cs index 1f9ebefb7..4b3838db7 100644 --- a/ToolBox/IDataProcessor.cs +++ b/ToolBox/IDataProcessor.cs @@ -15,10 +15,10 @@ using System; using System.Collections.Generic; +using System.Linq; using QuantConnect.Data; using QuantConnect.Data.Consolidators; using QuantConnect.Data.Market; -using QuantConnect.Util; namespace QuantConnect.ToolBox { diff --git a/ToolBox/IQFeed/IQ/IQConnect.cs b/ToolBox/IQFeed/IQ/IQConnect.cs index 6235b1fe7..f9d915e57 100644 --- a/ToolBox/IQFeed/IQ/IQConnect.cs +++ b/ToolBox/IQFeed/IQ/IQConnect.cs @@ -15,7 +15,6 @@ */ using System.Diagnostics; -using Microsoft.Win32; using System.Threading; using QuantConnect.Configuration; @@ -41,29 +40,6 @@ namespace QuantConnect.ToolBox.IQFeed ); } - public string getPath() - { - var key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\DTN\\IQFeed"); - if (key == null) - { - // if it isn't in that location, it is possible the user is running and x64 OS. Check the windows virtualized registry location - key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Wow6432Node\\DTN\\IQFeed"); - } - string sLocation = null; - if (key != null) - { - sLocation = key.GetValue("EXEDIR", "").ToString(); - // close the key since we don't need it anymore - key.Close(); - // verify there is a \ on the end before we append the exe name - if (!(sLocation.EndsWith("\\") || sLocation.EndsWith("/"))) - { - sLocation += "\\"; - } - sLocation += "IQConnect.exe"; - } - return sLocation; - } public string getArguments(IQCredentials iqc) { var arguments = ""; diff --git a/ToolBox/PipeDataProcessor.cs b/ToolBox/PipeDataProcessor.cs index 59c1d192f..db2fa2272 100644 --- a/ToolBox/PipeDataProcessor.cs +++ b/ToolBox/PipeDataProcessor.cs @@ -14,8 +14,8 @@ */ using System.Collections.Generic; +using System.Linq; using QuantConnect.Data; -using QuantConnect.Util; namespace QuantConnect.ToolBox { diff --git a/ToolBox/QuantConnect.ToolBox.csproj b/ToolBox/QuantConnect.ToolBox.csproj index 80076187f..b7e4b45d4 100644 --- a/ToolBox/QuantConnect.ToolBox.csproj +++ b/ToolBox/QuantConnect.ToolBox.csproj @@ -103,11 +103,6 @@ ..\Brokerages\Fxcm\QuantConnect.Fxcm.dll - - - - -