欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师给一个从MYSQL读取数据到技术指标的范例

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有11227人关注过本帖树形打印复制链接

主题:请老师给一个从MYSQL读取数据到技术指标的范例

帅哥哟,离线,有人找我吗?
lilieddove
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
请老师给一个从MYSQL读取数据到技术指标的范例  发帖心情 Post By:2011/5/5 14:31:23    Post IP:116.236.237.185[显示全部帖子]

 

http://www.weistock.com/BBS/dispbbs.asp?BoardID=5&ID=401&replyID=&skin=1

利用数据库扩充金字塔的数据存放及分析能力

 

版主在上帖中给了一个从ACCESS数据库中读取数据,并导入到技术指标的例子。

 

//连接d:\test.mdb数据库
DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb');

 

但我用的是MYSQL数据库,不知道如何建立连接。

 

假设在MYSQL数据库中表的字段名和ACCESS中的表字段名一致。版主能否给个例子,说明如何和MYSQL建立连接。

[此贴子已经被作者于2011-5-5 14:31:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/5/5 14:42:06    Post IP:116.236.237.185[显示全部帖子]

刚在网上搜了一下DATABASE连接数据库的函数。根据下面的方法应该能搞定。

不通过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是数据库的名称。

 

连接MYSQL数据库
DATABASE('driver={MySQL ODBC 5.1 Driver};Server=localhost;DATABASE=test;UID=root;PWD=123')

 


 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/5/5 14:51:07    Post IP:116.236.237.185[显示全部帖子]

按上述方法试了下,报错了,提示“找不到可安装的isam 数据库


 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/5/6 9:43:17    Post IP:116.236.237.185[显示全部帖子]


我按照下面的方法,找到了连接MYSQL的ADO字符串,并显示连接成功。
具体的ADO字符串为:Driver=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;UID=root;PWD=123;DATABASE=mytest;PORT=3306

其中数据库mytest下的表的设置和论坛给的ACCESS数据库中的表设置一样,如表名为SH600000或ZJIF00,字段名为stockdate和stockclose。


http://blog.csdn.net/zyq5945/archive/2010/04/14/5486393.aspx
自己如何正确获取MYSQL的ADO连接字符串

 

但我在技术指标中,使用下列代码时,没有报错。但却读不出数据库中的数据,显示cc:0。
DATABASE('Driver=MySQL ODBC 5.1 Driver;SERVER=127.0.0.1;UID=root;PWD=123;DATABASE=mytest;PORT=3306;');
DBTABLE('Select * From @Code@ Order By StockDate');
cc:DBVALUE('STOCKCLOSE');

请版主帮忙看一下。

 

另外,我发现你们提供的DSN连接数据库的方式也有些问题。
比如我做如下设置,在控制面板/管理工具/数据源ODBC/系统DSN/添加/Miscrosoft Access Driver (*.mdb)/完成,接着数据源名输入:testaccess,数据库/

选择 d:\test.mdb 确定后,在“系统数据源”下会出现testaccess数据源名称。这里的test.mdb就是论坛上给出的那个SH600000的ACCESS数据库。

 

以下为技术指标公式源码。
DATABASE('Data Source=testaccess;');
DBTABLE('Select * From @Code@ Order By StockDate');
cc:DBVALUE('STOCKCLOSE');

 

运行后报错:找不到'D:\Weisoft Stock\testaccess'
请版主一并看看原因,也希望金字塔与数据库交互的功能能够逐渐完善。


 回到顶部
帅哥哟,离线,有人找我吗?
lilieddove
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:58 积分:423 威望:0 精华:0 注册:2011/3/1 11:18:30
  发帖心情 Post By:2011/5/6 15:15:20    Post IP:116.236.237.185[显示全部帖子]

 

从金字塔读MYSQL数据已搞定,上述代码没有问题,关键是在数据中的字段stockclose属性要设成浮点double类型。


 回到顶部