diff --git a/MarketDataLib/Generator/CMMomentum/CMBacktest.cs b/MarketDataLib/Generator/CMMomentum/CMBacktest.cs index 8429e67..c91e8ee 100644 --- a/MarketDataLib/Generator/CMMomentum/CMBacktest.cs +++ b/MarketDataLib/Generator/CMMomentum/CMBacktest.cs @@ -29,7 +29,6 @@ namespace MarketData.Generator.CMMomentum private int MaxPositions { get { return Parameters.MaxPositions; } } private List NoTradeSymbols { get { return Utility.ToList(Parameters.NoTradeSymbols); } } private ActivePositions ActivePositions { get; set; } - private SMSNotifications SMSNotifications { get; set; } private Positions AllPositions { get; set; } private int Cycle { get; set; } private DateTime TradeDate { get; set; } @@ -377,7 +376,15 @@ namespace MarketData.Generator.CMMomentum MDTrace.WriteLine(LogLevel.DEBUG, String.Format("Using session file {0}, Last updated {1}", paramPathSessionFileName, sessionParams.LastUpdated)); } Parameters.DisplayConfiguration(); - CheckCNNServerStatus(); + if(!IsCNNServerAvailable()) + { + GBPriceCache.GetInstance().Dispose(); + return new CMBacktestResult() + { + Success = false, + CashBalance = CashBalance + }; + } DisplayBalance(); if(TradeDate > AnalysisDate) { @@ -712,18 +719,18 @@ namespace MarketData.Generator.CMMomentum // **************************************************************************************************************************************** // ************************************************************** C N N S E R V E R *************************************************** // **************************************************************************************************************************************** - private void CheckCNNServerStatus() + private bool IsCNNServerAvailable() { - if(Parameters.UseCNN) // ping the server here so that we don't have to do it for each request + if(!Parameters.UseCNN)return true; + + CNNClient cnnClient=new CNNClient(Parameters.UseCNNHost); + if(!cnnClient.Ping()) { - CNNClient cnnClient=new CNNClient(Parameters.UseCNNHost); - if(!cnnClient.Ping()) - { - String strMessage=String.Format("******* UseCNN=true but the server is not responding. {0} *******",Parameters.UseCNNHost); - Console.Beep(800,200); - throw new Exception(strMessage); - } + String strMessage=String.Format("******* UseCNN=true but the server is not responding. {0} *******",Parameters.UseCNNHost); + MDTrace.WriteLine(LogLevel.DEBUG,strMessage); + return false; } + return true; } // **************************************************************************************************************************************** // **************************************************************** S E S S I O N M A N A G E M E N T ***********************************