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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 有关ACCESS数据库操作问题

   

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


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

主题:有关ACCESS数据库操作问题

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


加好友 发短信
等级:新手上路 帖子:38 积分:82 威望:0 精华:0 注册:2011/10/13 23:29:08
有关ACCESS数据库操作问题  发帖心情 Post By:2014/5/8 15:44:53 [只看该作者]

因有些模型数据计算量大,影响交易速度,因而设想通过一台计算机计算结果存入数据库,另一台电脑读取结果进行判断下单.

以计算布林通道为例:

建立数据库CTZB公式:

 

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\asset.mdb');
DBEXECUTE('create table ctzb(stockdate date,ma4680 double,up4680 double,low4680 double)');

写库公式如下:

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\asset.mdb');
stdp30:=2*stdp(close,4680);
ma30:ma(close,4680);
up30:=ma30+stdp30;
down30:=ma30-stdp30;
T0:=NUMTOSTR(DYNAINFO(207),0);
T01:=STRCAT(NUMTOSTR(hour,0),':');
T02:=STRCAT(NUMTOSTR(minute,0),':');
T1:=STRCAT(STRCAT(T01,T02),STRRIGHT(T0,2));
D0:=NUMTOSTR(DATE,0);
D01:=STRCAT('20',STRMID(D0,2,2));
D02:=STRCAT('-',STRMID(D0,4,2));
D03:=STRCAT('-',STRMID(D0,6,2));
D1:=STRCAT(STRCAT(D01,D02),D03);
DAY11:=STRCAT(STRCAT(D1,' '),T1);
DAY01:=STRCAT(char(39),DAY11);
DAY1:=STRCAT(DAY01,char(39));
if ma30<>ref(ma30,1) or up30<>ref(up30,1) or down30<>ref(down30,1) then begin
DBEXECUTE('insert into ctzb(stockdate,ma4680,up4680,low4680) values(cdate('&day1[DATACOUNT]&'),'&numtostr(ma30[DATACOUNT],3)&','&numtostr(up30[DATACOUNT],3)&','&numtostr(down30[DATACOUNT],3)&')');
end
DRAWTEXTEX(1,1,50,0,''&day1[DATACOUNT]&'',colorred);

 

读库公式:

DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\asset.mdb');
//检索数据库表
DBTABLE('Select * From ctzb Order By StockDate');
//读取STOCKCLOSE字段数据
mid:DBVALUE('ma4680');
up:DBVALUE('up4680');
DOWNVOL:DBVALUE('low4680');

 

问题:1.写库时有很多相同的记录无法过滤.

       2.读库要约5秒钟才会刷新一次,放回同一台机子的金字塔也是这样.

看看能否解决,万分感谢!!

 


 


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


加好友 发短信
等级:新手上路 帖子:38 积分:82 威望:0 精华:0 注册:2011/10/13 23:29:08
  发帖心情 Post By:2014/5/8 15:49:52 [只看该作者]

ctzb
stockdate ma4680 up4680 low4680
2014-05-08 15:03:30 2148.328 2165.552 2131.104
2014-05-08 15:03:30 2148.328 2165.552 2131.104
2014-05-08 15:06:19 2148.252 2165.541 2130.963
2014-05-08 15:06:19 2148.252 2165.541 2130.963
2014-05-08 15:06:21 2148.248 2165.54 2130.956
2014-05-08 15:06:21 2148.248 2165.54 2130.956
2014-05-08 15:06:23 2148.248 2165.54 2130.956
2014-05-08 15:06:23 2148.248 2165.54 2130.956
2014-05-08 15:06:25 2148.248 2165.54 2130.956
2014-05-08 15:06:25 2148.248 2165.54 2130.956
2014-05-08 15:06:27 2148.248 2165.54 2130.956
2014-05-08 15:06:27 2148.248 2165.54 2130.956
2014-05-08 15:06:29 2148.248 2165.54 2130.956
2014-05-08 15:06:29 2148.248 2165.54 2130.956
2014-05-08 15:06:31 2148.243 2165.539 2130.948
2014-05-08 15:06:31 2148.243 2165.539 2130.948
2014-05-08 15:06:33 2148.243 2165.539 2130.948
2014-05-08 15:06:33 2148.243 2165.539 2130.948
2014-05-08 15:06:35 2148.243 2165.539 2130.948
2014-05-08 15:06:35 2148.243 2165.539 2130.948
2014-05-08 15:06:37 2148.243 2165.539 2130.948
2014-05-08 15:06:37 2148.243 2165.539 2130.948
2014-05-08 15:06:39 2148.244 2165.538 2130.949
2014-05-08 15:06:39 2148.244 2165.538 2130.949

很多记录相同的,但无法过滤(用时间,价格等条件作判断后再写入)


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/5/8 15:54:35 [只看该作者]

http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=64723

请看该贴的回复,范例上已经用超全局变量控制了,在逐K线模式下最后K线工作,只有出一根新K线才写库



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
2003hcz
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:17 积分:0 威望:0 精华:0 注册:2017/2/17 11:49:24
  发帖心情 Post By:2018/8/17 10:44:30 [只看该作者]

王锋老师您好,用你的公式1、公式2 确实可以记录数据,并且也能用DBVALUE函数取值。但有一个问题老是困扰到我:我用1分钟K线记录数据,结果老有重复的数据写入数据库中,造成大量重复数据堆积,占用系统资源。从“消息窗口”看,每隔一定时间(一分钟内)就会有一次“涮新”重写操作,可能是系统的某些机制吧,请问如何避免重复录入数据操作,谢谢!


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


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/8/17 13:19:11 [只看该作者]

学会用调试手段,看一下重复写库是什么控制变量出现的问题,也好有针对性的解决


 回到顶部