private static Dictionary <TradeInstrument.Issuer, double> GetInstruments(string text) { Dictionary <TradeInstrument.Issuer, double> dictionary = new Dictionary <TradeInstrument.Issuer, double>(); string[] lineSplit = text.Split('\n', '\r'); bool isFutures = true; foreach (string line in lineSplit) { if (!String.IsNullOrEmpty(line)) { string lineWoCommas = line.Trim(':', ';'); if (lineWoCommas == SLSettings.FuturesName) { isFutures = true; continue; } if (lineWoCommas == SLSettings.StocksName) { isFutures = false; continue; } string[] issuerAndStop = lineWoCommas.Split(' '); TradeInstrument.Issuer issuer = TradeInstrument.GetIssuerRa(issuerAndStop[0], isFutures); dictionary.Add(issuer, StringFunctions.ParseDouble(issuerAndStop[1])); } } return(dictionary); }
public static void ReadCurrentDeals() { _currentDeals = new List <Deal>(); StreamReader streamReader = new StreamReader (Path.Combine(Application.StartupPath, Config.MiscFolderName, Folder, CurrentDealsFileName), Encoding.UTF8); try { while (!streamReader.EndOfStream) { string line = streamReader.ReadLine(); if (string.IsNullOrEmpty(line)) { break; } string[] split = line.Split(';'); DateTime date = DateTime.ParseExact(split[0], "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture); TradeInstrument.Issuer issuer = TradeInstrument.GetIssuer(split[1]); decimal openVal = StringFunctions.ParseDecimal(split[2]); string dir = split[3]; int vol = int.Parse(split[4]); decimal stopVal = StringFunctions.ParseDecimal(split[5]); DateTime stopDate = DateTime.ParseExact(split[6], "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture); Deal deal = new Deal(issuer, dir, date, openVal, vol, stopVal, stopDate); _currentDeals.Add(deal); } } finally { streamReader.Close(); } }
/// <summary> /// Конструктор для создания сделки /// </summary> /// <param name="direction">Направление сделки</param> /// <param name="openDate">Дата открытия сделки</param> /// <param name="openValue">Цена открытия</param> public Deal(TradeInstrument.Issuer issure, string direction, DateTime openDate, decimal?openValue, int volume, decimal lastStopValue, DateTime lastStopDate) : this(openDate, openValue) { SetDirection(direction); Issuer = issure; Volume = volume; LastStopValue = lastStopValue; LastStopDate = lastStopDate; }
private static decimal GetTodeyStopValue(TradeInstrument.Issuer issuer) { if (!_littleDeals.ContainsKey(DateTime.Today)) { return(-1m); } List <LittleTableViewer> list = _littleDeals[DateTime.Today]; foreach (LittleTableViewer littleTableViewer in list) { if (littleTableViewer.Instrument != issuer) { continue; } return(littleTableViewer.StopValue); } return(-1m); }