| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5311 人关注过本帖, 1 人收藏
标题:有对股票指标的编程感兴趣的吗?大家探讨下
取消只看楼主 加入收藏
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 15楼 sdta
function argument value,type,or count is invalid  返回错误
2012-03-15 22:52
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 16楼 reedwu
h=VAL('min(&CSTR)')
?h
返回的是0.00
2012-03-15 23:01
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 17楼 sdta
谢了
2012-03-15 23:02
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 20楼 sdta
正解,谢了,现在我就可以继续了,编个sma的函数,还请各位大侠援手
2012-03-16 08:26
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
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 25楼 sdta
sma和ema.rar (4.53 KB)
供参考
2012-03-16 09:49
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 25楼 sdta
你的程序里有问题,d取的值是shhigh内9天的最大值
2012-03-16 10:06
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
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
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 trix WITH rsv  
SKIP
n=n+1
ENDDO

成功计算出rsv,谢谢,现在编 K=SMA(RSV,3,1);
2012-03-16 10:53
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 31楼 sdta
哈哈,没注意到你又改进了程序,我的笨程序见笑了
2012-03-16 10:58
快速回复:有对股票指标的编程感兴趣的吗?大家探讨下
数据加载中...
 
   



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

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