威廉指标WR计算公式

威廉指标WR计算公式威廉指标 WR 计算公式 威廉指标的计算主要是利用分析周期内的最高价 最低价及周期结束的收盘价等三者之间的关系展开的 以日威廉指标为例 其计算公式为 WR Hn C Hn Ln 100 其中 C 为计算日的收盘价

大家好,我是讯享网,很高兴认识大家。

威廉指标WR计算公式

威廉指标的计算主要是利用分析周期内的最高价、最低价及周期结束的收盘价等三者之间的关系展开的。以日威廉指标为例,其计算公式为:

WR=(Hn-C)÷(Hn-Ln)×100

其中:C为计算日的收盘价,Ln为N周期内的最低价,Hn为N周期内的最高价,公式中的N为选定的计算时间参数,一般为4或14。

以计算周期为14日为例,其计算过程如下:

WR(14日)=(H14-C)÷(H14-L14)×100

其中,C为第14天的收盘价,H14为14日内的最高价,L14为14日内的最低价。

威廉指标是表示当天的收盘价在过去一段时间里的全部价格范围内所处的相对位置,因此,计算出的W%R值位于0-100之间。越接近0值,表明目前的价位越接近过去14日内的最低价;越接近100值,表明目前的价位越接近过去14日内的最高价,从这点出发,对于威廉指标的研判可能比较更容易理解。

由于计算方法的不同,威廉指标的刻度在有些书中与随机指标W%R和相对强弱指标RSI一样,顺序是一样的,即上界为100、下界为0。为方便投资者,这里介绍的W%R的刻度上界为100、下界为0。

另外,和其他指标的计算一样,由于选用的计算周期的不同,W%R指标也包括日W%R指标、周W%R指标、月W%R指标和年W%R指标以及分钟W%R指标等各种类型。经常被用于股市研判的是日W%R指标和周W%R指标。虽然它们的计算时的取值有所不同,但基本的计算方法一样。

威廉指标算法:

N日内最高价与当日收盘价的差,除以N日内最高价与最低价的差,结果放大100倍参数:N 统计天数 一般取14天

威廉指标用法:

1.低于20,可能超买见顶,可考虑卖出
2.高于80,可能超卖见底,可考虑买进
3.与RSI、MTM指标配合使用,效果更好

威廉技术指标计算规则:https://stockapi.com.cn

上代码:

@Slf4j public class StockServiceImpl5 { 
    public void getWrStock() { 
    //由于每次查询到的数据有限,故分三次获取数据 boolean wr = getWR(code, name, newStart1, newEnd1, newStart2, newEnd2, newStart3, newEnd3); } / * 计算威廉指标保存起来 */ public boolean getWR(String code, String name, LocalDate newStart1, LocalDate newEnd1, LocalDate newStart2, LocalDate newEnd2, LocalDate newStart3, LocalDate newEnd3) { 
    try { 
    String paramsStr = "showapi_appid=" + showapi_appid + "&showapi_sign=" + showapi_sign + "&begin=" + newStart3 + "&end=" + newEnd3 + "&code=" + code; List<WwStockDetail> list3 = getStockList(paramsStr); if (CollectionUtils.isEmpty(list3)) { 
    return false; } //拼接接口所需的参数 paramsStr = "showapi_appid=" + showapi_appid + "&showapi_sign=" + showapi_sign + "&begin=" + newStart1 + "&end=" + newEnd1 + "&code=" + code; List<WwStockDetail> list1 = getStockList(paramsStr); if (CollectionUtils.isEmpty(list1)) { 
    return false; } int random = (int) ((Math.random() * 100) + 20); System.out.println("sleepRandom:----" + random); Thread.sleep(random); //拼接接口所需的参数 paramsStr = "showapi_appid=" + showapi_appid + "&showapi_sign=" + showapi_sign + "&begin=" + newStart2 + "&end=" + newEnd2 + "&code=" + code; List<WwStockDetail> list2 = getStockList(paramsStr); if (CollectionUtils.isEmpty(list2)) { 
    return false; } List<WwStockDetail> alls = new ArrayList<>(); alls.addAll(list3); alls.addAll(list2); alls.addAll(list1); if (alls.size() < 42) { 
    return false; } log.info("tockServiceImpl5.getWR alls:{}", alls); //取21日和42日计算威廉指标 List<WwStockDetail> collect21 = alls.stream().limit(21).collect(Collectors.toList()); List<WwStockDetail> collect42 = alls.stream().limit(42).collect(Collectors.toList()); DoubleSummaryStatistics num21Max = collect21.stream().mapToDouble(u -> u.getMax_price()) .summaryStatistics(); DoubleSummaryStatistics num21Min = collect21.stream().mapToDouble(u -> u.getMin_price()) .summaryStatistics(); DoubleSummaryStatistics num42Max = collect42.stream().mapToDouble(u -> u.getMax_price()) .summaryStatistics(); DoubleSummaryStatistics num42Min = collect42.stream().mapToDouble(u -> u.getMin_price()) .summaryStatistics(); //W%R(14日)=(H14—C)÷(H14—L14)×100. Double close = alls.get(0).getClose_price(); Double open = alls.get(0).getOpen_price(); double wr21 = (num21Max.getMax() - close) / (num21Max.getMax() - num21Min.getMin()) * 100; double wr42 = (num42Max.getMax() - close) / (num42Max.getMax() - num42Min.getMin()) * 100; String wr21Value = String.format("%.3f", wr21); String wr42Value = String.format("%.3f", wr42); double wr21Last = Double.parseDouble(wr21Value); double wr42Last = Double.parseDouble(wr42Value); double abs = Math.abs(wr21Last - wr42Last); //wr在最底部的入选 if (abs < 0.5 && wr21Last >= 0 && wr21Last <= 20 && close > open) { 
    System.out.println(close + "___" + open); //判断成交量是不是放倍量 boolean stockKlineDay = getStockKlineDay(code); if (stockKlineDay) { 
    int random2 = (int) ((Math.random() * 100) + 100); Thread.sleep(random2); WrStock wrStock = WrStock.builder().code(code).name(name).open(open.toString()).close(close.toString()).wr21(wr21Value).wr42(wr42Value).build(); wrStockMapper.insert(wrStock); return true; } return false; } catch (InterruptedException e) { 
    log.info("InterruptedException", e); return false; } } } 
讯享网

威廉技术指标计算规则:https://stockapi.com.cn

小讯
上一篇 2025-03-02 15:53
下一篇 2025-03-26 10:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/73465.html