金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2453|回复: 14

请老师帮写个Stoch RSI指标

[复制链接]

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
发表于 2024-6-3 08:21 | 显示全部楼层 |阅读模式
请老师帮写个Stoch RSI指标:
N=14,M=3;
RSI=(当前收盘价-N日内的平均收盘价)/(N日内的收盘价上涨总和)/(N日内的收盘价下跌总和);
%K=【(当前RSI值-最低RSI值)/(最高RSI值-最低RSI值)】x100;
%D=SMA(%K,M);


回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-6-3 08:48 | 显示全部楼层
N日内的收盘价上涨总和” 和  “N日内的收盘价下跌总和” 怎么定义?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-3 08:58 | 显示全部楼层
N日内的收盘价上涨总和” 和  “N日内的收盘价下跌总和” 怎么定义?
应该是N日内收阳线的涨幅之和,N日内收阴线的跌幅之和
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-6-3 09:12 | 显示全部楼层
那涨幅和跌幅按照收盘价与昨收计算?还是什么?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-3 09:49 | 显示全部楼层
个人理解指标基本上都是以K线四个价格来计算的,那么上涨之和应该是以k1(收盘价-开盘价)+kn(收盘价-开盘价),谢谢!
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-6-3 10:03 | 显示全部楼层
a:if(c>o,c/ref(close,1)-1,0);
b:if(c<o,c/ref(close,1)-1,0);
//上涨之和
sz:count(a,20);
//下跌之和
xd:count(b,20);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-3 11:00 | 显示全部楼层
N:=14;
M:=3;

a:=if(c>o,c/ref(close,1)-1,0);
b:=if(c<o,c/ref(close,1)-1,0);
//上涨之和
sz:=count(a,N);
//下跌之和
xd:=count(b,N);

rsi1:=(close-(close,n)/n)/(sz/xd);
K:(rsi1-llv(rsi1,N))/(hhv(rsi1,n)-llv(rsi1,n))*100;
D:SMA(K,M,1);

显示的图形异常

补充内容 (2024-6-3 11:02):
N:=14;
M:=3;

a:=if(c>o,c/ref(close,1)-1,0);
b:=if(c<o,c/ref(close,1)-1,0);
//上涨之和
sz:=count(a,N);
//下跌之和
xd:=count(b,N);

rsi1:=(close-(close,n))/(sz/xd);
K:(rsi1-llv(rsi1,N))/(hhv(rsi1,n)...

补充内容 (2024-6-3 11:07):
n天数=上涨天数+下跌天数,感觉a、b的计算不太妥当

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-6-3 11:19 | 显示全部楼层
a:if(c>o,c/ref(close,1)-1,0);
b:if(c<o,c/ref(close,1)-1,0);


你这样输出看下呢,a表示收阳时候返回涨幅,否者返回0
等于是只统计阳线的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-3 11:27 | 显示全部楼层
技术008 发表于 2024-6-3 11:19
a:if(c>o,c/ref(close,1)-1,0);
b:if(c

那怎么统计N天内收阳的天数?怎么限定只统计N天内收阳的涨幅?
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-3 12:51 | 显示全部楼层
Pine Script(TradingView脚本语言)
//@version=4
study("Stochastic RSI", shorttitle="Stoch RSI", overlay=false)

// 获取用户输入的参数
rsiLength = input(14, title="RSI Length", minval=1)
stochLength = input(14, title="Stochastic Length", minval=1)
smoothK = input(3, title="Smooth K", minval=1)
smoothD = input(3, title="Smooth D", minval=1)

// 计算RSI
rsi = rsi(close, rsiLength)

// 计算Stoch RSI
stochRsi = (rsi - lowest(rsi, stochLength)) / (highest(rsi, stochLength) - lowest(rsi, stochLength))

// 平滑K值和D值
k = sma(stochRsi * 100, smoothK)
d = sma(k, smoothD)

// 绘制Stoch RSI
plot(k, color=color.blue, title="K", linewidth=2)
plot(d, color=color.orange, title="D", linewidth=2)

// 添加超买和超卖水平线
hline(80, "Overbought", color=color.red, linestyle=hline.style_dotted)
hline(20, "Oversold", color=color.green, linestyle=hline.style_dotted)

// 中文解释
/*
1. RSI长度: 计算RSI的周期长度,默认为14。
2. 随机长度: 用于计算Stoch RSI的周期长度,默认为14。
3. 平滑K: K值的平滑周期,默认为3。
4. 平滑D: D值的平滑周期,默认为3。

RSI:相对强弱指标(Relative Strength Index),用于衡量价格的变化速度和变化幅度。
Stoch RSI:随机RSI,是结合了随机指标和RSI的技术指标。
K值和D值:K值是Stoch RSI的平滑结果,D值是K值的平滑结果。

绘图部分:
1. 绘制K值和D值,分别用蓝色和橙色表示。
2. 在80和20位置绘制水平线,用于标记超买和超卖区域。
*/
这是刚收到的代码,可能之前的计算方式有误吧,现在不知道那个是正确的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-7-30 00:20 , Processed in 0.142705 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表