static void Main(string[] args) { AppLogger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup") { FilePattern = "Log.{0:yyyy-MM-dd}.log", DeleteDays = 20 }; string path = ConfigurationManager.AppSettings["InitiatorPath"]; SessionSettings = new SessionSettings(path); FileStoreFactory = new FileStoreFactory(SessionSettings); ScreenLogFactory = new ScreenLogFactory(SessionSettings); MessageFactory = new QuickFix.FIX44.MessageFactory(); Program myProgram = new Program(); Initiator = new SocketInitiator(myProgram, FileStoreFactory, SessionSettings, ScreenLogFactory); Initiator.Start(); Console.WriteLine("Initiator successfully started..."); Console.ReadKey(); }
static void Main(string[] args) { string positionsCSV = ConfigurationManager.AppSettings["PositionsFile"]; string tradesCSV = ConfigurationManager.AppSettings["TodayTrades"]; PositionsCSVDTO positionsDTO = PositionsLoader.GetPositions(positionsCSV); List <TradeDTO> todayTrades = ExecutionsLoader.GetTrades(tradesCSV); ILogSource Logger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup") { FilePattern = "Log.{0:yyyy-MM-dd}.log", DeleteDays = 20 }; MarginCollateralCalculator calc = new MarginCollateralCalculator(pSecurities: positionsDTO.GetSecurityMasterRecords(), pTodayDSPs: positionsDTO.GetTodayDailySettlementPrice(), pPrevDSPs: positionsDTO.GetYesterdayDailySettlementPrice(), pConfig: GetConfig(), pLogger: Logger); Console.WriteLine("===================== MARGIN/COLLATERAL grid ===================== "); foreach (string firm in positionsDTO.FirmPositions.Keys) { List <TradeDTO> firmTrades = todayTrades.Where(x => x.FirmId == firm).ToList(); MarginCollateralDTO marginCollateral = calc.CalculateMargin(firmId: firm, todayCollateral: 0, todayPositions: positionsDTO.FirmPositions[firm], todayTrades: firmTrades); PrintMarginCollateral(marginCollateral); } Console.ReadKey(); }