示例#1
0
        private void TimrSimulationTest_Tick(object sender, EventArgs e)
        {
            if (!ARCHIVE.IsLoaded || !ARCHIVE.Updated || !SIMULATION.Updated)
            {
                return;
            }

            if (ThrdPREDICTIONTEST != null && ThrdPREDICTIONTEST.IsAlive)
            {
                return;
            }

            ThrdPREDICTIONTEST = new Thread(delegate()
            {
                if (ARCHIVE.IsLoaded)
                {
                    List <string> LSProducts    = ARCHIVE.GetProducts();
                    List <string> LSSubProducts = new List <string>(new string[] { "EUR/USD" });//, "USD/JPY", "GBP/USD", "NZD/USD", "AUD/USD"


                    SIMULATION.Test(LSSubProducts);
                }
            });

            ThrdPREDICTIONTEST.Priority = ThreadPriority.Normal;// ThreadPriority.Highest;
            ThrdPREDICTIONTEST.Start();
        }
示例#2
0
        private void TimrSimulation_Tick(object sender, EventArgs e)
        {
            if (!ARCHIVE.IsLoaded || !ARCHIVE.Updated)
            {
                return;
            }

            //
            {
                if (!SIMULATION.Saving && !SIMULATION.Saved)
                {
                    BtnSavePredictions.Text    = "SAVE PREDICTIONS";
                    BtnSavePredictions.Enabled = true;
                }
                else if (SIMULATION.Saving)
                {
                    BtnSavePredictions.Enabled = false;
                    BtnSavePredictions.Text    = "SAVING ... ";
                }

                if (SIMULATION.Saved)
                {
                    bSavePrediction = false;
                }
            }

            if ((ThrdPREDICTION != null && ThrdPREDICTION.IsAlive) || !ARCHIVE.IsLoaded)
            {
                return;
            }

            ThrdPREDICTION = new Thread(delegate()
            {
                List <string> LSProducts    = ARCHIVE.GetProducts();                                    //LSProducts[27]
                List <string> LSSubProducts = new List <string>(new string[] { "EUR/USD", "XAU/USD" }); //, "USD/JPY", "GBP/USD", "XAU/USD" });// , "USD/CAD" , "XAG/USD" ", "AUD/USD", , "USD/CHF"

                foreach (string product in LSSubProducts)
                {
                    if (!LSProducts.Contains(product))
                    {
                        throw new Exception("Currency: " + product + " misssing in archive !");
                    }
                }

                //  LSSubProducts = LSProducts;


                /*SIMULATION.Start(TimeFrame.ONE_MINUTE, 14 * 1440, 20, 10, 10, LSSubProducts, bSavePrediction);
                 * SIMULATION1.Start(TimeFrame.FIVE_MINUTE, 14 * 1440, 20, 10, 10, LSSubProducts, bSavePrediction);
                 * SIMULATION2.Start(TimeFrame.FIFTEEN_MINUTE, 14 * 1440, 20, 10, 10, LSSubProducts, bSavePrediction);*/

                for (int i = 0; i < LTSimulation.Count; i++)
                {
                    LTSimulation[i].Join();
                }



                LTSimulation = new List <Thread>();
                LTSimulation.Add(new Thread(delegate() { SIMULATION.Start(TimeFrame.THIRTY_MINUTE, 60 * 24, 4, 2, LSSubProducts, bSavePrediction); }));//30-15,60-30,120-60
                //LTSimulation.Add(new Thread(delegate() { SIMULATION1.Start(TimeFrame.TEN_MINUTE, 42 * 1440, 30, 5, LSSubProducts, bSavePrediction); }));
                //LTSimulation.Add(new Thread(delegate() { SIMULATION2.Start(TimeFrame.FIFTEEN_MINUTE, 42 * 1440, 30, 5, LSSubProducts, bSavePrediction); }));

                /* LTSimulation.Add(new Thread(delegate() {
                 *   List<ChartPointsPredition> LCPsPNew = SIMULATION.Select(LSSubProducts);
                 *   this.Update(ref LCPsPTestSelected, LCPsPNew);
                 * }));
                 *
                 * LTSimulation.Add(new Thread(delegate()
                 * {
                 *   List<ChartPointsPredition> LCPsPNew = SIMULATION1.Select(LSSubProducts);
                 *   this.Update(ref LCPsPTestSelected1, LCPsPNew);
                 * }));*/

                for (int i = 0; i < LTSimulation.Count; i++)
                {
                    LTSimulation[i].Start();
                    LTSimulation[i].Priority = ThreadPriority.Normal;
                }



                // for (int i = 0; i < LTSimulation.Count; i++ ) LTSimulation[i].Join();
            });

            ThrdPREDICTION.Priority    = ThreadPriority.Normal;// ThreadPriority.Highest;
            TradeCurrentExecutionDelay = (int)((DateTime.Now - DTPredict).TotalSeconds + 1);
            ThrdPREDICTION.Start();
            TsslInfo2.Text = "Prediction Execution Time: " + TradeCurrentExecutionDelay + " [s]";
            DTPredict      = DateTime.Now;



            double dRatio = ((double)(SIMULATION.Saves + 1) / (SIMULATION.Predictions + 1)) * 100;

            TSSPBPredictions.Value = (int)dRatio;
        }