Example #1
0
        private void noTouchButton_Click(object sender, EventArgs e)
        {
            string comment = Interaction.InputBox("Comment");

            testLog.WriteLine(day.ToString());
            testLog.WriteLine($"Did not touch");
            testLog.WriteLine($"Commment:{comment}");
            testLog.WriteLine("----------------------------------------");

            rakeInButton.Enabled  = false;
            goLongButton.Enabled  = false;
            shortButton.Enabled   = false;
            noTouchButton.Enabled = false;

            count = day.MarketDay.DataPoints.Count;
            PopulateChart(day);
        }
        void PopulateChart(MarketGuess day)
        {
            chart1.ChartAreas["VolumeArea"].AlignWithChartArea   = "PriceArea";
            chart1.ChartAreas["VolumeArea"].AlignmentOrientation = AreaAlignmentOrientations.Vertical;
            chart1.ChartAreas["VolumeArea"].AlignmentStyle       = AreaAlignmentStyles.All;

            chart1.Titles["TitleStockDetails"].Text = day.ToString();

            chart1.Series["Hloc5Min"].ChartType = SeriesChartType.Candlestick;
            chart1.Series["Hloc5Min"].Points.Clear();

            chart1.ChartAreas["PriceArea"].AxisY.Minimum  = day.MarketDay.Low * 0.999;
            chart1.ChartAreas["PriceArea"].AxisY.Maximum  = day.MarketDay.High * 1.001;
            chart1.ChartAreas["PriceArea"].AxisY2.Minimum = (day.MarketDay.Low / day.BuyPrice - 1);
            chart1.ChartAreas["PriceArea"].AxisY2.Maximum = (day.MarketDay.High / day.BuyPrice - 1);
            chart1.ChartAreas["PriceArea"].AxisX.Minimum  = day.ToOA(9, 30);
            chart1.ChartAreas["PriceArea"].AxisX.Maximum  = day.ToOA(16, 10);
            chart1.ChartAreas["VolumeArea"].AxisX.Minimum = day.ToOA(9, 30);
            chart1.ChartAreas["VolumeArea"].AxisX.Maximum = day.ToOA(16, 10);


            foreach (Series series in chart1.Series)
            {
                series.Points.Clear();
            }

            Console.WriteLine(day.MarketDay.ToStringNice());

            chart1.Series["LocalHL"].Points.Add(new DataPoint(day.ToOA(9, 30), new [] { day.LocalHigh, day.LocalLow }));
            chart1.Series["LocalHL"].Points.Add(new DataPoint(day.ToOA(10, 30), new [] { day.LocalHigh, day.LocalLow }));

            chart1.Series["HighBound"].Points.Add(new DataPoint(day.ToOA(9, 30), day.HighBound));
            chart1.Series["HighBound"].Points.Add(new DataPoint(day.ToOA(10, 30), day.HighBound));

            chart1.Series["LowBound"].Points.Add(new DataPoint(day.ToOA(9, 30), day.LowBound));
            chart1.Series["LowBound"].Points.Add(new DataPoint(day.ToOA(10, 30), day.LowBound));

            chart1.Series["BuyPrice"].Points.Add(new DataPoint(day.ToOA(9, 30), day.BuyPrice));
            chart1.Series["BuyPrice"].Points.Add(new DataPoint(day.ToOA(10, 30), day.BuyPrice));

            chart1.Series["GapLine"].Points.Add(new DataPoint(day.ToOA(9, 30), day.MarketDay.Open / day.MarketDay.Gap));
            chart1.Series["GapLine"].Points.Add(new DataPoint(day.ToOA(16, 10), day.MarketDay.Open / day.MarketDay.Gap));

            chart1.Series["ProfitMargin"].Points.Add(new DataPoint(day.ToOA(10, 30), new[] { day.BuyPrice *(1 - MarketGuess.profit), day.BuyPrice * (1 + MarketGuess.profit) }));
            chart1.Series["ProfitMargin"].Points.Add(new DataPoint(day.ToOA(16, 10), new[] { day.BuyPrice *(1 - MarketGuess.profit), day.BuyPrice * (1 + MarketGuess.profit) }));

            foreach (DataPoint dataPoint in chart1.Series["ProfitMargin"].Points)
            {
                dataPoint.Color = Color.FromArgb(40, dataPoint.Color);
            }

            foreach (DataPoint dataPoint in chart1.Series["LocalHL"].Points)
            {
                dataPoint.Color = Color.FromArgb(40, dataPoint.Color);
            }

            foreach (MarketDataPoint marketDataPoint in day.LongPoints)
            {
                chart1.Series["LongPoints"].Points.Add(new DataPoint(marketDataPoint.DateTime.ToOADate(), marketDataPoint.High));
            }

            foreach (MarketDataPoint marketDataPoint in day.ShortPoints)
            {
                chart1.Series["ShortPoints"].Points.Add(new DataPoint(marketDataPoint.DateTime.ToOADate(), marketDataPoint.Low));
            }

            foreach (MarketDataPoint marketDataPoint in day.MarketDay.DataPoints)
            {
                chart1.Series["Hloc5Min"].Points.Add(
                    new DataPoint(
                        marketDataPoint.DateTime.ToOADate(),
                        new[] { marketDataPoint.High, marketDataPoint.Low, marketDataPoint.Open, marketDataPoint.Close }));

                chart1.Series["Volume5Min"].Points.Add(new DataPoint(marketDataPoint.DateTime.ToOADate(), (double)marketDataPoint.Volume / 5));
            }
        }