예제 #1
0
        protected string ResolveEcoIndexName(EcoIndexEnum ecoIndex)
        {
            switch (ecoIndex)
            {
            case EcoIndexEnum.RSI:
                return("rsi");

            case EcoIndexEnum.EMA:
                return("ema");

            case EcoIndexEnum.ForceIndex:
                return("force_index");
            }

            return("unknown");
        }
예제 #2
0
        public List <EcoIndex> GetLastEcoIndex(string pattern, EcoIndexEnum ecoIndex, string pairName, int size = 1)
        {
            RestRequest          restRequest = new RestRequest(pattern + "/_search", Method.POST);
            ElasticSingleRequest request     = new ElasticSingleRequest
            {
                query = new ElasticEcoQuery
                {
                    @bool = new ElasticBool
                    {
                        filter = new ElasticFilter
                        {
                            term = new ElasticTermId
                            {
                                Id = (int)ecoIndex
                            }
                        },
                        must = new ElasticMustFilter
                        {
                            term = new ElasticMustName
                            {
                                Name = pairName
                            }
                        },
                    }
                },
                size = size,
                sort = new List <ElasticSort>
                {
                    new ElasticSort
                    {
                        Time = new ElasticTimeSort()
                    }
                }
            };

            restRequest.AddJsonBody(request);
            IRestResponse <ElasticItemResponse> response = _client.Execute <ElasticItemResponse>(restRequest);

            return(response?.Data?.hits?.hits?.Select(h => h._source)?.ToList());
        }