用C语言,编写一个这样的程序,满足五日均线,十日均线,二十日均线,六十天六日均线调头向上的选股代码

news2025/1/17 18:05:39

用C语言,编写一个这样的程序,满足五日均线,十日均线,二十日均线,六十天六日均线调头向上的选股代码,我来做个案例。

99f99ac324e84bfb887fd8f16b8201ac.jpg

 

#include <stdio.h>
#include <stdlib.h>

#define MAX_ROWS 1000 // 假设数据文件最多有1000行

int main() {
    FILE *fp;
    char filename[100];
    char line[MAX_ROWS][100];
    double close_prices[MAX_ROWS];
    int ma5[6] = {0, 0, 0, 0, 0, 0}; // 五日移动平均线
    int ma10[6] = {0, 0, 0, 0, 0, 0}; // 十日移动平均线
    int ma20[6] = {0, 0, 0, 0, 0, 0}; // 二十日移动平均线
    int ma60[6] = {0, 0, 0, 0, 0, 0}; // 六十日六日移动平均线
    int i, j, k;

    // 读取股票数据文件
    sprintf(filename, "stock_data.csv");
    fp = fopen(filename, "r");
    if (fp == NULL) {
        printf("Failed to open file %s\n", filename);
        return 1;
    }
    for (i = 0; i < MAX_ROWS; i++) {
        fgets(line[i], sizeof(line[i]), fp);
        sscanf(line[i], "%lf", &close_prices[i]);
    }
    fclose(fp);

    // 计算移动平均线
    for (i = 4; i < MAX_ROWS; i++) {
        ma5[5] = ma5[4];
        ma5[4] = ma5[3];
        ma5[3] = ma5[2];
        ma5[2] = ma5[1];
        ma5[1] = close_prices[i];
        ma5[0] = (ma5[1] + ma5[2] + ma5[3] + ma5[4] + ma5[5]) / 5;

        ma10[5] = ma10[4];
        ma10[4] = ma10[3];
        ma10[3] = ma10[2];
        ma10[2] = ma10[1];
        ma10[1] = close_prices[i];
        ma10[0] = (ma10[1] + ma10[2] + ma10[3] + ma10[4] + ma10[5]) / 5;

        ma20[5] = ma20[4];
        ma20[4] = ma20[3];
        ma20[3] = ma20[2];
        ma20[2] = ma20[1];
        ma20[1] = close_prices[i];
        ma20[0] = (ma20[1] + ma20[2] + ma20[3] + ma20[4] + ma20[5]) / 5;

        ma60[5] = ma60[4];
        ma60[4] = ma60[3];
        ma60[3] = ma60[2];
        ma60[2] = ma60[1];
        ma60[1] = close_prices[i];
        ma60[0] = (ma60[1] + ma60[2] + ma60[3] + ma60[4] + ma60[5]) / 6;
    }

    // 筛选满足条件的股票
    int count = 0;
    for (i = 4; i < MAX_ROWS - 5; i++) {
        if (close_prices[i] < ma5[0]) continue; // 五日均线调头向上
        if (close_prices[i] < ma10[0]) continue; // 十日均线
 

以上仅供参考,大家可以上机练习一下。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/967530.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小吉送书—第一期】Kali Linux高级渗透测试

文章目录 &#x1f354;前言&#x1f6f8;读者对象&#x1f388;本书资源&#x1f384;彩蛋 &#x1f354;前言 对于企业网络安全建设工作的质量保障&#xff0c;业界普遍遵循PDCA&#xff08;计划&#xff08;Plan&#xff09;、实施&#xff08;Do&#xff09;、检查&#x…

【Kubernetes理论篇】2023年最新CKA考题+解析

文章目录 第一题&#xff1a;RBAC授权访问控制第二题&#xff1a;Node节点维护第三题&#xff1a;K8S集群版本升级第四题&#xff1a;ETCD数据库备份恢复第五题&#xff1a;NetworkPolicy网络策略第六题&#xff1a;Service四层负载第七题&#xff1a;Ingress七层负载第八题&am…

day-07 I/O复用(select)

一.I/O复用 &#xff08;一&#xff09;基于I/O复用的服务器端 1.多进程服务器 每次服务都需要创建一个进程&#xff0c;需要大量的运算和内存空间 2.复用 只需创建一个进程。 3.复用技术在服务器端的应用 &#xff08;二&#xff09;select函数实现服务器端 &#xff08;…

JVM学习(四)--内存问题分析思路

linux获取jvm当前dump文件 命令行为&#xff1a;jmap -dump:file[文件名] [pid] 然后等待生成dump文件&#xff0c;生成的dump文件就在当前目录下。如下图&#xff1a; 然后就可以下载到本地&#xff0c;用本地jdk里自带的jvisualvm来解析文件。 在用本地的jvisualvm解析之前…

uniapp 微信小程序 获取用户头像和昵称

一、背景 自2022年10月25日后&#xff0c;小程序 wx.getUserProfile 接口 被收回&#xff0c;通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像&#xff0c;昵称将统一返回 “微信用户”。如需获取用户头像昵称&#xff0c;可以手动获取&#xff0c;具体步骤&…

七、性能测试之内存分析

性能测试之内存分析与实战 一、内存知识1、理解&#xff1a;2、内存的组成&#xff1a;内存地址、存储单元3、内存---树形结构1、链表2、二叉树 4、数据结构 二、内存使用1、典型案例&#xff1a;JVM&#xff08;java虚拟机&#xff09;包含程序计数器&#xff0c;java虚拟机栈…

探索图像数据中的隐藏信息:语义实体识别和关系抽取的奇妙之旅

探索图像数据中的隐藏信息&#xff1a;语义实体识别和关系抽取的奇妙之旅 1. 简介 1.1 背景 关键信息抽取 (Key Information Extraction, KIE)指的是是从文本或者图像中&#xff0c;抽取出关键的信息。针对文档图像的关键信息抽取任务作为OCR的下游任务&#xff0c;存在非常…

LNMP架构:搭建Discuz论坛

文章目录 1. 编译安装Nginx1.1 前置准备1.2 编译安装1.3 添加nginx系统服务 2.编译安装MySql2.1 前置准备2.2 编译安装2.3 修改mysql 配置文件2.4 设置路径环境变量2.5 初始化数据库2.6 添加musql系统服务2.7 修改MySql登录密码 3. 编译安装PHP3.1 前置准备3.2 编译安装3.3 复制…

【前端demo】倒计时器 可选择时间 原生实现

文章目录 效果过程日历与获取时间居中背景与字计时器清空计时器 代码HTMLCSSJS 其他demo 效果 效果预览&#xff1a;倒计时器 可选择时间 (codepen.io) 参考&#xff1a; Simple Clock/Countdown timer (codepen.io) 前端页面实现倒计时效果的几种方法_前端倒计时__Boboy的…

安卓逆向 - Frida反调试绕过

本文仅供学习交流&#xff0c;只提供关键思路不会给出完整代码&#xff0c;严禁用于非法用途&#xff0c;谢绝转载&#xff0c;若有侵权请联系我删除&#xff01; 本文案例 app&#xff1a;5Lqs5LicYXBwMTEuMy4y 一、引言&#xff1a; Frida是非常优秀的一款 Hook框架&#…

iperf 测试网络性能

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能&#xff0c;具有多种参数和UDP特性&#xff0c;可以根据需要调整&#xff0c;可以报告带宽、延迟抖动和数据包丢失。 官网&#xff1a;iperf.fr https://iperf.fr 支持参数 参数说明-p, --port #Server 端监…

设计模式入门(二)观察者模式

设计模式入门 本系列所有内容参考自《HeadFirst设计模式》。因为书中的代码是采用java语言写的&#xff0c;博主这里用C语言改写。 这里采用讲故事的方式进行讲解。若有错误之处&#xff0c;非常欢迎大家指导。 设计模式&#xff1a;模式不是代码&#xff0c;而针对设计问题的…

A Mathematical Framework for Transformer Circuits—Part (1)

A Mathematical Framework for Transformer Circuits 前言Summary of ResultsREVERSE ENGINEERING RESULTSCONCEPTUAL TAKE-AWAYS Transformer OverviewModel SimplificationsHigh-Level ArchitectureVirtual Weights and the Residual Stream as a Communication ChannelVIRTU…

用树形dp+状压维护树上操作的计数问题:0902T3

发现操作数 k ≤ 6 k\le6 k≤6&#xff0c;可以考虑对操作进行状压。 然后找找性质&#xff0c;发现要么删掉一棵子树&#xff0c;要么进去该子树。可以视为每种操作有两种情况。 然后分讨一下当前该如何转移。 树形dp的顺序&#xff1a; 合并子树考虑当前往上的边的方向 …

自定义类型:结构体、枚举、联合

目录 结构体 结构体的基础知识 结构的声明 特殊的声明 结构体的自引用 结构体变量的定义和初始化 结构体内存对齐 修改默认对齐数 结构体传参 位段 什么是位段 位段的内存分配 位段的跨平台问题 位段的应用 枚举 枚举类型的定义 枚举的优点 联合体&#xff08;共…

Mysql创建用户并且给指定用户添加某个库的所有权限

注意&#xff1a; 运行以下命令首先运行的用户需要有以下操作权限才可以执行 创建用户 创建用户&#xff1a;命令中的’username’替换为您要创建的用户名&#xff0c;‘host’替换为用户的主机名或IP地址如果都可以访问则配置’%&#xff0c;password’替换为用户的密码 CRE…

WoW GM

当年黑翼被人黑G以后&#xff0c;后来我就自己开团&#xff0c;今天整理电脑还发现截图。。。。

AI绘画:StableDiffusion实操教程-斗罗大陆2-江楠楠-常服(附高清图下载)

前段时间我分享了StableDiffusion的非常完整的教程&#xff1a;“AI绘画&#xff1a;Stable Diffusion 终极宝典&#xff1a;从入门到精通 ” 尽管如此&#xff0c;还有读者反馈说&#xff0c;尽管已经成功安装&#xff0c;但生成的图片与我展示的结果相去甚远。真实感和质感之…

h5页面使用js注入企业微信sdk

let script document.createElement(script); //定义script标签 script.type text/javascript; script.src http://res.wx.qq.com/open/js/jweixin-1.2.0.js; document.getElementsByTagName(body)[0].appendChild(script); //将script标签插入到body下面

ISO/IEC标准组织介绍(三十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…