以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- [求助]请教如何编写 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=30417) |
-- 作者:saintlucifer -- 发布时间:2012/11/6 9:46:21 -- [求助]请教如何编写 这是RSI的写法:
INPUT : N1(4,1,20),X(35,0,40),Y(73,60,100); LC := REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100,COLORYELLOW;
因为close在当根k线未走完(例如15分钟k线的时候,在当前15分钟周期内都是变动的),如果我想记录RSI在当根k线里面,出现的高值与低值,应该如何编写,就是如何在上面RSI函数里面,把close置换成high或者low? |
-- 作者:jinzhe -- 发布时间:2012/11/6 9:51:02 -- 编译任何程序直接报错“C++ runtime error” 如果需要记录15分钟之内的RSI变化值,这个得要VBA了吧 |
-- 作者:every -- 发布时间:2012/11/6 9:52:19 -- INPUT : N1(4,1,20),X(35,0,40),Y(73,60,100); LC := REF(high,1); RSI1:SMA(MAX(high-LC,0),N1,1)/SMA(ABS(high-LC),N1,1)*100,COLORYELLOW; |
-- 作者:saintlucifer -- 发布时间:2012/11/6 9:59:38 -- 3楼的方法是不行的,因为在sma函数里面直接改成high,会导致rsi数值错误的,我试过了 |
-- 作者:saintlucifer -- 发布时间:2012/11/6 10:02:07 -- 以下是引用jinzhe在2012-11-6 9:51:02的发言:
如果需要记录15分钟之内的RSI变化值,这个得要VBA了吧
我就是不想用vba,能否把sma函数改变一下,例如现在是4天周期的rsi,就先引用前三天周期的rsi,然后结合当天high或者low,来算出当天rsi的高低点呢? |
-- 作者:jinzhe -- 发布时间:2012/11/6 10:16:34 -- 两个概念了,你需要的是RSI的高低点,而不是RSI.HIGH |
-- 作者:saintlucifer -- 发布时间:2012/11/6 10:34:17 -- 已自行解决,只要分解sma函数就行了,谢谢大家~ |
-- 作者:jinzhe -- 发布时间:2012/11/6 10:43:02 -- 把解决的代码发上来看看哈 |
-- 作者:saintlucifer -- 发布时间:2012/11/6 11:07:51 -- INPUT : N1(4,1,20),X(35,0,40),Y(73,60,100); LC := REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100,COLORYELLOW;
RSI_H_01 := ((MAX(HIGH - LC,0) + (N1 - 1) * REF(SMA(MAX(CLOSE - LC,0),N1,1),1))) / N1; RSI_HIGH : RSI_H_01 / RSI_H_02 * 100,COLORRED; |