| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5302 人关注过本帖, 1 人收藏
标题:有对股票指标的编程感兴趣的吗?大家探讨下
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
以下是引用reedwu在2012-3-17 12:42:21的发言:

因为前几天收盘就是最高价,所以数值都是100,不然的话,前30多条的记录都是错的,呵呵,不过也没关系,肯定不会用到那么前的数据
关键是最后的数据结果是否正确。

坚守VFP最后的阵地
2012-03-17 12:46
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 70楼 sdta
正确,程序更精简了,帮我看看66楼的程序,我把每次k>d的值取出后放进了kd表,把每次k<d的值取出后放进了dk表,然后合并2表,但dk表的第一条记录shno是17比kd表第一条记录35早,所以要过滤掉,然后就是在kd表中增加字段把dk的数据写在kd的后面,

[ 本帖最后由 reedwu 于 2012-3-17 13:20 编辑 ]
2012-03-17 13:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
以下是引用reedwu在2012-3-17 13:11:10的发言:

正确,程序更精简了,帮我看看66楼的程序,我把每次k>d的值取出后放进了kd表,把每次k
KD、DK两表有关联字段(SHNO),但没有相同的SHNO号,不能关联,只能追加记录。

坚守VFP最后的阵地
2012-03-17 14:39
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
回复 66楼 reedwu
程序代码:
*----KD表
SELECT *,CAST("" AS Numeric(4)) AS TRME FROM 1A0001 WHERE trma>trmd INTO TABLE KD
B=SHNO
SCAN FOR RECNO()>1 AND !EOF()
     A=SHNO
     REPLACE TRME WITH A-B
     B=SHNO
ENDSCAN
DELETE FOR TRME=1
PACK
BROWSE
*----DK表
SELECT *,CAST("" AS Numeric(4)) AS TRME FROM 1A0001 WHERE trma<trmd  INTO TABLE DK
B=SHNO
SCAN FOR RECNO()>1 AND !EOF()
     A=SHNO
     REPLACE TRME WITH A-B
     B=SHNO
ENDSCAN
DELETE FOR TRME=1
PACK
BROWSE

坚守VFP最后的阵地
2012-03-17 14:41
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 73楼 sdta
不一定要追加记录的,2表也是中间过程,出来的记录应该是对应的,有k>d,就有k<d,但开始时可能会少条k>d的记录,表尾会少k<d的记录,如我kd表中第1条k>d的记录对应的shno是35,dk表中的第1条记录是17,第2条记录是47,所以要把dk中第2条对应到kd表的第1条中,表示kd金叉后持续12天才死叉,我是要合并2张表后看看数据再计算收益,但程序应该可以直接计算出shclose(47)-shclose(35),判断依据可能是上一记录是trma>trmd,但下1条记录是trma<=trmd了,不过还是能生成一张表好点能看到所有的信息,效果如下:
shno,shtime,  shclose,  shno,shtime,shclose,  profit   前三条是我kd表的值,后三条是dk表的值,增加profit,可能字段名要重设下
                         17 19919111 134.60              这条就不要了
35   19910206   129.13   47 19910226 133.93 133.93-129.13
70 ...                   78...
5200  20120313                                           这后面没数据了所以只有金叉,可以留                                   

[ 本帖最后由 reedwu 于 2012-3-17 15:19 编辑 ]
2012-03-17 14:58
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
回复 75楼 reedwu
在原始表中增加两个字段(TRMEKD、TRMEDK,均为数值型),然后用UPDATE命令分别把KD、DK两表中的数据与原始表中的数据按SHNO关联,加到原始数据表中。

[ 本帖最后由 sdta 于 2012-3-17 21:50 编辑 ]

坚守VFP最后的阵地
2012-03-17 15:00
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 76楼 sdta
这个数据就不用写回原表了,直接生成新表,只要每次k>d开始时的shno,shtime,shclose和结束时k<d的shno,shtime,shclose就行了,加个profit字段计算出每次的交易收益,哈哈,刚刚算了下kd金叉时买入,死叉时卖出,从91-2-6的129买入算,到12-2-27卖出2447,知道收益是多少?1998点,不错,还算好的,比只买不动收益只差了319点。如果从2000-1-24的1477金叉买入,按kdj提示的信号到12-2-27卖出点2447算,亏损416点,还不算上证涨970点,冤死了,呵呵,这个是用excel做的,我还没将kd和dk合并的程序搞定,excel只要把dk表贴过去就好了,所以先看看

[ 本帖最后由 reedwu 于 2012-3-17 17:00 编辑 ]
2012-03-17 16:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
回复 77楼 reedwu
下边的代码没有难度了,自己写吧

坚守VFP最后的阵地
2012-03-17 16:48
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 78楼 sdta
你是高手,当然不难了,我太差,用的都是笨办法,呵呵,写出的程序估计没人能看懂,万分感谢你的帮助,谢了.
我新建了个表kdj,设shno,shtime,shclose,shno1,shtime1,shclose1然后用下面的程序只能将dk的数据放进kdj表,但kdj.shno,kdj.shtime,kdj.shclose所有的都只用了kd的第1条,
而且我想将dk表的shno=17的记录过滤掉也不行,大家帮我纠正下程序,谢谢
看楼下的程序吧,我的太乱,已删

[ 本帖最后由 reedwu 于 2012-3-17 23:58 编辑 ]
2012-03-17 17:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
回复 79楼 reedwu
程序代码:
*----生成新的数据表
SELECT *,CAST("" AS Numeric(4)) AS TRMEKD,CAST("" AS Numeric(4)) AS TRMEDK FROM 1A0001 INTO TABLE KDDK
UPDATE KDDK SET TRMEKD=KD.TRME FROM KD WHERE KDDK.SHNO==KD.SHNO
UPDATE KDDK SET TRMEDK=DK.TRME FROM DK WHERE KDDK.SHNO==DK.SHNO
DELETE FOR (TRMEKD=0 AND TRMEDK=0)
PACK
BROWSE
CLOSE TABLES
ERASE KD.DBF
ERASE DK.DBF
ERASE KDDK.DBF

坚守VFP最后的阵地
2012-03-17 23:32
快速回复:有对股票指标的编程感兴趣的吗?大家探讨下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014184 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved