| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5311 人关注过本帖, 1 人收藏
标题:有对股票指标的编程感兴趣的吗?大家探讨下
只看楼主 加入收藏
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 20楼 sdta
正解,谢了,现在我就可以继续了,编个sma的函数,还请各位大侠援手
2012-03-16 08:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
用WORD写出公式及详细说明,上传

[ 本帖最后由 sdta 于 2012-3-16 08:40 编辑 ]

坚守VFP最后的阵地
2012-03-16 08:37
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 22楼 sdta
CLOSE TABLES
USE 1a0001.DBF ALIAS A
BLANK ALL FIELDS K
FOR I=1 TO RECCOUNT()-8
SELECT SHLOW FROM 1A0001 WHERE BETWEEN(RECNO(),I,I+8) INTO ARRAY AA
=ACOPY(AA,BB)
=ASORT(BB) && BB(1)为最小值,BB(9)为最大值
SELECT A
REPLACE K WITH BB(1) FOR RECNO()=I+8

SELECT SHhigh FROM 1A0001 WHERE BETWEEN(RECNO(),I,I+8) INTO ARRAY AA
=ACOPY(AA,BB)
=ASORT(BB) && BB(1)为最小值,BB(9)为最大值
SELECT A
REPLACE d WITH BB(9) FOR RECNO()=I+8
ENDFOR
n=9
GO n
DO WHILE !EOF()
rsv=(shclose-k)/(d-k)*100
REPLACE ALL trix WITH rsv  &&怎么都是100还报错
SKIP
n=n+1
ENDDO
 CLOSE ALL
2012-03-16 09:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 23楼 reedwu
rsv=(shclose-k)/(d-k)*100
100是在分子上,还是在分母中

坚守VFP最后的阵地
2012-03-16 09:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 23楼 reedwu
程序代码:
CLOSE TABLES
USE 1a0001.DBF ALIAS A
BLANK ALL FIELDS K,D
FOR I=1 TO RECCOUNT()-8
    SELECT SHLOW FROM 1A0001 WHERE BETWEEN(RECNO(),I,I+8) INTO ARRAY AA
    =ACOPY(AA,BB)
    =ASORT(BB),BB(1),BB(9) && BB(1)为最小值,BB(3)为最大值
    SELECT A
    REPLACE K WITH BB(1),D WITH BB(9),TRIX WITH (ABS(shclose-k)/ABS(d-k))*100 FOR RECNO()=I+8
ENDFOR
每次运算时间在12秒多点,只有全部做完再改进了。

[ 本帖最后由 sdta 于 2012-3-16 09:43 编辑 ]

坚守VFP最后的阵地
2012-03-16 09:24
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 25楼 sdta
sma和ema.rar (4.53 KB)
供参考
2012-03-16 09:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 26楼 reedwu
最好能用WORD公式编辑器写公式。

坚守VFP最后的阵地
2012-03-16 09:52
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 25楼 sdta
你的程序里有问题,d取的值是shhigh内9天的最大值
2012-03-16 10:06
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 28楼 reedwu
不会的,检查一下你的代码,我的程序里始终没出现过SHHIGH,那里来的SHHIGH。

这是你写的代码:
SELECT SHhigh FROM 1A0001 WHERE BETWEEN(RECNO(),I,I+8) INTO ARRAY AA
如果看不懂代码,不要自做主张,随意添加代码。

[ 本帖最后由 sdta 于 2012-3-16 10:18 编辑 ]

坚守VFP最后的阵地
2012-03-16 10:13
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 29楼 sdta
你取值都从shlow中取了,shlow取最低值,shhigh中取最大值,我表达的不清楚,应该从2个字段中分别取出9天中shhigh的最大值和9天中shlow中的最低值,所以我分开了,写k和d
2012-03-16 10:18
快速回复:有对股票指标的编程感兴趣的吗?大家探讨下
数据加载中...
 
   



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

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