示例#1
0
        /// <summary>
        /// returns true if sim event binding is needed
        /// </summary>
        /// <param name="sim"></param>
        /// <param name="ga"></param>
        bool prepsim_needsbind(ref HistSim sim, GauntArgs ga)
        {
            // see if filter or folder has changed
            string thistff   = TickFileFilter.Serialize(ga.Filter) + ga.Folder;
            bool   fullreset = lasttff != thistff;

            if ((sim == null) || fullreset)
            {
                if (_portfoliosim.Checked)
                {
                    if (_siminmemory.Checked)
                    {
                        sim = new HistSimMemory(ga.Folder, ga.Filter);
                    }
                    else
                    {
                        debug("Using portfolio simulation. (realistic)");
                        sim = new MultiSimImpl(ga.Folder, ga.Filter);
                    }
                }
                else
                {
                    debug("Using sequential symbol simulation. (faster)");
                    sim = new SingleSimImpl(ga.Folder, ga.Filter);
                }
                lasttff = thistff;
                return(true);
            }
            else
            {
                sim.Reset();
            }
            return(false);
        }
示例#2
0
        public void SerializeDeserialize()
        {
            TickFileFilter tff = new TickFileFilter(new string[] { "IBM", "MHS", "T" });

            tff.DateFilter(20070000, DateMatchType.Year);
            tff.isDateMatchUnion       = false;
            tff.isSymbolDateMatchUnion = false;
            string msg = TickFileFilter.Serialize(tff);

            TickFileFilter f2 = TickFileFilter.Deserialize(msg);

            string msg2 = TickFileFilter.Serialize(f2);

            Assert.AreEqual(msg, msg2);
            Assert.AreEqual(tff.isDateMatchUnion, f2.isDateMatchUnion);
            Assert.AreEqual(tff.isSymbolDateMatchUnion, f2.isDateMatchUnion);
        }