public async void TestGetDailyTickerEntityList()
        {
            string    tempTickerFolder = "/tmp/screen3_temp_files/localticker/";
            TickerBLL bll = new TickerBLL(this.s3_bucket_name, tempTickerFolder);

            await bll.GetDailyTickerEntityList("ANZ");

            await bll.GetDailyTickerEntityList("SUN");
        }
Beispiel #2
0
        public async void TestHeikinAshi()
        {
            TickerBLL           bll   = new TickerBLL(this.s3_bucket_name, this.tempTickerFolder);
            List <TickerEntity> tList = await bll.GetDailyTickerEntityList("ORG", 20191001, 20191101);

            double[] o = new double[tList.Count];
            double[] h = new double[tList.Count];
            double[] l = new double[tList.Count];
            double[] c = new double[tList.Count];

            double?[] oo = new double?[tList.Count];
            double?[] oh = new double?[tList.Count];
            double?[] ol = new double?[tList.Count];
            double?[] oc = new double?[tList.Count];

            var i = 0;

            foreach (var t in tList)
            {
                o[i] = t.O;
                h[i] = t.H;
                l[i] = t.L;
                c[i] = t.C;

                i++;
            }

            Result res = HeikinAshi.Calculate(o, c, h, l, oo, oc, oh, ol);

            Console.WriteLine(ObjectHelper.ToJson(oo));
        }
        public async void TestMACD()
        {
            TickerBLL           bll   = new TickerBLL(this.s3_bucket_name, this.tempTickerFolder);
            List <TickerEntity> tList = await bll.GetDailyTickerEntityList("ORG", 20181001, 20191101);

            double[] inputData = new double[tList.Count];

            var i = 0;

            foreach (var t in tList)
            {
                inputData[i] = t.C;
                i++;
            }

            double?[] m = new double?[tList.Count];
            double?[] s = new double?[tList.Count];
            double?[] h = new double?[tList.Count];

            Result res = MACD.Calculate(inputData, 26, 12, 9, m, s, h);

            var tArray = tList.ToArray();

            for (int j = 0; j < tList.Count; j++)
            {
                Console.WriteLine($"{tArray[j].T} {tArray[j].P} O: {tArray[j].O} H: {tArray[j].H} L: {tArray[j].L} C: {tArray[j].C} M: {m[j]} S: {s[j]} H: {h[j]} ");
            }
        }
Beispiel #4
0
        public async void TestMigrateExistingTickersToDb()
        {
            string      tempTickerFolder = "/tmp/screen3_temp_files/localticker/";
            string      tableName        = "stevenjiangnz-screen3-tickers";
            TickerBLL   bll             = new TickerBLL(this.s3_bucket_name, tempTickerFolder);
            TickerDbBLL dbBll           = new TickerDbBLL(tableName);
            string      stock_tableName = "stevenjiangnz-screen3-asx300";

            StockBLL stockbll  = new StockBLL(stock_tableName);
            var      stockList = await stockbll.GetAll();

            Console.WriteLine("stocklist: " + ObjectHelper.ToJson(stockList.Count));

            foreach (var stock in stockList)
            {
                var tickerList = await bll.GetDailyTickerEntityList(stock.Code);

                await dbBll.AppendTickerRange(tickerList);

                Console.WriteLine($"updated ticker count: {tickerList.Count}, {stock.Code}");
            }
        }
        public async Task <ActionResult> Get(string code, string type = "day", int?start = 0, int?end = 0)
        {
            TickerBLL           bll        = new TickerBLL(this.s3_bucket_name, this.local_temp_folder);
            List <TickerEntity> tickerList = new List <TickerEntity>();

            Console.WriteLine($"code: {code} type: {type} start: {start} end: {end}");

            if (type.ToLower() == "day")
            {
                tickerList = await bll.GetDailyTickerEntityList(code.ToUpper(), start, end);
            }
            else if (type.ToLower() == "week")
            {
                tickerList = await bll.GetWeeklyTickerEntityList(code.ToUpper(), start, end);
            }
            else
            {
                return(BadRequest($"Wrong type input: {type}"));
            }

            return(Ok(tickerList));
        }