public SPY_Simulation(int NumberOfValues, int NumberOfVariables, int NumberOfTasks, int StartRangeAt, long DailyBuy, SPY_History SPYHistory)
        {
            // SET SIMULATION PARAMETERS

            this.CE = new Counting_Engine(NumberOfValues, NumberOfVariables);

            SPYHistory.Filter_Data(SPYHistory.Trading_Days.Count - YearsToTradingDays(43));  // SIMULATION CURRENTLY TRIMS THE DATA DOWN THE LAST 43 YEARS
                                                                                             // -> SOMEONE WHO STARTED INVESTING AT 22 AND IS RETIRING AT 65

            this.SPY = SPYHistory;

            this.numberoftasks = NumberOfTasks;

            this.numberofvalues = NumberOfValues;

            this.numberofvariables = NumberOfVariables;

            this.startRange = StartRangeAt;

            this.CalculateIncrementer();

            this.dailyBuy = DailyBuy * 100;

            this.dailyBuyPrecision = this.dailyBuy * 10000;

            this.sale = this.GrabSale();

            this.potCap = (this.dailyBuy * (YearsToTradingDays(1) / 4));  // POT CAP IS SET TO ONE FISCAL QUARTER'S WORTH OF BUYS

            this.countCap = Counting_Engine.ToPower(this.numberofvalues, this.numberofvariables);

            this.Results = new List <SPY_Simulation_Result>();

            this.progress = 0;
        }
 public Simulator(int Number_of_Values, int Number_Of_Variables)
 {
     this.CE = new Counting_Engine(Number_of_Values, Number_Of_Variables);
 }