首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >股票MA算法(Java实现)

股票MA算法(Java实现)

作者头像
用户2192970
发布于 2021-01-18 13:25:38
发布于 2021-01-18 13:25:38
1.3K00
代码可运行
举报
文章被收录于专栏:杨飞@益术杨飞@益术
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MAUtils {
    private void test(int dayCount) {
        //算法公式:MA(C,X)=(X1+X2+…+XX)/X.
        //MA(C,1)=C/1=1(这里C=1,X=1);
        //MA(C,2)=(1+2)/2=1.5;
        //MA(C,3)=(1+2+3)/3=2;
        //MA(C,4)=(1+2+3+4)/4=2.5;
        //MA(C,5)=(1+2+3+4+5)/5=3.
        List<Data> dataList = new ArrayList<>();
        for (int i = 0; i < dayCount; i++) {
            Data data = new Data();
            data.setClosePrice(i + 1);
            data.setOpenPrice(i + 1);
            dataList.add(data);
        }

        List<Double> maResults = new ArrayList<>();
        for (int days = 0; days < dayCount; days++) {
            double sum = 0;
            for (int dataIdx = 0; dataIdx < dataList.size(); dataIdx++) {
                if (dataIdx > days) {
                    break;
                }
                sum += dataList.get(dataIdx).getOpenPrice();
            }
            maResults.add(sum / (days + 1));
        }
        System.out.println("=============");
        System.out.println(maResults);
    }

    public static void main(String[] args) {
        new MAUtils().test(5);
    }

    class Data {
        Data() {

        }

        double closePrice;
        double openPrice;

        public double getClosePrice() {
            return closePrice;
        }

        public void setClosePrice(double closePrice) {
            this.closePrice = closePrice;
        }

        public double getOpenPrice() {
            return openPrice;
        }

        public void setOpenPrice(double openPrice) {
            this.openPrice = openPrice;
        }

        @Override
        public String toString() {
            return "Data{" +
                    "closePrice=" + closePrice +
                    ", openPrice=" + openPrice +
                    '}';
        }
    }

注:自行BigDecimal处理

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java循环练习:求1+(1+2)+(1
package practiceGO; /*  * 2.求1+(1+2)+(1+2+3)+(1+2+3+4)+...(1+2+3+..+10)的和   */ public class Cto { public static void main(String[] args) { int sum = 0; for(int i=0; i<10; i++){ int adds = 0; for(int j=0; j<(i+1); j++){ adds += j+1; }
py3study
2020/01/15
5810
股票MA算法(JavaScript实现)
//Script here //算法公式:MA(C,X)=(X1+X2+…+XX)/X. //MA(C,1)=C/1=1(这里C=1,X=1); //MA(C,2)=(1+2)/2=1.5; //MA(C,3)=(1+2+3)/3=2; //MA(C,4)=(1+2+3+4)/4=2.5; //MA(C,5)=(1+2+3+4+5)/5=3. var input,ma5; var calcMA; /* * K线数据 */ input=[ {open:1.0,close:15.0,low:1.0,h
用户2192970
2021/01/21
6980
java list 手动分页
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32534855/article/details/87854879
DencyCheng
2019/02/22
2.6K0
SpringBoot+EasyExcel轻松实现300万数据快速导出!
在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。
程序员皮皮林
2024/11/06
5660
SpringBoot+EasyExcel轻松实现300万数据快速导出!
Java并发编程(04):线程间通信,等待/通知机制
在操作系统中,线程是个独立的个体,但是在线程执行过程中,如果处理同一个业务逻辑,可能会产生资源争抢,导致并发问题,通常使用互斥锁来控制该逻辑。但是在还有这样一类场景,任务执行是有顺序控制的,例如常见的报表数据生成:
知了一笑
2020/05/20
8300
使用EasyExcel导出表格时合并单元格
现在需要将一个导出列表数据到Excel表格的功能进行改造,将指定列相同数据自动合并单元格。
iiopsd
2022/12/23
10.2K4
使用EasyExcel导出表格时合并单元格
Android使用RecyclerView实现列表倒计时效果
最近接到个需求,需要将列表中的优惠券到期时间剩余两天时,设置倒计时效果,需求到手感觉应该问题不大。
SoullessCoder
2021/12/09
1.1K0
Android使用RecyclerView实现列表倒计时效果
Java实现微信抢红包
场景:100块钱红包,群内50人,红包数量为20个,30个人将抢不到红包
疯狂的KK
2021/03/03
7.4K0
Java实现微信抢红包
300万数据导入导出优化方案,从80s优化到8s(实测)
在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。
捡田螺的小男孩
2023/02/23
10.6K0
300万数据导入导出优化方案,从80s优化到8s(实测)
jws 方式表格导出,excel文件导出,rest风格接口实现
一、思路:从数据库表中查出list ,封装到 HSSFWorkook 中,再由HSSFWorkook 写出到 File 中,
微风-- 轻许--
2022/04/13
5550
ES索引模糊查询
1. 准备环境 docker pull elasticsearch:6.7.0 docker pull kibana:6.7.0 docker run -it --name elasticsearch -d -p 9200:9200 -p 9300:9300 elasticsearch:6.7.0 docker run --link elasticsearch -p 5601:5601 --name kibana -d kibana:6.7.0 2. java代码 2.1 pom引入 <el
平常心
2020/10/14
3.1K0
ES索引模糊查询
Java学习笔记——Java常用类
String是一个final类,代表不可变的字符序列,底层使用char[]存放。一个字符串对象一旦被配置,其内容是不可变的。
梦飞
2022/06/23
4650
Java经典问题算法大全
/【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... / package cn.com.flywater.FiftyAlgorthm; public class FirstRabbit { public static final int MONTH = 15; public static void main(String[
大师级码师
2021/09/22
4570
POI 方式-excle 表格导出实现-java-poi
效果: jsp 页面 用的Bootstrap : <li class="dropdown"> <a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-file-excel-o"></i></a> <ul cl
微风-- 轻许--
2022/04/13
9960
POI 方式-excle 表格导出实现-java-poi
Java实现微信抢红包
这个算法可以把总金额想象成一条线段,每个人都有机会切一刀,前面的人切完(有失公平性,会出现第一个切一大段的情况,后面需要改造),剩下的后面的人再接着切剩下的,这样越是前面的人截取的长度(理解成领取到的红包金额)越大的概率就越大。
疯狂的KK
2023/06/30
6460
Java 代码精简之道
其中:“道”指“规律、道理、理论”,“术”指“方法、技巧、技术”。意思是:“道”是“术”的灵魂,“术”是“道”的肉体;可以用“道”来统管“术”,也可以从“术”中获得“道”。
JAVA葵花宝典
2020/06/04
2.2K0
Android列表组件ListView使用详解之动态加载或修改列表数据
在使用ListView组件来显示列表数据时,有的时候我们需要改变列表中的数据,有以下方法:
PHP开发工程师
2021/06/09
1.5K0
Springboot之poi导出
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106439.html原文链接:https://javaforall.c
全栈程序员站长
2022/08/04
9800
Java Map转对象
今天遇到一个问题,前端一条数据大概有100多个字段,前端要求按照传参数返回,传了10个就只能返回10个字段的值,所以用对象就不太合适,会返回一些无用字段,所以只能用Map动态返给前端。
赵哥窟
2020/08/20
1.5K0
Java并发编程(06):Lock机制下API用法详解
Lock加锁相关结构中涉及两个使用广泛的基础API:ReentrantLock类和Condition接口,基本关系如下:
知了一笑
2020/07/09
3960
Java并发编程(06):Lock机制下API用法详解
相关推荐
Java循环练习:求1+(1+2)+(1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档