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

你有权设置颜色的呀,自己喜欢哪种就换嘛。

坚守VFP最后的阵地
2012-03-16 20:34
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用reedwu在2012-3-16 20:29:02的发言:

你的trma有问题,trma(9)=(trix+2*trma(8))/3,你的程序是trix和trma一起出,是否有问题?
 REPLACE K WITH BB2,D WITH BB1,TRIX WITH (ABS(shclose-k)/ABS(d-k))*100,TRMA WITH (TRIX+2*G)/3 FOR RECNO()=I+(nday-1) &&trix是否也是前条的记录,而且计算结果也不对
     G=TRMA
代码是按照35楼你提供的代码写的。
G=TRMA 第一次应该为0
所以在程序的前面设置G=0
G=TRMA 是前条记录的TRMA的值
trix是当前条的记录
你再看下自己写的代码,前后不一样。

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

坚守VFP最后的阵地
2012-03-16 20:42
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 50楼 reedwu
我再理下思路,用nday作为变量,先计算nday里shhigh中最大的值max(程序中写入k列是失误,应多列一列),shlow中最小的值min(程序中写入d列是失误,应多列一列),,然后计算rsv=((shclose-min)/(max-min))*100(程序里写入trix列,最好改为rsv),然后用sma(nday,3,1)计算出k值(程序里是trma列,改为k列好,所以我的程序中有了repl all k with trma 这句),trma=(trix(nday)+2*trma(nday-1))/3,这就是股票软件中kdj指标的k值,然后再用sma(nday,3,1)计算d值,我的表里少了1列(所以我把前面的max,min2列的值覆盖了),应该再加1列,放d值(如新增1列为d),d=(trma(nday)+2*d(nday-1))/3,按我的程序得到的结果都是对的,我核对过,同时可以把trix,trma删掉
2012-03-16 20:46
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 53楼 reedwu
46楼代码的结果是否正确

坚守VFP最后的阵地
2012-03-16 20:52
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 52楼 sdta
你看下运行的结果,我是手工在trma的第8行加了个100,这样9~17行的结果就对了,但即使不加也不会影响18行后面的结果,你看最后2条记录,trma(5199)=18.9949,trix(5200)=82.7349,trma(5200)=(82.7349+2*18.9949)/3 结果应该是40.2415,而你的结果是27.5783,也不是取trix(5199)56.9848的结果,为什么?是不是g=0出的问题,你直接trma=trix(5200)/3

[ 本帖最后由 reedwu 于 2012-3-16 21:04 编辑 ]
2012-03-16 20:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 55楼 reedwu
代码里的公式对吗

坚守VFP最后的阵地
2012-03-16 21:02
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 56楼 sdta
公式没问题,最好把3也设为变量m,这样sma(nday,m,1)就可以表达为 trma(nday)=(trix(nday)+(m-1)*trma(nday-1))/m 了,方便以后改参数
2012-03-16 21:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用reedwu在2012-3-16 21:11:57的发言:

公式没问题,最好把3也设为变量m,这样sma(nday,m,1)就可以表达为 trma(nday)=(trix(nday)+(m-1)*trma(nday-1))/m 了,方便以后改参数
这个以后再说,先把发生错误的原因找出来。从第9条记录开始,结果是否正确。

坚守VFP最后的阵地
2012-03-16 21:20
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
回复 58楼 sdta
都不对,都是直接/3
2012-03-16 21:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
那你把计算公式重新写一遍
TRIX结果对吗
(ABS(shclose-k)/ABS(d-k))*100 &&此处100是在分子中,还是在分母中。

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

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



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

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