コード例 #1
0
        public static SignalMarks GetBullStoch307(string symbol)
        {
            var          marks  = new SignalMarks();
            List <Quote> quotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(
                    q => q.IsStoch101Cossing20Up &&
                    q.IsPriceCrossMovAvg7Up &&
                    q.IsMovingAvg30PointingUp &&
                    q.Symbol == symbol
                    ).ToList();
            }


            if (quotes.Count > 0)
            {
                quotes.Add(quotes.Last()); // Temporary POC fix for issue displaying last item in UI
                var ids   = Enumerable.Range(0, quotes.Count() - 1).ToList();
                var times = quotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime)))
                            .ToList();
                var colors          = quotes.Select(x => "yellow").ToList();
                var texts           = quotes.Select(x => "STOCH307").ToList();
                var labels          = quotes.Select(x => "ST").ToList();
                var labelFontColors = quotes.Select(x => "black").ToList();
                var minSizes        = quotes.Select(x => 20).ToList();

                marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };
            }

            return(marks);
        }
コード例 #2
0
        public static SignalMarks GetBullBigEightMarks(string symbol)
        {
            var          marks  = new SignalMarks();
            List <Quote> quotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(
                    q => q.IsBullEight45Degreed && q.Symbol == symbol
                    ).ToList();
            }

            if (quotes.Count > 0)
            {
                quotes.Add(quotes.Last());
                var ids   = Enumerable.Range(1, quotes.Count()).ToList();
                var times = quotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime)))
                            .ToList();
                var colors          = quotes.Select(x => "black").ToList();
                var texts           = quotes.Select(x => "BullBigEight").ToList();
                var labels          = quotes.Select(x => "B8").ToList();
                var labelFontColors = quotes.Select(x => "white").ToList();
                var minSizes        = quotes.Select(x => 20).ToList();

                marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };
            }

            return(marks);
        }
        public static SignalMarks GetBearGap(string symbol)
        {
            var          marks  = new SignalMarks();
            List <Quote> quotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(q => q.IsSuperGapBear == true && q.Symbol == symbol).ToList();
            }


            if (quotes.Count > 0)
            {
                quotes.Add(quotes.Last()); // Temporary POC fix for issue displaying last item in UI
                var ids   = Enumerable.Range(1, quotes.Count()).ToList();
                var times = quotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime)))
                            .ToList();
                var colors          = quotes.Select(x => "red").ToList();
                var texts           = quotes.Select(x => "Super Gaps").ToList();
                var labels          = quotes.Select(x => "GP").ToList();
                var labelFontColors = quotes.Select(x => "white").ToList();
                var minSizes        = quotes.Select(x => 20).ToList();

                marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };
            }

            return(marks);
        }
コード例 #4
0
        public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")]
                                              HttpRequestMessage req, TraceWriter log)
        {
            string from = req.GetQueryNameValuePairs()
                          .FirstOrDefault(q => String.Compare(q.Key, "from", StringComparison.OrdinalIgnoreCase) == 0)
                          .Value;

            string to = req.GetQueryNameValuePairs()
                        .FirstOrDefault(q => String.Compare(q.Key, "to", StringComparison.OrdinalIgnoreCase) == 0)
                        .Value;

            string symbol = req.GetQueryNameValuePairs()
                            .FirstOrDefault(q => String.Compare(q.Key, "symbol", StringComparison.OrdinalIgnoreCase) == 0)
                            .Value;

            string resolution = req.GetQueryNameValuePairs()
                                .FirstOrDefault(q => String.Compare(q.Key, "resolution", StringComparison.OrdinalIgnoreCase) == 0)
                                .Value;
            // parse query parameter
            string name = req.GetQueryNameValuePairs()
                          .FirstOrDefault(q => String.Compare(q.Key, "name", StringComparison.OrdinalIgnoreCase) == 0)
                          .Value;

            List <Quote> quotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(
                    q => q.IsBullEight45Degreed && q.Symbol == symbol
                    ).ToList();
            }

            if (quotes.Count > 0)
            {
                quotes.Add(quotes.Last()); // Temporary POC fix for issue displaying last item in UI
                var ids   = Enumerable.Range(0, quotes.Count() - 1).ToList();
                var times = quotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime)))
                            .ToList();
                var colors          = quotes.Select(x => "green").ToList();
                var texts           = quotes.Select(x => "BullBigEight").ToList();
                var labels          = quotes.Select(x => "B8").ToList();
                var labelFontColors = quotes.Select(x => "black").ToList();
                var minSizes        = quotes.Select(x => 20).ToList();

                var marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };

                var jsonToReturn = JsonConvert.SerializeObject(marks);
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
                });
            }

            return(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(JsonConvert.SerializeObject(new SignalMarks()), Encoding.UTF8,
                                            "application/json")
            });
        }
        public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")]
                                              HttpRequestMessage req, TraceWriter log)
        {
            string from = req.GetQueryNameValuePairs()
                          .FirstOrDefault(q => String.Compare(q.Key, "from", StringComparison.OrdinalIgnoreCase) == 0)
                          .Value;

            string to = req.GetQueryNameValuePairs()
                        .FirstOrDefault(q => String.Compare(q.Key, "to", StringComparison.OrdinalIgnoreCase) == 0)
                        .Value;

            string symbol = req.GetQueryNameValuePairs()
                            .FirstOrDefault(q => String.Compare(q.Key, "symbol", StringComparison.OrdinalIgnoreCase) == 0)
                            .Value;

            string resolution = req.GetQueryNameValuePairs()
                                .FirstOrDefault(q => String.Compare(q.Key, "resolution", StringComparison.OrdinalIgnoreCase) == 0)
                                .Value;
            // parse query parameter
            string name = req.GetQueryNameValuePairs()
                          .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
                          .Value;

            var marks1 = GetBearGap(symbol);

            var allColors = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.color != null).SelectMany(m => m.color);
            var allLabels = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.label != null).SelectMany(m => m.label);
            var allLabelFontColor = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.labelFontColor != null).SelectMany(m => m.labelFontColor);
            var allMinSizes = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.minSize != null).SelectMany(m => m.minSize);
            var allTexts = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.text != null).SelectMany(m => m.text);
            var allTimes = new List <SignalMarks>()
            {
                marks1
            }.Where(x => x.time != null).SelectMany(m => m.time);

            if (allTimes.Any())
            {
                var ids             = Enumerable.Range(1, allTimes.Count()).ToList();
                var times           = allTimes.ToList();
                var colors          = allColors.ToList();
                var texts           = allTexts.ToList();
                var labels          = allLabels.ToList();
                var labelFontColors = allLabelFontColor.ToList();
                var minSizes        = allMinSizes.ToList();

                var marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };

                var jsonToReturn = JsonConvert.SerializeObject(marks);
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
                });
            }


            return(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(JsonConvert.SerializeObject(new SignalMarks()), Encoding.UTF8,
                                            "application/json")
            });
        }
コード例 #6
0
        public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")]
                                              HttpRequestMessage req, TraceWriter log)
        {
            string from = req.GetQueryNameValuePairs()
                          .FirstOrDefault(q => String.Compare(q.Key, "from", StringComparison.OrdinalIgnoreCase) == 0)
                          .Value;

            string to = req.GetQueryNameValuePairs()
                        .FirstOrDefault(q => String.Compare(q.Key, "to", StringComparison.OrdinalIgnoreCase) == 0)
                        .Value;

            string symbol = req.GetQueryNameValuePairs()
                            .FirstOrDefault(q => String.Compare(q.Key, "symbol", StringComparison.OrdinalIgnoreCase) == 0)
                            .Value;

            string resolution = req.GetQueryNameValuePairs()
                                .FirstOrDefault(q => String.Compare(q.Key, "resolution", StringComparison.OrdinalIgnoreCase) == 0)
                                .Value;

            DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); //from 1970/1/1 00:00:00 to now

            var yesterday = DateTime.UtcNow.AddDays(-2);

            TimeSpan result = yesterday.Subtract(dt);

            int seconds = Convert.ToInt32(result.TotalSeconds);


            List <Quote> quotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(q => q.IsSuperGap == true &&
                                         q.Symbol == symbol).ToList();
            }


            if (quotes.Count > 0)
            {
                quotes.Add(quotes.Last()); // Temporary POC fix for issue displaying last item in UI
                var ids   = Enumerable.Range(0, quotes.Count() - 1).ToList();
                var times = quotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime)))
                            .ToList();
                var colors          = quotes.Select(x => "blue").ToList();
                var texts           = quotes.Select(x => "Super Gaps").ToList();
                var labels          = quotes.Select(x => "G").ToList();
                var labelFontColors = quotes.Select(x => "white").ToList();
                var minSizes        = quotes.Select(x => 20).ToList();

                var marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };

                var jsonToReturn = JsonConvert.SerializeObject(marks);
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
                });
            }

            return(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(JsonConvert.SerializeObject(new SignalMarks()), Encoding.UTF8,
                                            "application/json")
            });
        }
コード例 #7
0
        public static SignalMarks GetBullThreeArrowsMarks(string symbol)
        {
            var          marks         = new SignalMarks();
            List <Quote> quotes        = new List <Quote>();
            var          matchedQuotes = new List <Quote>();

            using (var db = new InvestipsQuotesContext())
            {
                quotes = db.Quotes.Where(q => q.Symbol == symbol &&
                                         (q.IsMacdCrossingHorizontalUp || q.IsPriceCrossMovAvg30Up || q.IsStoch145Cossing25Up))
                         .OrderBy(q => q.TimeStampDateTime).ToList();
                for (int i = 0; i < quotes.Count; i++)
                {
                    var quote      = quotes[i];
                    var isMacd     = quote.IsMacdCrossingHorizontalUp ? 1 : 0;
                    var isMovAvg30 = quote.IsPriceCrossMovAvg30Up ? 1 : 0;
                    var isStoch145 = quote.IsStoch145Cossing25Up ? 1 : 0;
                    var markCount  = isMacd + isMovAvg30 + isStoch145;

                    if (quote.IsStoch14505PointingUp)
                    {
                        if (quote.IsMacdCrossingHorizontalUp && quote.IsPriceCrossMovAvg30Up &&
                            quote.IsStoch145Cossing25Up)
                        {
                            matchedQuotes.Add(quote);
                        }
                        //if (quote.IsMacdCrossingHorizontalUp && PreviousTwoAreInRange(i, quote, quotes, markCount))
                        //{
                        //    matchedQuotes.Add(quote);
                        //}
                        //if (quote.IsPriceCrossMovAvg30Up && PreviousTwoAreInRange(i, quote, quotes, markCount))
                        //{
                        //    matchedQuotes.Add(quote);
                        //}
                        //if (quote.IsStoch145Cossing25Up && PreviousTwoAreInRange(i, quote, quotes, markCount))
                        //{
                        //    matchedQuotes.Add(quote);
                        //}
                    }
                }
            }

            if (matchedQuotes.Count > 0)
            {
                var ids             = Enumerable.Range(0, matchedQuotes.Count() - 1).ToList();
                var times           = matchedQuotes.Select(x => Convert.ToInt64(ToUnixTimeStamp(x.TimeStampDateTime))).ToList();
                var colors          = matchedQuotes.Select(x => "green").ToList();
                var texts           = matchedQuotes.Select(x => "3 Green Arrows").ToList();
                var labels          = matchedQuotes.Select(x => "G").ToList();
                var labelFontColors = matchedQuotes.Select(x => "black").ToList();
                var minSizes        = matchedQuotes.Select(x => 20).ToList();

                marks = new SignalMarks()
                {
                    id             = ids,
                    time           = times,
                    color          = colors,
                    text           = texts,
                    label          = labels,
                    labelFontColor = labelFontColors,
                    minSize        = minSizes
                };
            }

            return(marks);
        }