金字塔VBA数据库控件实例 共大家参考 [金字塔]
- 咨询内容:
按照自己的交易思想来开发相应的程序最大的一个宗旨就是简单化,系统不能搞得太复杂,免得某个环节出现问题导致错过交易机会。
作为一个测试,将自己预定义好的预埋单保存到一个标准的文本文件里面(这个预埋单的期限不仅仅是今天,也可能到未来的三个月或者一个月)。事实上,我们使用数据库来保存这些记录,但是一个数据库文件过于庞大,而且还有安装引擎等东西,麻烦,如果异地在异机上操作(本人还有工作),还要再次安装这些数据库(可能除了ACESS之外等小型文件之外)。最好的方法就是使用文本文件,也好编辑。文本编辑器很多。编辑的格式也简单。
下面几个例子:
假设 我的预埋单的记录保存在标准化的文件内 test.csv (逗号或者TAB或者自定义的符号作为隔离符)。
假设所在文件夹子 d:\jameszyj 下 完整的路径为 d:\jameszyj\test.csv
1、建立文件型或者跟系统性的的ODBC (控制面板 管理工具 下 的ODBC管理器)
dsn= jameszyj
很简单就可以设置了,只要设定好目录就可以了, 即 d:\jameszyj
那么该文件子底下每个文本文件就是一个表。
该文件夹下还有 一个文件 schema.ini 这里面保存本目录下每个文本文件的信息。
其中有个 key :ColNameHeader=false 默认值是false ,可以改成true 相当于表结构的名字
2、完成之后在金字塔做以下工作
新建一个FORM对象,然后在vba控件栏(工具箱)增加一个一个数据库控件 这个数据库控件在金字塔的主目录下
名字为:EDITGRIDCTRLLIB.OCX 金字塔安装之后就注册好了
在工具箱右键点击"添加控件"的时候 弹开一个窗口 在窗口的最下面 会看到"可以编辑的网格控件" 在其左边的checkbox 点击之后确定 就成功将该控件添加到面板上,就可以像使用MS FORMS 2.0 控件那样使用了。
如果找不到这个控件,可以把这个文件拷贝到c:\windows\system32下
然后使用以下命令就可以注册了:
regsvr32 editgridctrllib.ocx
3、实现部分
将该网格控件拖到 FORM上 右键点击 然后在窗口内 将名字命为 fg
Sub test_Load()
set lnv_sqlca = createobject("adodb.connection")
lnv_sqlca.c
lnv_sqlca.open
if lnv_sqlca.state <> 1 then
msgbox "不能打开交易记录",0,"Warning Tip"
exit sub
end if
set lnv_rs = createobject("adodb.recordset")
lnv_rs.open "select * from test.csv",lnv_sqlca ' 每个文本文件就是一个表
set test_fg.datasource = lnv_rs
lnv_sqlca.close
End Sub然后启动VBA 执行该窗口,窗口打开之后,该网格数据控件就显示出文本文件的内容了。
作为例子,仅供参考。
这样子信息的保存通过这个思路就可以实现了。我们完全可以借助金字塔的VBA功能可以开发出自己的交易系统,套利系统,程序交易模型,太棒了。
但有一个关键的问题是,金字塔的多线程处理可能要加强,少用循环语句,特别是循环语句内需要执行较多时间的时候,系统就会被这个循环独占,导致金字塔内的其他任务会在搁置。特别是这个任务最佳的触发条件正好处于循环之内的时候。
- 金字塔客服:
'上面的代码粘贴过来的时候有点不对
Sub test_Load()
set lnv_sqlca = createobject("adodb.connection")
lnv_sqlca.c
lnv_sqlca.open
if lnv_sqlca.state <> 1 then
msgbox "不能打开交易记录",0,"Warning Tip"
exit sub
end if
set lnv_rs = createobject("adodb.recordset")
lnv_rs.open "select * from test.txt",lnv_sqlca
set test_fg.datasource = lnv_rs
lnv_sqlca.close
End Sub - 用户回复:
不错,论坛因你而精彩
由于论坛的某些限制,部分代码无法正常贴出,参考本论坛提供上传文件的方法,写成文件,存于网络,贴链接
- 网友回复:
新版已经增加 application.PeekAndPump 方法,可以实现异步操作。
但是提醒用户,异步操作对编程能力要求很高,稍有补注意就会导致程序崩溃
- 网友回复: 期待。。。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容