Exemplo n.º 1
0
        public bool InsertTickData(string symbol, TickDataType type, DateTime date, double price, double size, string conditionCodes, string exchangeCodes)
        {
            if (!getSQLconnection())
            {
                return false;
            }
            else
            {
                int SymbolID = GetSymbolID(symbol);
                if (SymbolID <= 0)
                {
                    SymbolID = InsertSymbol(symbol);
                }

                byte fieldType;
                switch (type)
                {
                    case TickDataType.TRADE:
                        fieldType = 0;
                        break;
                    case TickDataType.ASK:
                        fieldType = 1;
                        break;
                    case TickDataType.BID:
                        fieldType = 2;
                        break;
                    default:
                        return false;
                }

                SqlCommand cmd = cn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "InsertTickData";

                SqlParameter SymbolPrm = new SqlParameter("@SymbolID", SqlDbType.SmallInt);
                SymbolPrm.Value = SymbolID;
                cmd.Parameters.Add(SymbolPrm);

                SqlParameter pFldType = new SqlParameter("@FldType", SqlDbType.TinyInt);
                pFldType.Value = fieldType;
                cmd.Parameters.Add(pFldType);

                SqlParameter DatePrm = new SqlParameter("@Date", SqlDbType.DateTime2);
                DatePrm.Value = date;
                cmd.Parameters.Add(DatePrm);

                SqlParameter pPrice = new SqlParameter("@Price", SqlDbType.Real);
                pPrice.Value = price;
                cmd.Parameters.Add(pPrice);

                SqlParameter pSize = new SqlParameter("@Size", SqlDbType.Real);
                pSize.Value = size;
                cmd.Parameters.Add(pSize);

                SqlParameter pCondCode = new SqlParameter("@CondCode", SqlDbType.VarChar);
                if (conditionCodes == string.Empty)
                    pCondCode.Value = DBNull.Value;
                else
                    pCondCode.Value = conditionCodes;

                cmd.Parameters.Add(pCondCode);

                SqlParameter pExchgCode = new SqlParameter("@ExchgCode", SqlDbType.VarChar);
                if (exchangeCodes == string.Empty)
                    pExchgCode.Value = DBNull.Value;
                else
                    pExchgCode.Value = exchangeCodes;
                cmd.Parameters.Add(pExchgCode);

                cn.Open();
                cmd.ExecuteNonQuery();
                cn.Close();

            }

            return true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the tick data.
        /// </summary>
        /// <param name="apiUrl">The API URL.</param>
        /// <param name="accountID">The account identifier.</param>
        /// <param name="accessToken">The access token.</param>
        /// <param name="symbol">The symbol.</param>
        /// <param name="tickDataType">Type of the tick data.</param>
        /// <param name="date">The date.</param>
        /// <param name="hourFrom">The hour from.</param>
        /// <param name="minuteFrom">The minute from.</param>
        /// <param name="secondFrom">The second from.</param>
        /// <param name="hourTo">The hour to.</param>
        /// <param name="minuteTo">The minute to.</param>
        /// <param name="secondTo">The second to.</param>
        /// <returns></returns>
        public static List <TickData> GetTickData(string apiUrl, string accountID, string accessToken, string symbol, TickDataType tickDataType, DateTime date, int hourFrom, int minuteFrom, int secondFrom, int hourTo, int minuteTo, int secondTo)
        {
            string tickDataTypeString = string.Empty;

            switch (tickDataType)
            {
            case TickDataType.Bid:
                tickDataTypeString = "bid";
                break;

            case TickDataType.Ask:
                tickDataTypeString = "ask";
                break;
            }

            string dateString          = String.Format("{0:0000}", date.Year) + String.Format("{0:00}", date.Month) + String.Format("{0:00}", date.Day);
            string timeFrom            = String.Format("{0:00}", hourFrom) + String.Format("{0:00}", minuteFrom) + String.Format("{0:00}", secondFrom);
            string timeTo              = String.Format("{0:00}", hourTo) + String.Format("{0:00}", minuteTo) + String.Format("{0:00}", secondTo);
            var    client              = new RestClient(apiUrl);
            var    request             = new RestRequest(@"connect/tradingaccounts/" + accountID + "/symbols/" + symbol + "/" + tickDataTypeString + "/?oauth_token=" + accessToken + "&date=" + dateString + "&from=" + timeFrom + "&to=" + timeTo);
            var    responseTickDataBid = client.Execute <TickData>(request);

            return(JsonConvert.DeserializeObject <List <TickData> >((JObject.Parse(responseTickDataBid.Content)["data"]).ToString()));
        }