以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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和王锋的帮助。