以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  询问VBS应用入门Demo  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=22)

--  作者:Marcus
--  发布时间:2009/8/30 14:24:35
--  询问VBS应用入门Demo
 我以前一直没接触过VBS,对于金字塔平台上如何用VBS更是一头雾水,想找一个简单的类似“hello world”的Demo模仿。

再具体一点就是:
1. 交易期间实施获取股票数据,每隔5分钟读取600000的OHLCV;
2. 当600000涨幅达到5%时下达买入指令,(通过“BUY 600000 100 19.00\\n”的字符串实现);
3. 将这个字符串写入剪贴板;
4. 第三方控件每格隔2秒扫描剪贴板,发现有更新就执行下单指令;

请问#1,#2,#3三步如何实现?

顺便问一个更简单的实现方案,如何将预警信号写入剪贴板?
[此贴子已经被作者于2009-8-30 14:36:08编辑过]

--  作者:admin
--  发布时间:2009/8/31 18:56:38
--  

我们先一步步的教您金字塔VBS的开发工作。

首先你先看一下 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=23 帖子,对VBS开发有些基础的认识,顺便能够解决你的3#帖子的问题。

然后你需要了解VB中事件概念,即金字塔会在一些特定时候触发一些事件。

你可以在Global模块中相应 APPLICATION_VBAStart 事件,这个事件会在金字塔的VBS系统启动时发生,添加的函数会在事件中被调用。

 


此主题相关图片如下:qq截图未命名.gif
按此在新窗口浏览图片


Sub APPLICATION_VBAStart()
 \'设置一个定时器,每隔5分钟触发一次
 call Application.SetTimer(1,5*60*1000)
End Sub

随后你需要相应 Timer 来处理设定的触发

 

\'相应的定时器事件
Sub APPLICATION_Timer(ID)
 \'取600000的最新动态行情数据
 set Report1 = marketdata.GetReportData("600000","SH")
    msgbox Report1.NewPrice \'显示最新价
 msgbox Report1.Open \'显示开盘价
 
 \'计算涨跌幅
 ZF = (Report1.NewPrice - Report1.Lastclose) / Report1.Lastclose * 100;
 If Zf >= 5 then
  \'将字符串写入粘贴版
  \'代码请参考前面帖子
 End if
End Sub

[此贴子已经被作者于2009-8-31 19:22:44编辑过]

--  作者:Marcus
--  发布时间:2009/9/7 18:51:07
--  
这条路已经走通,非常感谢各位的指点!

顺便问个问题,VBS跑脚本速度能有多快?跟C++代码相比大约慢多少?
我对这个还是有点顾虑的,比如说对同时监控几百个对象能否达到实时效果尚存疑问。
--  作者:admin
--  发布时间:2009/9/7 19:39:22
--  

VBS效率肯定与C++没法比的,一个是解析型一个是编译型的。

但是监控几百个是没问题的,这也取决于你的程序复杂程度和计算机的配置