Exemple #1
0
        public SimAccount(string accountId, string description, decimal startingbalance, int leverage)
        {
            _id              = accountId;
            Desc             = description;
            _startingbalance = startingbalance;
            Leverage         = leverage;

            _securities       = new SecurityTracker();
            _currentpositions = new PositionTracker(this);
        }
Exemple #2
0
        public SimAccount(string accountId, string description, decimal startingbalance, int leverage, string name)
        {
            _id              = accountId;
            Desc             = description;
            _startingbalance = startingbalance;
            Leverage         = leverage;

            _securities                     = new SecurityTracker <SecurityImpl>(name);
            _currentpositions               = new PositionTracker(this);
            _pipvalueconversionsymbols      = Util.GetPipValueSymbolCrosses(Currency);
            _positionvalueconversionsymbols = Util.GetPositionValueSymbolCrosses(Currency);
        }
Exemple #3
0
        /// <summary>
        /// Returns the TIK file filter based on the samples used in this backtest
        /// </summary>
        /// <param name="baseFolder"></param>
        /// <param name="symbol"></param>
        /// <param name="filter"></param>
        /// <param name="startdate"></param>
        /// <param name="enddate"></param>
        /// <returns></returns>
        private static string[] GetTIKFiles(string baseFolder, ISecurityTracker securities, out TickFileFilter filter, int startdate, int enddate)
        {
            List <string> files = new List <string>();

            //Create filter with the symbols as requested
            List <string> symbols = new List <string>();

            foreach (var sec in securities.ToArray())
            {
                symbols.Add(sec.Name);
            }
            filter = new TickFileFilter(symbols);

            //Add the initial timeperiod
            DateTime ct           = Util.Qld2Dt(startdate);
            TimeSpan periodlenght = Util.Qld2Dt(enddate) - Util.Qld2Dt(startdate);

            //Filter the period
            for (int i = 0; i < periodlenght.TotalDays; i++)
            {
                filter.DateFilter(int.Parse(ct.AddDays(i).ToString("yyyyMMdd")), DateMatchType.Day);
            }

            //settings
            filter.IsDateMatchUnion = true;
            filter.DefaultDeny      = true;

            //Select tickfiles
            foreach (var xdate in filter.DateList)
            {
                foreach (var symbol in filter.SymbolList)
                {
                    //Check if file exists in the zip file
                    FileInfo fi = new FileInfo(baseFolder + string.Format("\\{0}.zip", symbol));

                    if (!fi.Exists)
                    {
                        throw new FileNotFoundException("Could not find tik archive");
                    }

                    using (ZipFile zip = ZipFile.Read(fi.FullName))
                    {
                        if (!zip.ContainsEntry(symbol.ToUpper() + xdate.Date + ".TIK"))
                        {
                            continue;
                        }
                    }
                    string file = fi.FullName + @"\" + symbol.ToUpper() + xdate.Date + ".TIK";
                    files.Add(file);
                }
            }
            return(files.ToArray());
        }
Exemple #4
0
        public void RequestBroker_Default_Succeed(SecurityType type, string name)
        {
            //Arrange
            sut = new SecurityTracker();

            //Act
            var security = sut[name, type];

            //Assert
            security.Should().NotBeNull();
            security.Name.Should().Be(name);
            security.Type.Should().Be(type);
        }
Exemple #5
0
 public TestSecurityTracker()
 {
     sut = new SecurityTracker();
 }