金字塔的公式与数据库结合,扩充数据结构的最理想方案

Discussion in '金字塔决策交易系统' started by ytweiwei, Jun 16, 2009.

  1. 利用数据库扩充金字塔的数据存放及分析能力
    数据库技术以其简单的操作和优异的跨平台性能,早已经广泛应用于各行各业中。配合金字塔强大的数据库支持能力,一定会让用户如虎添翼。
    金字塔中使用数据库主要有如下两点好处:
    1、扩充数据存储能力,虽然金字塔支持自定义数据功能,但使用数据库操作和维护显然要比他方便的多。
    2、数据库技术已经是一热门成熟技术,用户可以通过自己或很多第三方软件来维护数据,实现与金字塔的数据交流。采用与数据库结合的方式,大大增强了公式系统的灵活性,用户可以将一些非常复杂的计算使用外部专用的分析软件来做,最后将分析结果放到数据库中,再由公式系统来进行绘制。
    公式系统支持如下几个数据库函数:
    • DATABASE 连接数据库.用法:DATABASE(STRING),STRING为数据库ADO连接字符串
    例如:
    (1)连接ACCESS数据库:DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb')表示连接d:\Test.MDB数据库文件.
    (2)通过DSN数据源对任何支持ODBC的数据库进行连接:DATABASE('Data Source=adotest;UID=sa;PWD=1234;')其中adotest是数据源名称,sa为登陆用户,1234为登陆密码
    (3)不通过DSN对SQL SERVER数据库进行连接: DATABASE('driver={SQL Server};Server=127.0.0.1;DATABASE=test;UID=sa;PWD=1234')其中Server是127.0.0.1服务器的名称或IP地址,test是数据库的名称
    (4)不通过DSN对Oracle数据库进行连接: DATABASE('provider=MSDAORA;Data Source=servername;User ID=sa;Password=1234;')其中servername是服务器名称或IP地址
    • DBTABLE 检索记录集,使用SQL语句检索记录集,用法:DBTABLE(SQL),SQL为检索记录集字符串.例如:DBTABLE('Select * From @Code@ Order By StockDate'),表示从品种代码表中选择全部字段数据,并按照StockDate字段类型从小到达排序.StockDate为一个日期型字段,数据库中必须要有此字段,否则系统将无法工作.@Code@在运行中会被系统替换成品种的具体品种代码,例如SH600215。
    • DBVALUE 取数据库中数值数据,用法:DBVALUE(S),S为字段名称,数据必须为浮点类型,例如:DBVALUE('STOCKCLOSE')表示取数据库中的STOCKCLOSE字段数据.
    • DBSTRING 取数据库中字符串数据,用法:DBSTRING(S),S为字段名称,数据必须为字符类型,例如:DBVALUE('STOCKNAME')表示取数据库中的STOCKNAME字符串数据.
    • DBREADTYPE 数据读取模式,用法:DBREADTYPE(N),N取0或1,默认为0,当N=0时如果DBVALUE或者DBSTRING找不到当日数据,那么取其之前数据。不然这两个函数将返回0值。

    公式示例:
    //连接d:\test.mdb数据库
    DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb');
    //检索数据库表
    DBTABLE('Select * From @Code@ Order By StockDate');
    //读取STOCKCLOSE字段数据
    cc:DBVALUE('STOCKCLOSE');

    完整公式示例及数据库请在 http://www.weistock.com/download/dbdemo.zip 下载,做为示例,数据库仅包含600000品种的日线数据
    为了方便用户操作,系统还提供GUI的数据库开发助手,使用该助手可以使用户更加快捷方便的为您的公式支持数据库。操作步骤如下:
    • 在公式编辑界面上单击“插入”菜单,然后选择“数据库支持”。
    金字塔的表(动态显示牌)技术也非常强大,同时也支持数据库功能,用户可以在表上面显示某个数据库的字段内容,使用方法也非常简单,用户可以在表高级编辑和表头定制这两个地方来实现功能.
     
  2. 好!
    有历史财务数据吗?