在使用本范例插件时,请务必阅读
利用金字塔的VBA与C++的混合编程来实现复杂的二次开发及交易功能
http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11505
这篇文章, 本文的范例就是基于这里的范例做的增加改动
C++部分
这里主要增加一个接口函数,用来接收金字塔的程序化下单指令
void VBSAddin::SendOrder(short Order, short OrderType, short Action, long Volume, float Price, LPCTSTR Code, LPCTSTR Market)
{
CString strMsg;
strMsg.Format("ActiveX接收到下单信息 价格 : %f, 数量 %d Code: %s", Price,Volume,Code);
AfxMessageBox(strMsg);
}
VBA部分
这里响应AlarmPleaceOrder 事件
Dim MyAddin '创建一个变量
Set MyAddin = CreateObject("MyActiveXDemo.VBSAddin")
Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)
call MyAddin.SendOrder(Order,OrderType,Action,Volume,Price,Code,Market)
End Sub
上述代码拷贝到金字塔VBA开发界面下的Global模块下,重新启动VBA就可以了.
剩下的事情就是我们启动图表程序化交易,然后开启交易即可.如果你自身计算机不需要交易则无需登录交易账户,不影响使用.
C++ ActiveX 范例代码见附件
下载信息 [文件大小: 下载次数: ] | |
![]() |