以下所有问题都基本是针对帮助文件而问的(除了dictionary、collection和windows. 引用系统基本函数外)——本人非计算机学习专业人士,所以会出现一些低级问题,还请多多包涵。
Application对象
SetTimer 1、准确度如何,一小时内的误差秒数是多少?函数使用方法是什么?(Id,time,method)格式么?如果计时器发生时间间隔少于其他语句的运算时间,计时器中的指令是否会被激活,是否会被当前其他运算运算阻塞?如果多个计时器,是否会实现多线程?(考虑系统默认状态)
KillTimer 函数使用方法是什么?(帮助文档那里的介绍也太简单了吧,这些东西弄个实例会死么)
Guotx2010答:
'SetTimer和KillTimer实例:
Sub Application_VBAStart() 'VBA启动时会自动执行执行
CreateTimer '调用计时器创建过程
End Sub
Sub CreateTimer() '创建2个计时器
Call Application.SetTimer(5,2*1000) '5是这个计时器的标识,如果需要多个计时器,可以增加语句,用不同的编号就行,1000微妙=1秒,2*1000,就是2秒,每两秒执行一次
Call Application.SetTimer(6,30*1000) '6号计时器30秒执行一次
End Sub
Sub Application_timer(ID) '看到了这个ID吗?就是SetTimer函数中指定的那个参数
Application.msgOut "计时器事件重复发生,在这里写代码"
If ID=5 then
Application.msgOut "5号计时器该执行的代码写到这里"
End
If ID=6 then
Application.msgOut "6号计时器该执行的代码写到这里"
End
End Sub
Sub EndTimer() '停止计时器
Application.KillTimer(5)
Application.KillTimer(6)
End Sub
HistoryData对象
当选择了数据类型(tick,时分,5分钟),决定一条historydata的数据个数量的因素是什(假设该下载的都下载了)”?(Grid和Marketdata对此的引用,会导致显示数量不一样么;一般使用这些软件可以通过放大缩小而增加观察的数据个数的量)(如果是分笔数据的量,是否只是限制于1天)
Grid对象(实例讲解在12楼,guotx2010回答)
框架名称是否就只有“technic”,并且要激活才能执行其他指令?
示例中Grid的名称“main”是否指定,能否改写(如果有几个Grid)(或者如何用程序激活想要的Grid)
MarketData对象
这里说的MarketData与Market对象有什么关系,MarketData一些属性方法是对Market对象的?(这里很混乱)(MarketData是行情信息,如:某品种的最新价等,而Market是市场信息,比如:上海期货交易所的相关信息)
Addstock 这个和block中的addstock有什么区别?添加到系统中,能实现遍历?遍历取的集合究竟是MarketData还是Market对象,还是其他?(考虑系统最佳效用,能否设置只接收addstock了的品种数据)
Stkindi 使用的详细方法(这些也是一个实例都没有,里面要设什么参数都没有提示,你们真的要好好修改一下帮助文件了)
Stockalarm 能否给设置?如何设置(只要在某条件语句直接放入 stockalarm即可么?)
alarmstart 也是如何设置的问题,同上
Block对象(实例讲解在13楼,guotx2010回答)
Addstock 同样,addstock后是否可以遍历,遍历的对象集合是什么?(可以遍历,遍历的对象集合股票或期货品种)
Tosave 不知道创建后如何制定save的name(类似saveas的功能) (自己指定一个就行了,如:block.tosave "自选", "自选股")
Createtype 与 Createblock有什么区别?可以对不同type另外进行遍历?遍历的集合对象是什么?(CreateType是建立行业,CreateBlock是行业中的版块)
block对象是否可以与HistoryData或minuteData,reportdata配合使用?(可以结合使用,例子中就有)
Array对象
这个array对象和一般的array是否有区别?(都是建立数组的,没有区别)
是否只能放入数据,而不能放入对象;相应是否还能在编程中使用dictionary和collection?
Market对象
Tradeseconds和openseconds的区别(如何使用),其中示例中openseconds(time),time是固定输入还是随意输入,作用是什么
Timesecstart 的使用方法(这个也是帮助文档多余简单)
Minutedata对象
Date 返回的时间,是否精确到秒的时间?(并不是返回时间,而是分时成交记录,每一笔的成交记录)
Reportdata对象
在模拟仿真中(历史回测),reportdata对象可照常“虚拟”实现么,特别对象自带统计的实现情况
date 是返回最新接收到的数据的精确时间么(hh-mm-ss)
vqt 是否就是在模拟仿真中代替现实委买卖量的?
poweru和powerd是以什么为标准的(其参照系是什么)
望能尽快解答(这个星期内吧,至少)
楼主的问题,一个一个回答
1.Application对象
SetTimer(ID, Elapse):精度是毫秒级,以ID为标识;不会;不同定时器之间的触发是串行的.
KillTimer(ID);以ID为标识用以销毁的定时器
不知此帖对楼主学习定时器是否有帮助
http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=22&replyID=59&skin=1
2.HistoryData对象
决定一条historydata的数据个数量的因素是什么---图表上显示的数据数量.
分笔数据的量,是否只是限制于1天.---也是由图表上显示的分笔数据数量决定的.
这里timer原来是切割了,要另外编一个timer的发生指令(用惯了其他都是一连串的)
但不知道timer会不会发生阻塞,阻塞是会不会启动多线程(默认启动那就有启动的编写思路)
网上看有些人说vb语言的timer,会在到点激活时,如果有其他同程序的指令在运算,那timer会有可能不出现,不知道会不会这样
2.HistoryData对象
决定一条historydata的数据个数量的因素是什么---图表上显示的数据数量.
分笔数据的量,是否只是限制于1天.---也是由图表上显示的分笔数据数量决定的.
你这个是说在Grid引用historydata等数据吧
但如果我是用marketdata引用historydata呢?marketdata是属于后台运算吧,Grid是前台可视化的吧。
如果marketdata也是图表显示,那怎么控制图表显示的量?
3.Grid对象
框架名称是否就只有“technic”---不是,
technic是系统默认的技术分析K线界面的框架名称.
当然也可以取其他框架上面的Grid,比如框架分时走势Dynamic上的MAIN
是许要激活才能执行其他指令
示例中Grid的名称“main”是否指定,-----这是由您框架中的窗格属性里的名称决定的.
Market对象
Tradeseconds和openseconds的区别(如何使用),其中示例中openseconds(time),time是固定输入还是随意输入,作用是什么
Timesecstart 的使用方法(这个也是帮助文档多余简单)
这个问题的回答
set mar=marketdata.GetMarketInfo("cu09","sq")
application.MsgOut mar.TradeSeconds&" "&mar.OpenSeconds(#11:00:00#)
这样就可以到达数据
mar.TradeSeconds 是 从开盘到现在的秒数,
mar.OpenSeconds(#11:00:00#) 是 从开盘到指定时间的秒数,
Timesecstart(参数) 这个是获取参数指定时间段的开盘时间,不同开盘时间不一样。参数从0开始,不同市场不同的时间段。
mar.TimeSectCount 获取时间段数据。
Minutedata对象
Date 返回的时间,是否精确到秒的时间?
回答
返回可以精确到秒。返回数据是这样的 2011-8-17 9:00:06 这是指定序号为0的数据。
建议你可以自己试试 就不用问了。