Combine open positions and watchlist pricing feeds into one intraday feed.
This commit is contained in:
@@ -26,6 +26,7 @@ namespace MarketData.Services
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEDAILY2 /DATE:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTPRICEOPENPOSITIONS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTPRICEWATCHLIST /WATCHLIST:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEINTRADAYPRICING:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATELATESTANALYSTRATINGS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEANALYSTRATINGS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATESECFILINGSWATCHLIST /WATCHLIST:");
|
||||
@@ -55,6 +56,7 @@ namespace MarketData.Services
|
||||
tasks.Add("UPDATEDAILY2",TaskUpdateDaily2);
|
||||
tasks.Add("UPDATELATESTPRICEOPENPOSITIONS",TaskUpdateLatestPriceOpenPositions);
|
||||
tasks.Add("UPDATELATESTPRICEWATCHLIST",TaskUpdateLatestPriceWatchList);
|
||||
tasks.Add("UPDATEINTRADAYPRICING",TaskUpdateIntradayPricing);
|
||||
tasks.Add("UPDATELATESTANALYSTRATINGS",TaskUpdateLatestAnalystRatings);
|
||||
tasks.Add("UPDATEANALYSTRATINGS",TaskUpdateAnalystRatings);
|
||||
tasks.Add("UPDATESECFILINGSWATCHLIST",TaskUpdateSECFilingsWatchList);
|
||||
@@ -180,7 +182,33 @@ namespace MarketData.Services
|
||||
if(!commandArgs.Has("WATCHLIST")){Console.WriteLine("UPDATELATESTPRICEWATCHLIST MISSING WATCHLIST");return;}
|
||||
UpdateLatestPriceWatchList(commandArgs.Coalesce<String>("WATCHLIST"));
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task TaskUpdateIntradayPricing(CommandArgs commandArgs)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(!CheckRunCriteria())return;
|
||||
String watchListName="Valuations";
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"UPDATEINTRADAYPRICING");
|
||||
List<String> watchlistSymbols = WatchListDA.GetWatchList(watchListName);
|
||||
PortfolioTrades portfolioTrades=PortfolioDA.GetOpenTrades();
|
||||
List<String> portfolioSymbols=(from PortfolioTrade portfolioTrade in portfolioTrades select portfolioTrade.Symbol).Distinct().ToList();
|
||||
if(portfolioSymbols.Any(x=>x.Equals("SPY")))portfolioSymbols.Add("SH");
|
||||
List<String> symbols = new List<String>();
|
||||
symbols.AddRange(portfolioSymbols);
|
||||
symbols.AddRange(watchlistSymbols);
|
||||
symbols = symbols.Distinct().ToList();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Updating {symbols.Count} prices. Includes {portfolioSymbols.Count} open positions and {watchlistSymbols.Count} Valuation watchlist.");
|
||||
PricingMarketDataHelper pricingMarketDataHelper=new PricingMarketDataHelper();
|
||||
pricingMarketDataHelper.UpdateLatestPrices(symbols);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,exception);
|
||||
}
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
|
||||
public async Task TaskUpdateLatestAnalystRatings(CommandArgs commandArgs)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user