我想在我的网站上显示Amibroker生成的买入/卖出信号。我试了很多方法,但还是找不到解决方案。
如果我能把图表流到网站上,那就更好了。
问题是,我不知道如何访问Amibroker的API。(他们有吗?在他们的功能页面中提到了它,但还没有看到任何关于它的文档)。
然后,我不确定如何将其连接到我的web服务器。
发布于 2016-07-03 10:16:44
第0步:首先获取AmiBroker领域知识
这是一个观点,你可以自己做,投入你自己的时间,汗水和泪水,或者你可以立即通过雇佣领域专家来外包核心知识。

如果您选择前者,请从文档开始。软件架构及其相关工具都在那里得到了很好的描述。

第1步:定义您的目标
同样,不能跳过这一步。正如您所期望的,您可以勾勒、润色和维护自己的项目定义,或者可以为这种{PM|QA|CM}-expertise.组合提供外包项目管理
第2步:从(1)中定义的功能单元开始
下面是一个简单的导出器单元代码:
var oAB = new ActiveXObject( "Broker.Application" );
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
Ticker = oAB.ActiveDocument.Name;
file = fso.OpenTextFile( Ticker + ".csv", 2, true );
var oStocks = oAB.Stocks;
oStock = oStocks( Ticker );
var Qty = oStock.Quotations.Count;
for( i = 0; i < Qty; i++ )
{
oQuote = oStock.Quotations( i );
var oDate = new Date( oQuote.Date );
file.WriteLine( oStock.Ticker + "," +
oDate.getFullYear() + "-" +
oDate.getMonth()+1 + "-" +
oDate.getDate() + "," +
oQuote.Close + "," +
oQuote.Open + "," +
oQuote.High + "," +
oQuote.Low + "," +
oQuote.Volume
);
}
file.Close();
oAB.Quit();第三步:一直走,直到你完成并整合设定的目标
一旦你们都知道了什么和诀窍,事情就这么简单了。
发布于 2018-01-22 15:49:03
在AFL中,每当代码触发信号时,都可以创建文本文件。例如:
for(i = 0; i < BarCount; i++)
{
if(Buy[i])
{
//create text file code here using fputs
}
}关于API,Amibroker提供了两种访问API的方法。第一个是上面提到的COM对象。您可以直接在AFL中访问它,但不推荐使用- AmiBroker COM documentation。直接使用COM,我不明白如何导出生成的信号,似乎没有一个函数可以从AFL中获取信号。
第二个是ADK。您可以编写一个C++插件(它将位于Amibroker插件文件夹中,从那里您可以从您的C++代码中调用Amibroker方法)。这种解决方案的优点是您可以用C++编写您的AFL代码,并从那里发送交易。我以前用过ADK,它不是很难,但最后,我决定走另一条路。
另一种选择是通过将信息传递到动态链接库,从支持COM对象的语言的外部代码中访问COM对象,这与ADK解决方案相同,除非您不热衷于C++,您可以使用您选择的任何支持COM的语言。我使用此选项。在我的AFL代码中,我有类似下面的代码,我将调用一个C# dll并将相关的arugment传递给它。在我的C#代码中,我使用REST将交易发送到MetaTrader。
for(i = 0; i < BarCount; i++)
{
if(Buy[i])
{
SendTrade(args);
}
}关于如何做到这一点,我之前已经给出了一个答案。
https://stackoverflow.com/a/37097609
您可以使用其他解决方案,这些解决方案的工作方式与我给出的第三个解决方案基本相同。我知道人们已经用不同的语言创建了类似的解决方案,比如Java,Python,Ruby等等。对于C#,你可以看看DotNet for Amibroker。他已经把ADK移植到C#了。这是有偿的。另一个是AmiBroker .NET SDK。他在AB -将ADK移植到C#上做了与DotNet相同的事情,但他的解决方案似乎更适合数据插件。我永远不能让它为我工作。
https://stackoverflow.com/questions/38157422
复制相似问题