从C#代码访问输出

时间:2014-12-14 03:17:46

标签: c#

我在VS2013中使用C#运行此代码,我从这里开始:http://tda.codeplex.com/。该代码应该从我的TD Ameritrade 401k帐户收集数据。代码运行正常,但下面代码中输出的数据保存在哪里?我该如何访问它?

namespace TDAmeritrade.Samples
{
    using System;
    using TDAmeritrade;

    class Program
    {
        static void Main()
        {
            // Initialize TD Ameritrade client, provide additional config info if needed
            var client = new TDAClient();

            // Log in to the TD Ameritrade website with your user ID and password
            client.LogIn("jessicasusername", "jessicaspassword");

            // Now 'client.User' property contains all the information about currently logged in user
            var accountName = client.User.Account.DisplayName;

            // Get stock quotes snapshot.
            var quotes = client.GetQuotes("GOOG, AAPL, $SPX.X, DUMMY");

            // 'quotes.Error' contains a list of symbols which have not been found
            var errors = quotes.Errors;

            // Find symbols matching the search string
            var symbols = client.FindSymbols("GOO");

            // Get historical prices
            var prices = client.GetHistoricalPrices("GOOG, AAPL", StartDate: DateTime.Today.AddDays(-7), EndDate: DateTime.Today.AddDays(-1));
        }
    }
}

更新:将此代码放在

下面
PM> Install-Package Newtonsoft.Json

// Change the file path to wherever you wish to save the results
const string SaveFileToLocation = @"C:\Users\jessica\Desktop\json_data";
string json = JsonConvert.SerializeObject(prices, Formatting.Indented);

using (StreamWriter writer = new StreamWriter(SaveFileToLocation))
{
    writer.Write(json);   
}

3 个答案:

答案 0 :(得分:1)

它没有将数据保存在任何地方,以上所有代码都在检索指定的符号并将响应存储为变量名prices

var prices = client.GetHistoricalPrices("GOOG, AAPL", StartDate: DateTime.Today.AddDays(-7), EndDate: DateTime.Today.AddDays(-1));

如果您想快速轻松地将已检索的数据显示到控制台窗口,您可以使用我开发的库,该库是在NuGet上托管的。

PM> Install-Package DebugUtilities

修改

要将结果导出到文本文件,首先需要使用NuGet包管理器安装另一个包。

PM> Install-Package Newtonsoft.Json

安装完上述库后,您可以使用以下代码保存到您想要的任何位置。

// Change the file path to wherever you wish to save the results
const string SaveFileToLocation = @"C:\Dev\test.json";
string json = JsonConvert.SerializeObject(prices, Formatting.Indented);

using (StreamWriter writer = new StreamWriter(SaveFileToLocation))
{
    writer.Write(json);   
}

答案 1 :(得分:1)

至于保存到文件,无处可去。但是,您可以使用股票报价quotes填写errors以及在获取这些报价时遇到的任何错误,symbols我假设List<string>符号匹配*GOO*prices以前七天的历史价格。一旦程序结束,那些程序就会超出范围而必须再次检索。

要保存它们,您需要将它们保存到文件或创建数据库以存储信息。

答案 2 :(得分:0)

在新的API中,“ Quotes”和“ Quote”响应是单个回调。如果要进行流传输,则需要使用更复杂的https://developer.tdameritrade.com/content/streaming-data并发送异步回调。 和:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests