4

我正在 NinjaTrader 中编写我的自定义指标,它具有基于 C# 构建的脚本语言。我想在不同的股票图表之间共享数据,但没有固有的方法可以这样做。每个指标都继承自一个指标类,当然每个图表都运行一个应用的任何指标的唯一实例。

例如,我希望能够将 IBM 的当前价格“发送”到 AAPL 图表。从概念上讲,在“发送”图表上,我需要能够执行以下操作:

静态双 IBM = 190.72;

但是,例如,当用户将图表代码从 IBM 更改为 DELL 时,我现在需要类似以下内容:

静态双 DELL = 9.25;

在我的“接收”图表上,我希望能够执行 Print(DELL); 之类的操作。

所以我的倾向是希望有一个根据用户为图表选择的股票代码动态分配的变量名称,但是我知道这在 C# 中是不可能的。那么,当存在一组实际上无限的潜在股票代码值时,存储和检索需要按股票代码名称索引的数据的替代方法是什么?

4

2 回答 2

7

为什么不使用字典之类的东西?例如:

var stocks = new Dictionary<string, double>();
stocks.Add("appl", 1234.56);
Print(stocks["appl"]);

您可以根据需要为其动态添加代码名称和值,按代码进行查找以及许多其他有用的功能。您想要单个变量而不是集合的任何原因?

于 2012-10-24T20:24:08.810 回答
0

创建一个对象:

public class Stock {
  public string Ticker{get; set;}
  public double Price {get; set;}
}

然后引用 List 中所有可能的股票:

  List<Stock> allStocks = new List<Stock>();
   allStocks.Add(new Stock() { Ticker = "Dell", Price = 9.25 });

   allStocks.ForEach(stock => Print(string.Format("{0} : {1}", stock.Ticker, stock.Price) );
于 2012-10-24T20:27:02.397 回答