以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 请教:我想把数据库中的信号通过公式展示出来该怎么做? (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=47473) |
-- 作者:wknjt -- 发布时间:2013/1/5 11:16:48 -- 请教:我想把数据库中的信号通过公式展示出来该怎么做? 各位高手,我现在有一个思路想实现,但不知道怎么入手。 我有一个数据库,库中存储了一段时间的信号信息,包括StockDate, KD, PD, KK, PK,分别代表日期,开多,平多,开空,平空。 我现在希望通过一个公式把这些信号在K线上展示出来,不知道应该如何做。 还有一个问题,就是这样做了之后,我是不是可以通过测试平台来测试信号的效果? 请高手赐教,万分感谢。 |
-- 作者:wknjt -- 发布时间:2013/1/5 12:51:27 -- 我现在这么写,但是信号就是出不来。 我用的是逐K线模式。 DATABASE(\'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\tmpsql.mdb\'); msgout(1,DATE[BARPOS]); DBTABLE(\'Select * From signal order by StockDate\'); //DBREADTYPE(1); KD:DBVALUE(\'KD\'); PD:DBVALUE(\'PD\'); KK:DBVALUE(\'KK\'); PK:DBVALUE(\'PK\'); {开多}ENTERLONG:KD; {平多}EXITLONG:PD; {开空}ENTERSHORT:KK; {平空}EXITSHORT:PK; 求指教,谢谢。 |
-- 作者:王锋 -- 发布时间:2013/1/5 14:21:30 -- 使用调试手段,看看DATE与数据库的stockdate字段是否能对应上 |
-- 作者:rushtaotao -- 发布时间:2013/1/5 15:48:32 -- 先调试下 相应数据读到没有! |
-- 作者:wknjt -- 发布时间:2013/1/5 16:22:27 -- 我用过调试手段了,确实日期不对。但其实我的代码应该是 DATABASE(\'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\tmpsql.mdb\'); DBTABLE(\'Select * From signal order by StockDate\'); KD:DBVALUE(\'KD\'); PD:DBVALUE(\'PD\'); KK:DBVALUE(\'KK\'); PK:DBVALUE(\'PK\'); {开多}ENTERLONG:KD; {平多}EXITLONG:PD; {开空}ENTERSHORT:KK; {平空}EXITSHORT:PK; 日期那个我本来打算打印调试的。我觉得这个跟以前论坛提供那个范例差别不大啊?为什么就不对?这个不会有大小写区别吧?Sql语句我放到Access去跑没有问题的。还望进一步指点迷津,谢谢。 |
-- 作者:wknjt -- 发布时间:2013/1/5 16:53:22 -- 好像确实读不到。但是感觉整个逻辑很简单啊?怎么就读不到呢?这个里面有没有大小写的问题啥的? |
-- 作者:王锋 -- 发布时间:2013/1/5 17:45:48 -- 参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=401 范例中的数据库格式。
你的情况建议仔细检查数据库的表名字,数据表中的字段属性是否正确 |
-- 作者:wknjt -- 发布时间:2013/1/6 0:22:44 -- 找到原因了,犯了一个很低级的错误,写出来供大家共享,以免其他人也犯我一样的错误。 数据取不到的原因完全是我在ACCESS中设定字段的类型是长整型,而应该是浮点类型就能正常输出了。 只能说我前面看论坛上的经验分享不仔细,折腾了一天才搞清楚。还需要继续学习啊。 谢谢rushtaotao和王锋的帮助。 |