以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  将图表或者后台程序化交易触发信号写盘  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=13525)

--  作者:admin
--  发布时间:2012/8/7 21:56:43
--  将图表或者后台程序化交易触发信号写盘

很多人需要将模型的及时触发信号共享,其实金字塔的VBA提供了非常简单的方式来实现,当然需要至少标准版。

我们以图表程序化交易为例:

1,首先用户要将模型加载图表上,登录模拟交易帐户,然后启动图表程序化交易。为了保证触发信号的稳定性,建议使用走完K线模式运行程序化交易。

2,当图表程序化交易出现触发交易信号后,VBA会收到一个AlarmPleaceOrder 事件,通过这个事件,我们就可以利用VBA的文件支持功能来将触发信号写盘了,AlarmPleaceOrder 事件触发后,会将模型的各种参数传递过来,这里进行简单的介绍:

 

AlarmPleaceOrder 事件

当出现图表和后台本地预警信号时发生。注意,图表程式化交易事件触发仅限标准版及其以上版本才可以使用。

AlarmPleaceOrder(Name,Order, OrderType,Actionk,Volume,Price, Market, Code,Account)

Name       后台程式化交易预警名称

Order      程式化交易类别 0开多 1平多 2开空 3平空

OrderType    下单类型 0限价 1市价 2停损

Action     下单方向 0买 1卖

Volume      下单数量

Price       预警价格

Code        品种代码

Market       市场标识

Account     交易账户

AlarmPleaceOrder 事件 在 MarketData 对象中。

 

范例:

 

Sub MARKETDATA_AlarmPleaceOrder(Name, Order, OrderType, Action, Volume, Price, Code, Market, Account)
    \'触发过来的信号写盘
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\\"&Name&".txt", True)
    a.WriteLine(Order&"--"&OrderType)
    a.Close
   
    application.MsgOut Order&"--"&OrderType

End Sub


--  作者:kucey
--  发布时间:2012/8/8 9:59:14
--  
以上这个程序经过测试确实能够在信号触发的时候记录信号,但是在程序第一次启动的时候不能记录当前的仓位状态。
--  作者:guotx2010
--  发布时间:2012/8/8 9:59:48
--  
不错,收下,下次可能会用到
[此贴子已经被作者于2012-8-8 10:00:53编辑过]

--  作者:admin
--  发布时间:2012/8/8 10:08:31
--  
那你就只能在公式里自己通过自定义函数来控制了
--  作者:clivelong
--  发布时间:2014/2/6 18:34:56
--  
经典