diff --git a/Common/Messages/Messages.Securities.cs b/Common/Messages/Messages.Securities.cs
index b67572700c39..5ba21bd2eb28 100644
--- a/Common/Messages/Messages.Securities.cs
+++ b/Common/Messages/Messages.Securities.cs
@@ -970,15 +970,6 @@ public static string SymbolNotFoundInSymbolPropertiesDatabase(QuantConnect.Symbo
///
public static class SecurityTransactionManager
{
- ///
- /// Returns a string message saying CancelOpenOrders operation is not allowed in Initialize or during warm up
- ///
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static string CancelOpenOrdersNotAllowedOnInitializeOrWarmUp()
- {
- return $"This operation is not allowed in {FormatCode("Initialize")} or during warm up: {FormatCode("CancelOpenOrders")}. Please move this code to the {FormatCode("OnWarmupFinished")}() method.";
- }
-
///
/// Returns a string message saying the order was canceled by the CancelOpenOrders() at the given time
///
diff --git a/Common/Securities/SecurityTransactionManager.cs b/Common/Securities/SecurityTransactionManager.cs
index c281563902fc..a6647449c8a2 100644
--- a/Common/Securities/SecurityTransactionManager.cs
+++ b/Common/Securities/SecurityTransactionManager.cs
@@ -253,7 +253,7 @@ public List CancelOpenOrders()
{
if (_algorithm != null && _algorithm.IsWarmingUp)
{
- throw new InvalidOperationException(Messages.SecurityTransactionManager.CancelOpenOrdersNotAllowedOnInitializeOrWarmUp());
+ return new List();
}
var cancelledOrders = new List();
@@ -275,7 +275,7 @@ public List CancelOpenOrders(Symbol symbol, string tag = null)
{
if (_algorithm != null && _algorithm.IsWarmingUp)
{
- throw new InvalidOperationException(Messages.SecurityTransactionManager.CancelOpenOrdersNotAllowedOnInitializeOrWarmUp());
+ return new List();
}
var cancelledOrders = new List();
diff --git a/Tests/Common/Securities/SecurityTransactionManagerTests.cs b/Tests/Common/Securities/SecurityTransactionManagerTests.cs
index 917628505172..8fb0ead5a89b 100644
--- a/Tests/Common/Securities/SecurityTransactionManagerTests.cs
+++ b/Tests/Common/Securities/SecurityTransactionManagerTests.cs
@@ -114,6 +114,18 @@ public void WorksProperlyWithPyObjects()
transactionHandler.Exit();
}
+ [Test]
+ public void CancelOpenOrdersReturnsEmptyWhileWarmingUp()
+ {
+ var algorithm = new QCAlgorithm();
+ algorithm.SubscriptionManager.SetDataManager(new DataManagerStub(algorithm));
+ var spy = algorithm.AddEquity("SPY").Symbol;
+
+ Assert.IsTrue(algorithm.IsWarmingUp);
+ Assert.IsEmpty(algorithm.Transactions.CancelOpenOrders());
+ Assert.IsEmpty(algorithm.Transactions.CancelOpenOrders(spy));
+ }
+
[Test]
public void OrderEnumerablesAreMemoizedExposingCount()
{