首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用c#将股票数据添加到amibroker

使用c#将股票数据添加到amibroker
EN

Stack Overflow用户
提问于 2010-05-31 05:19:33
回答 2查看 2.6K关注 0票数 1

我很难得到这个问题的答案,我真的,真的很感谢在这方面的一些帮助。

我已经在这上面两个多星期了,没有任何进展。

我想使用C#向c#中添加一行股票数据,但我就是找不到一个明确的响应来说明如何在add中实例化它。

在VB中,我会这样做:

代码语言:javascript
复制
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#中工作。

我在网上的某个地方找到了下面的代码,但我似乎无法理解如何实现上面的功能。

代码语言:javascript
复制
Type objClassType; 
objClassType = Type.GetTypeFromProgID("Broker.Application");
// Instantiate AmiBroker
objApp = Activator.CreateInstance(objClassType);
objStocks = objApp.GetType().InvokeMember("Stocks", BindingFlags.GetProperty,null, objApp, null); 

有人能帮我吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2010-05-31 10:58:19

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

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

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

C# 4.0有一个叫做dynamic的东西,它允许您在访问COM组件时编写更干净的代码。

票数 0
EN

Stack Overflow用户

发布于 2017-06-17 00:19:50

代码请看我的答案:

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

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

代码语言:javascript
复制
EURAUD,20170607,00:00:00.4885,1.50174,1.50231,1 //Symbol, Date, Time (HH:MM:SS.tttt), Bid, Ask, Volume

我使用default.format文件,它看起来像这样:

代码语言:javascript
复制
$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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2940375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档