【问题标题】:adding stock data to amibroker using c#使用 c# 将股票数据添加到 amibroker
【发布时间】:2011-02-25 18:58:40
【问题描述】:

我很难得到并回答这个问题,我真的非常感谢一些帮助。

我已经在这方面工作了两个多星期,但没有取得任何进展。

我想使用 c# 向 amibroker 添加一行股票数据,但我找不到关于如何在 C# 中实例化它的明确响应。

在 VB 中,我会这样做;

Dim AmiBroker = CreateObject("Broker.Application")                
sSymbol = ArrayRow(0).ToUpper
Stock = AmiBroker.Stocks.Add(sSymbol)
iDate = ArrayRow(1).ToLower
quote = Stock.Quotations.Add(iDate)
quote.Open = CSng(ArrayRow(2))
quote.High = CSng(ArrayRow(3))
quote.Low = CSng(ArrayRow(4))
quote.Close = CSng(ArrayRow(5))
quote.Volume = CLng(ArrayRow(6))

问题是 CreateObject 在这种情况下在 C# 中不起作用。

我在网上某处找到了下面的代码,但我似乎无法理解如何实现上述目标。

Type objClassType; 
objClassType = Type.GetTypeFromProgID("Broker.Application");
// Instantiate AmiBroker
objApp = Activator.CreateInstance(objClassType);
objStocks = objApp.GetType().InvokeMember("Stocks", BindingFlags.GetProperty,null, objApp, null); 

有人可以帮我吗?

谢谢

【问题讨论】:

    标签: c# createobject instantiation stock


    【解决方案1】:

    VB 代码对“COM IDispatch”兼容组件使用称为后期绑定的东西。 C#(直到 C# 版本 3)不支持后期绑定。 C# 编译器只编译它知道如何绑定的代码(称为早期绑定)。

    要做你想做的事,通过 Visual Studio 生成代理 dll 会更容易 - 在项目上选择 添加引用,然后选择选项卡 COM ,然后在列表中搜索该 ami 代理组件。这将生成一个代理 dll,您可以使用与您为 VB 显示的代码类似的代码对其进行编程。

    在 C# 3.0 中,您会发现有时必须使用 Type.Missing 并且必须进行一些额外的显式转换,即使您认为这看起来不合逻辑。

    C# 4.0 有一个名为 dynamic 的东西,它允许您在访问 COM 组件时编写更简洁的代码。

    【讨论】:

      【解决方案2】:

      在此处查看我的答案以获取代码:

      https://stackoverflow.com/a/20101274/1581495

      我现在实际上使用这种方法。我从 MetaTrader 中保存文本文件,然后将它们实时导入 AmiBroker。这样做基本上就像使用 ASCII 导入来导入引号一样,因此您需要确保准备好您的导入格式文件。对我来说,一行示例数据如下所示:

      EURAUD,20170607,00:00:00.4885,1.50174,1.50231,1 //Symbol, Date, Time (HH:MM:SS.tttt), Bid, Ask, Volume
      

      我使用的是 default.format 文件,如下所示:

      $FORMAT TICKER,DATE_YMD,TIME,CLOSE,AUX1,VOLUME
      $SEPARATOR ,
      $AUTOADD 0
      $BREAKONERR 0
      $SKIPLINES 0 
      

      在此处查找有关导入和格式的指南和一些示例:

      https://www.amibroker.com/guide/d_ascii.html

      编辑:这也可能有助于导入

      http://www.amibroker.com/kb/2016/01/23/how-to-create-custom-import-definition-for-ascii-importer/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 2023-04-08
        相关资源
        最近更新 更多