示例#1
0
 public ChartSrvc(string currPair)
 {
     this.CurrPair = currPair;
     this.Cscm     = new CSChartManager();
     this.Csc      = this.Cscm.GetCSChart(this.CurrPair);
     this.Ttc      = new TTChart(this.Csc);
 }
示例#2
0
        private int Test01_b(int nextDate, int date, CSChart csc)
        {
            for (int c = 0; c <
                 4
                 //10
                 //20
                 ; c++)
            {
                {
                    long dt     = date * 1000000L + 90000;
                    long nextDt = nextDate * 1000000L + 90000;

                    if (csc.GetPrice(dt).Mid < csc.GetPrice(nextDt).Mid)
                    {
                        break;
                    }
                }

                do
                {
                    nextDate = DateToDay.ToDate(DateToDay.ToDay(nextDate) + 1);
                }while ("土日".Contains(DateTimeUnit.FromDate(nextDate).GetWeekday()));
            }
            return(nextDate);
        }
示例#3
0
        public void Test01()
        {
            CSChartManager cscm  = new CSChartManager();
            CSChart        csc   = cscm.GetCSChart("USDJPY");
            CSPrice        price = csc.GetPrice(20191101060531);

            Console.WriteLine(price.Hig);
        }
示例#4
0
文件: Program.cs 项目: stackprobe/Fx
        private void Test01()
        {
            CSChartManager cscm = new CSChartManager();
            CSChart        csc  = cscm.GetCSChart("USDJPY");
            TTChart        ttc  = new TTChart(csc);
            MAChart        mac  = new MAChart(ttSec => ttc.GetPrice(ttSec).Mid, 10, 60);

            Console.WriteLine(mac.GetPrice(TTCommon.DateTimeToTTSec(20200401000000)));
        }
示例#5
0
        private void Test01_a(int dateStart, int dateEnd)
        {
            for (int maDay = 5; maDay <= 30; maDay += 5)
            {
                List <Info> infos = new List <Info>();

                CSChartManager cscm = new CSChartManager();
                CSChart        csc  = cscm.GetCSChart("USDJPY");
                TTChart        ttc  = new TTChart(csc);
                MAChart        mac  = new MAChart(ttSec => ttc.GetPrice(ttSec).Mid, 60 * 24 * maDay, 60);

                for (int date = dateStart; date <= dateEnd;)
                {
                    int nextDate = date;

                    do
                    {
                        nextDate = DateToDay.ToDate(DateToDay.ToDay(nextDate) + 1);
                    }while ("土日".Contains(DateTimeUnit.FromDate(nextDate).GetWeekday()));

                    int bNextDate = Test01_b(nextDate, date, csc);

                    long dt      = date * 1000000L + 90000;
                    long bNextDt = bNextDate * 1000000L + 90000;

                    // ----

                    infos.Add(new Info()
                    {
                        MvAvgPrice   = mac.GetPrice(TTCommon.DateTimeToTTSec(dt)),
                        Price        = csc.GetPrice(dt).Mid,
                        NextDayPrice = csc.GetPrice(bNextDt).Mid,
                    });

                    // ----

                    date = nextDate;
                }

                using (CsvFileWriter writer = new CsvFileWriter(string.Format(@"C:\temp\maDay={0}.csv", maDay)))
                {
                    foreach (Info info in infos)
                    {
                        writer.WriteCell(info.Price.ToString("F9"));
                        writer.WriteCell(info.MvAvgPrice.ToString("F9"));
                        writer.WriteCell(info.NextDayPrice.ToString("F9"));
                        writer.WriteCell((info.MvAvgPrice / info.Price).ToString("F9"));
                        writer.WriteCell((info.NextDayPrice / info.Price).ToString("F9"));
                        writer.EndRow();
                    }
                }
            }
        }
示例#6
0
        public void Test01()
        {
            CSChartManager cscm = new CSChartManager();
            CSChart        csc  = cscm.GetCSChart("USDJPY");
            TTChart        ttc  = new TTChart(csc);
            MAChart        mac  = new MAChart(ttSec => ttc.GetPrice(ttSec).Mid, 10, 60);

            for (int c = 0; c < 100; c++)
            {
                long ttSec = TTCommon.DateTimeToTTSec(20191101060000) + c * 60;

                Console.WriteLine(ttc.GetPrice(ttSec).Mid.ToString("F9") + " " + mac.GetPrice(ttSec).ToString("F9"));
            }
        }
示例#7
0
 public void CSInterumData(double high, double low, double open, double close)
 {
     if (low == 0)
     {
         low = open;
     }
     if (high == 0)
     {
         high = open;
     }
     CSChart.Series["Price"].Points[CurrentPoint].YValues[0] = high * .25;
     CSChart.Series["Price"].Points[CurrentPoint].YValues[1] = low * .25;
     CSChart.Series["Price"].Points[CurrentPoint].YValues[2] = open * .25;
     CSChart.Series["Price"].Points[CurrentPoint].YValues[3] = close * .25;
     CSChart.Series["Price"].Points.ResumeUpdates();
     CSChart.Update();
 }
示例#8
0
        private void MakeDataFile(string currPair)
        {
            Console.WriteLine("currPair: " + currPair);             // test cout

            CSChartManager cscm = new CSChartManager();
            CSChart        csc  = cscm.GetCSChart(currPair);
            TTChart        ttc  = new TTChart(csc);

            MAChart[] macs = new MAChart[MA_DAYS.Length];

            for (int index = 0; index < MA_DAYS.Length; index++)
            {
                macs[index] = new MAChart(ttSec => ttc.GetPrice(ttSec).Mid, 60 * 24 * MA_DAYS[index], 60);
            }

            long ttSecSt = TTCommon.DateTimeToTTSec(this.DateTimeSt);
            long ttSecEd = TTCommon.DateTimeToTTSec(this.DateTimeEd);

            Pulser pulser = new Pulser();

            using (CsvFileWriter writer = new CsvFileWriter(Path.Combine(W_DIR, currPair + ".csv")))
            {
                for (long ttSec = ttSecSt; ttSec <= ttSecEd; ttSec += 60)
                {
                    if (pulser.Invoke())
                    {
                        Console.WriteLine(TTCommon.TTSecToDateTime(ttSec) + " @ " + DateTime.Now);                         // test cout
                    }
                    writer.WriteCell(TTCommon.TTSecToDateTime(ttSec).ToString());
                    writer.WriteCell(ttSec.ToString());
                    writer.WriteCell(ttc.GetPrice(ttSec).Low.ToString("F9"));
                    writer.WriteCell(ttc.GetPrice(ttSec).Hig.ToString("F9"));
                    writer.WriteCell(ttc.GetPrice(ttSec).Mid.ToString("F9"));

                    foreach (MAChart mac in macs)
                    {
                        writer.WriteCell(mac.GetPrice(ttSec).ToString("F9"));
                    }

                    writer.EndRow();
                }
            }
            Console.WriteLine("done");             // test cout
        }
示例#9
0
文件: TTChart.cs 项目: stackprobe/Fx
 public TTChart(CSChart inner_binding)
 {
     this.Inner = inner_binding;
 }