diff --git a/MarketData/MarketData/Services/MainService.cs b/MarketData/MarketData/Services/MainService.cs index 467a161..2325bf0 100755 --- a/MarketData/MarketData/Services/MainService.cs +++ b/MarketData/MarketData/Services/MainService.cs @@ -8,6 +8,7 @@ using MarketData.MarketDataModel; using MarketData.Helper; using MarketData.Integration; using MarketData.Cache; +using MarketData.Generator; namespace MarketData.Services { @@ -36,12 +37,13 @@ namespace MarketData.Services MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEFINANCIALSTATEMENTS"); MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEFUNDAMENTALS"); MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEHISTORICAL"); - MDTrace.WriteLine(LogLevel.DEBUG,"ECHO {param1} {param2} {param(n)"); + MDTrace.WriteLine(LogLevel.DEBUG,"CALCSTICKER"); MDTrace.WriteLine(LogLevel.DEBUG,"MGSHSESSION /SESSIONFILE:"); MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNBACKTEST /USEHEDGING: /HEDGEINITIALCASH: /USESTOPLIMITS: /KEEPSLOTPOSITIONS: /STARTDATE: /MAXPOSITIONS: /INITIALCASH: /HOLDINGPERIOD: /{ENDDATE}: /SESSIONFILE: "); MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNDAILY /SESSIONFILE: /TRADEDATE:"); MDTrace.WriteLine(LogLevel.DEBUG,"RUNCMTREND /MODE:DAILY|BACKTEST|RUNTRENDTEMPLATE|ENTRYTEST /SYMBOL:{for mode ANALYZE,ENTRYTEST} /TRADEDATE:{for mode DAILY,RUNTRENDTEMPLATE) /STARTDATE:(for mode BACKTEST,ENTRYTEST) /ENDDATE:(for mode BACKTEST) /INITIALCASH: /SESSIONFILE: /MAXOPENPOSITIONS: /MAXDAILYPOSITIONS: Runs Mark Minervini trend"); MDTrace.WriteLine(LogLevel.DEBUG,"CMTSESSION /SESSIONFILE:{pathfilename} Runs Mark Minervini trend display session"); + MDTrace.WriteLine(LogLevel.DEBUG,"ECHO {param1} {param2} {param(n)"); } /// @@ -69,6 +71,7 @@ namespace MarketData.Services tasks.Add("UPDATEFINANCIALSTATEMENTS",TaskUpdateFinancialStatements); tasks.Add("UPDATEFUNDAMENTALS",TaskUpdateFundamentals); tasks.Add("UPDATEHISTORICAL",TaskUpdateHistorical); + tasks.Add("CALCSTICKER",TaskCalcSticker); tasks.Add("MGSHSESSION",TaskMGSHSession); tasks.Add("MGSHRUNBACKTEST",TaskMGSHRunBacktest); tasks.Add("MGSHRUNDAILY",TaskMGSHRunDaily); @@ -129,6 +132,11 @@ namespace MarketData.Services // ********************************************************************************************************************************************************** // ********************************************************* T A S K S ************************************************************************************* // ********************************************************************************************************************************************************** + public async Task TaskCalcSticker(CommandArgs commandArgs) + { + CalcSticker(); + } + public async Task TaskUpdateHistorical(CommandArgs commandArgs) { UpdateHistorical(); @@ -1058,6 +1066,36 @@ namespace MarketData.Services } } + public static void CalcSticker() + { + try + { + MDTrace.WriteLine(LogLevel.DEBUG,"Generating valuations.."); + Valuations valuations = ValuationGenerator.GenerateValuations(new ValuationGenerator.OnItemCompleteHandler + ((valuation) => + { + MDTrace.WriteLine(LogLevel.DEBUG,$"Completed '{valuation?.Symbol}' '{valuation?.Company}'",3); + return true; + } + ), + new ValuationGenerator.OnErrorItemHandler((symbol,message)=> + { + MDTrace.WriteLine(LogLevel.DEBUG,$"Error generating valuation for {symbol} {message}",3); + } + )); + MDTrace.WriteLine(LogLevel.DEBUG,"Updating database."); + if (!ValuationDA.AddValuations(valuations)) + { + MDTrace.WriteLine(LogLevel.DEBUG,"Error adding valuations to database"); + } + MDTrace.WriteLine(LogLevel.DEBUG,"Done."); + } + catch (Exception exception) + { + MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString()); + } + } + public static void UpdateHistorical() { HistoricalMarketDataHelper historicalMarketDataHelper=new HistoricalMarketDataHelper();