Exemple #1
0
        private static void AddSignal(PlotLine2D line_plot_2d, double[] time, double[] signal, List <IList <int> > selections, Color color)
        {
            List <Tuple <double[], double[], Color> > series_list = new List <Tuple <double[], double[], Color> >();

            foreach (IList <int> selection in selections)
            {
                series_list.Add(new Tuple <double[], double[], Color>(
                                    time.Select(selection),
                                    signal.Select(selection),
                                    color));
            }

            line_plot_2d.AddSeries(series_list);
        }
        public void DoExperiment()
        {
            List <PriceCandle> all_data = ToolsPrice.GetPriceCandles();

            // new DateTime(2016, 9, 3)
            PlotLine2D line_plot_2d = new PlotLine2D();


            for (int month_index = 1; month_index < 9; month_index++)
            {
                DateTimeUTC nfp_date = null;// ToolsTradingCalendarEvent.GetNFPDatetime(2016, month_index);

                DateTimeUTC   nfp_date_begin = nfp_date.AddMinutes(-100);
                DateTimeUTC   nfp_date_end   = nfp_date.AddMinutes(100);
                List <double> nfp_time       = new List <double>();
                List <double> nfp_bid        = new List <double>();

                double candle_time = 0;
                double subtract    = 0;
                foreach (PriceCandle candle in all_data)
                {
                    if ((nfp_date_begin <= candle.OpenTime) && (candle.OpenTime < nfp_date_end))
                    {
                        if (candle_time == 0)
                        {
                            subtract = candle.OpenBid;
                        }
                        nfp_time.Add(candle_time);
                        nfp_time.Add(candle_time);
                        nfp_time.Add(candle_time);
                        nfp_time.Add(candle_time);
                        nfp_bid.Add(candle.OpenBid);
                        nfp_bid.Add(candle.LowBid);
                        nfp_bid.Add(candle.HighBid);
                        nfp_bid.Add(candle.CloseBid);
                        candle_time++;
                    }
                }
                line_plot_2d.AddSeries(nfp_time, nfp_bid, Color.Black);
            }
            ToolsPlotting.WriteToFile(ToolsTradingDataSet.GetPath() + "nfp.png", line_plot_2d, 800, 800);
        }
Exemple #3
0
        public static void AddTrades(PlotLine2D line_plot_2d, MarketResult market_result)
        {
            List <Tuple <double[], double[], Color> > series_list = new List <Tuple <double[], double[], Color> >();

            for (int orderIndex = 0; orderIndex < market_result.Market.ClosedOrders.Count; orderIndex++)
            {
                TradingOrder closed_order     = market_result.Market.ClosedOrders[orderIndex];
                double[]     open_close_time  = new double[] { closed_order.OpenDateTime.Ticks, closed_order.CloseDateTime.Ticks };
                double[]     open_close_price = new double[] { closed_order.OpenPrice, closed_order.ClosePrice };
                if (closed_order.OrderType == TradingOrderType.Long)
                {
                    series_list.Add(new Tuple <double[], double[], Color>(open_close_time, open_close_price, COLOR_LONG));
                }
                else
                {
                    series_list.Add(new Tuple <double[], double[], Color>(open_close_time, open_close_price, COLOR_SHORT));
                }
            }
            line_plot_2d.AddSeries(series_list);
        }
Exemple #4
0
 private static void AddSignal(PlotLine2D line_plot_2d, IReadOnlyList <double> time, IReadOnlyList <double> signal, Color color)
 {
     line_plot_2d.AddSeries(time, signal, color);
 }