public static DateTime updateAllTrackedSymbolsData(ConsoleRunningParameters cParams, DataModels.AllWatchLists allWatchLists)
        {
            List <string> watchSymbols = new List <string>();

            foreach (var list in allWatchLists.Lists)
            {
                foreach (var item in list.watchlistItems)
                {
                    if (!watchSymbols.Contains(item.symbol) && !item.symbol.Contains("/") && item.assetType == "EQUITY")
                    {
                        watchSymbols.Add(item.symbol);
                    }
                }
            }

            //add list
            //List<string> fromFile = ReadStockTickerList.ReadStockTickerListByLineOfText($"{cParams.tradeDataPath}\\SandP500List.txt");
            //foreach (string ticker in fromFile)
            //{
            //    if(!watchSymbols.Contains(ticker))
            //        watchSymbols.Add(ticker);
            //}

            Log.write($"{DateTime.Now.ToString()} Watching {watchSymbols.Count.ToString()} Symbols");
            foreach (string symbol in watchSymbols)
            {
                Console.Write($"{symbol.PadRight(10)}");
            }

            Log.write($"{watchSymbols.Count.ToString()} valid symbols found within {allWatchLists.Lists.Count.ToString()} watch lists.");

            int           countTrackedStockSymbols = 0;
            List <string> TrackedStockSymbols      = MarketHistory.ReadWriteJSONToDisk.getListOfStocksWithHistory(cParams.tradeDataPath);

            Log.write($"{DateTime.Now.ToString()} Tracked {TrackedStockSymbols.Count.ToString()} Symbols");
            foreach (string symbol in TrackedStockSymbols)
            {
                Console.Write($"{symbol.PadRight(10)}");
                countTrackedStockSymbols++;
            }
            Console.WriteLine("");

            List <string> newSymbolsToTrack = watchSymbols.Where(s => !TrackedStockSymbols.Contains(s)).ToList();

            StoreNewSymbolsByMinuteData(cParams.client, cParams.apiKey, cParams.tradeDataPath, newSymbolsToTrack);
            UpdateTrackedSymbolsMyMinuteData(cParams.client, cParams.apiKey, cParams.tradeDataPath, TrackedStockSymbols);
            return(DateTime.Now);
        }
Exemple #2
0
        public static void Main(string[] args)
        {
            //Load up all the setting and operating parameters
            ConsoleRunningParameters cmdParams = new ConsoleRunningParameters();

            Ultility.delay(250);

            //Get Watch lists
            var allWatchLists = AIStockTradingBotLogic.Watchlists.GetAllWatchLists(cmdParams.client);

            //Saving data really only needs to happen once a day
            cmdParams.SavedAllByMinuteData = RecordingMinuteHistory.updateAllTrackedSymbolsData(cmdParams, allWatchLists);


            //-----looping section-----  "preMarket", "regularMarket", "postMarket", "outsideMarket"

            //often Call
            //TODO Check For Trades
            //TODO Check Currently Trading stocks list

            Log.write($"EndTime {DateTime.Now.ToString()}");
        }