Пример #1
0
        public async Task <ActionResult <CashClose> > PostCashClose(CashClose cashClose)
        {
            _context.CashCloses.Add(cashClose);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetCashClose", new { id = cashClose.ID }, cashClose));
        }
Пример #2
0
        public async Task <IActionResult> PutCashClose(int id, CashClose cashClose)
        {
            if (id != cashClose.ID)
            {
                return(BadRequest());
            }

            _context.Entry(cashClose).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CashCloseExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #3
0
        protected override void Initialize()
        {
            // Initialize and create nested indicators

            var DailyStats = MarketData.GetSeries(TimeFrame.Minute30);


            DateTime TodayUTC     = DailyStats.OpenTime.LastValue.ToUniversalTime().Subtract(DailyStats.OpenTime.LastValue.ToUniversalTime().TimeOfDay);
            DateTime YesterdayUTC = TodayUTC.AddDays(-1);

            if (YesterdayUTC.DayOfWeek == DayOfWeek.Sunday)
            {
                YesterdayUTC = TodayUTC.AddDays(-2);
            }

            if (YesterdayUTC.DayOfWeek == DayOfWeek.Saturday)
            {
                YesterdayUTC = TodayUTC.AddDays(-1);
            }

            Print("YesterdayUTC: " + YesterdayUTC.ToString());


            int n = 0;

            CashLow = int.MaxValue;

            while (true)
            {
                //Print("in!");
                //Get the Day
                if (DailyStats.OpenTime.Last(n).Date.ToUniversalTime() == YesterdayUTC.Date)
                {
                    //  Print("Got Day!");

                    if (DailyStats.OpenTime.Last(n).ToUniversalTime().TimeOfDay >= new TimeSpan(8, 0, 0) & DailyStats.OpenTime.Last(n).ToUniversalTime().TimeOfDay <= new TimeSpan(14, 30, 0))
                    {
                        //  Print("got time!");

                        if (CashHigh < DailyStats.High.Last(n))
                        {
                            CashHigh = DailyStats.High.Last(n);
                        }

                        if (CashLow > DailyStats.Low.Last(n))
                        {
                            CashLow = DailyStats.Low.Last(n);
                        }

                        if (DailyStats.OpenTime.Last(n).ToUniversalTime().TimeOfDay == new TimeSpan(8, 0, 0))
                        {
                            CashOpen = DailyStats.Open.Last(n);
                        }

                        if (DailyStats.OpenTime.Last(n).ToUniversalTime().TimeOfDay == new TimeSpan(14, 30, 0))
                        {
                            CashClose = DailyStats.Open.Last(n);
                        }
                    }
                }

                if (DailyStats.OpenTime.Last(n).ToUniversalTime() <= YesterdayUTC)
                {
                    break;
                }


                n += 1;
            }
            // while


            string Summary = Symbol.Code.ToString() + ": Yesterday's Open: " + CashOpen.ToString() + ", Close: " + CashClose.ToString() + ", High: " + CashHigh.ToString() + ", Low: " + CashLow.ToString();

            SlackMe(Summary, "daily-levels");
            ChartObjects.DrawText("Previous", Summary, StaticPosition.BottomRight, Colors.Red);


            var ATRSeries        = MarketData.GetSeries(TimeFrame.Daily);
            AverageTrueRange ATR = Indicators.AverageTrueRange(ATRSeries, 5, MovingAverageType.Simple);

            ChartObjects.DrawText("ATR", "ATR: " + ATR.Result.LastValue.ToString() + ", 15% ATR: " + (ATR.Result.LastValue * 0.15).ToString() + ",30% ATR: " + (ATR.Result.LastValue * 0.3).ToString() + "", StaticPosition.TopRight, Colors.Red);


            ChartObjects.DrawText("ATR2", "ATR: " + CashATR.ToString() + ", 15% ATR: " + (CashATR * 0.15).ToString() + ",30% ATR: " + (CashATR * 0.3).ToString(), -20, Symbol.Ask, VerticalAlignment.Center, HorizontalAlignment.Center, Colors.Green);



            // DAILY
            ChartObjects.DrawHorizontalLine("DailyHigh", CashHigh, Colors.Green, 1, LineStyle.LinesDots);
            ChartObjects.DrawHorizontalLine("DailyLow", CashLow, Colors.Green, 1, LineStyle.LinesDots);
            ChartObjects.DrawHorizontalLine("DailyCLose", CashClose, Colors.Green, 1, LineStyle.LinesDots);


            // Daily Levels


            P = ((CashHigh + CashLow + CashClose) / 3);


            R1 = ((2 * P) - CashLow);
            R2 = (P + CashHigh - CashLow);
            R3 = (CashHigh + 2 * (P - CashLow));


            S1 = ((2 * P) - CashHigh);
            S2 = (P - CashHigh + CashLow);
            S3 = CashLow - 2 * (CashHigh - P);

            CBOL = ((CashHigh - CashLow) * 1.1 / 2 + CashClose);
            CBOS = CashClose - (CashHigh - CashLow) * 1.1 / 2;



            WP = ((WeeklyHigh + WeeklyLow + WeeklyClose) / 3);
            MP = ((MonthlyHigh + MonthlyLow + MonthlyClose) / 3);


            ChartObjects.DrawHorizontalLine("DailyPivot", P, Colors.Black, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("WeeklyPivot", WP, Colors.Black, 3, LineStyle.Lines);
            ChartObjects.DrawHorizontalLine("MonthlyPivot", MP, Colors.Black, 3, LineStyle.Solid);

            ChartObjects.DrawHorizontalLine("R1", R1, Colors.Red, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("R2", R2, Colors.Red, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("R3", R3, Colors.Red, 1, LineStyle.Solid);

            ChartObjects.DrawHorizontalLine("S1", S1, Colors.Green, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("S2", S2, Colors.Green, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("S3", S3, Colors.Green, 1, LineStyle.Solid);

            ChartObjects.DrawHorizontalLine("CBOL", CBOL, Colors.YellowGreen, 1, LineStyle.Solid);
            ChartObjects.DrawHorizontalLine("CBOS", CBOS, Colors.Blue, 1, LineStyle.Solid);


            // WEEKLY
            ChartObjects.DrawHorizontalLine("WeeklyHigh", WeeklyHigh, Colors.Green, 1, LineStyle.Lines);
            ChartObjects.DrawHorizontalLine("WeeklyLow", WeeklyLow, Colors.Red, 1, LineStyle.Lines);
            //   ChartObjects.DrawHorizontalLine("WeeklyClose", WeeklyClose, Colors.DeepSkyBlue, 1, LineStyle.LinesDots);


            // MONTHLY
            ChartObjects.DrawHorizontalLine("MonthlyHigh", MonthlyHigh, Colors.Green, 3, LineStyle.Lines);
            ChartObjects.DrawHorizontalLine("MonthlyLow", MonthlyLow, Colors.Red, 3, LineStyle.Lines);
            //   ChartObjects.DrawHorizontalLine("MonthlyClose", MonthlyClose, Colors.DarkGray, 1, LineStyle.LinesDots);
        }