自学python 一个简单的股票工具,源代码分享[通俗易懂]

自学python 一个简单的股票工具,源代码分享[通俗易懂]项目名称:股票工具想要的功能:1获取数据实时某支股票的‘买一量’‘卖一量’#获取数据2数据分析对’买一量’‘卖一量’的判断进入时候提醒2.1买一量,大于、小于多少时,提示买入卖出2.2卖一量,大于、小于多少时,提示买入卖出2.3涨幅计算行动效果图:后面是源代码:#设置fromurllibimportrequestimportr…

大家好,又见面了,我是你们的朋友全栈君。

项目名称:股票工具
想要的功能:
1 获取数据 实时某支股票的 ‘买一量’ ‘卖一量’ #获取数据
2 数据分析 对’买一量’ ‘卖一量’的判断 进入时候提醒
2.1 买一量,大于、小于 多少时,提示买入卖出
2.2 卖一量,大于、小于 多少时,提示买入卖出
2.3 涨幅计算

行动效果图:
在这里插入图片描述
后面是源代码:

#设置
from urllib import request
import re
print('程序启动中。。。')
#url_input = input('输入代码(sh600593,sz000725,sz000630):')
#print(url_input)
n = 10 #条件触发时提醒次数
#input0 = input('新的一天开始***理性交易***拒绝冲动***加油!按任意键同意 开始交易:')
print('新的一天开始***理性交易***拒绝冲动***加油!')
print('新的一天开始***理性交易***拒绝冲动***加油!')
print('新的一天开始***理性交易***拒绝冲动***加油!重要是事情说三遍')

#安全区间定义
#注意区间定义
#卖白菜定义

#功能区
while True:
    url0 = request.urlopen('http://hq.sinajs.cn/list=sh600593', timeout=60)  # 设置监控对象
    read_url0 = url0.readline().decode('GB18030')

    url1 = request.urlopen('http://hq.sinajs.cn/list=sz000630', timeout=60)  # 设置监控对象
    read_url1 = url1.readline().decode('GB18030')

    url2 = request.urlopen('http://hq.sinajs.cn/list=sz000725', timeout=60)  # 设置监控对象
    read_url2 = url2.readline().decode('GB18030')

    #print('程序运行中。。。')

    #print(b)
    c = re.split(r'[;,\s]\s*', read_url0)
    d = re.split(r'[;,\s]\s*', read_url1)
    e = re.split(r'[;,\s]\s*', read_url2)
    url0_buy0 = float(c[12])  # 买一
    url1_buy0 = float(d[12])  # 买一
    url2_buy0 = float(e[12])  # 买一

    #数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区#数据定义区

      #name = print(c[1])     #股票名称
   # buy0 = float(c [12])#买一
    buy1 = float(c [14]) #买二
    buy2 = float(c [16]) #买三
    buy3 = float(c [18]) #买四
    buy4 = float(c [20])  #买五
#print(buy0,buy1,buy2,buy3,buy4)
    sell0 = float(c[22])    #卖一
    sell1 = float(c[24])    #卖一
    sell2 = float(c[26])    #卖一
    sell3 = float(c[28])    #卖一
    sell4 = float(c[30])    #卖一
#print(sell0,sell1,sell2,sell3,sell4)
    buy0_qty = float(c [11])  / 100 #买一量
    buy1_qty = float(c [13])  / 100  #买二量
    buy2_qty = float(c [15])  / 100 #买三量
    buy3_qty = float(c [17])  / 100#买四量
    buy4_qty = float(c [19])  / 100#买五量
#print(buy0,buy1,buy2,buy3,buy4)
    sell0_qty = float(c [21])  / 100 #卖一量
    sell1_qty = float(c [23])  / 100  #卖二量
    sell2_qty = float(c [25])  / 100 #卖三量
    sell3_qty = float(c [27])  / 100#卖四量
    sell4_qty = float(c [29])  / 100#卖五量
#print(sell0,sell1,sell2,sell3,sell4)
#print('买一价格:',buy0,'买一量:',buy0_qty)
    #input('启动完成,程序运行中。。。:')
    time = c[32]
    #time0 = c[33]
    #设置提醒条件,函数体
    # 涨幅计算fluctuate = (num - get) /get*100
    def fluctuate(num0, num1):  # 定义函数 num0 买一价 num1 昨收价
        if num0 > 0 and num1 > 0:
            return (num0 - num1) / num0 * 100  # 加入计算当前涨跌幅(买一价-昨收盘价)/买一价

        else:
            return 'error'

    # test = fluctuate(11,10) #函数测试
    # print('上涨',test,'%')  #函数测试
    #正常波动区间提醒
    closing_url0 = float(c[3])   #昨收价
    closing_url1 = float(d[3])   #昨收价
    closing_url2 = float(e[3])   #昨收价
    url0_buy0 = float(c[12])  # 买一
    url1_buy0 = float(d[12])  # 买一
    url2_buy0 = float(e[12])  # 买一

    warning_c = fluctuate(url0_buy0,closing_url0) #设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning_d = fluctuate(url1_buy0,closing_url1)  # 设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning_e = fluctuate(url2_buy0,closing_url2)  # 设置第一个股票 相对昨收价的涨幅, 保留两个位小数 单位%
    warning0_out = ('%.2f' % warning_c,'%','%.2f' % warning_d,'%','%.2f' % warning_e,'%')
    #print(warning0_out)

    #预警设置
        #1.1 相对昨收价的下负两个点波动 提示正常区间运行中
        #1.2 注意区间
        #1.3 卖白菜区间
    # 1.1 相对昨收价的下负两个点波动 提示正常区间运行中


    #输出显示设置  输出当前名称 价格和涨幅
    print('大连圣亚',url0_buy0,'涨跌','%.2f' % warning_c,'%','铜陵有色',url1_buy0,'涨跌','%.2f' % warning_d,'%','京东方A', url2_buy0, '涨跌', '%.2f' % warning_e, '%','更新时间',time)

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149421.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • class文件常量池与运行时常量池_java运行时常量池

    class文件常量池与运行时常量池_java运行时常量池JVM进阶(十九)——Class文件常量池  在上一博文《JVM进阶(十八)——初识Class文件》中,我们了解了Class文件的一些基础知识。他的整个内部结构就是一张很大的表,我们就是从这张表入手,一一分析每个部分的结构。继续看这张表:  接着上一博文所说,魔数后面分别是次版本号和主版本号。由上图可知其分别占用两个字节。  被蓝色框框住的就是次版本号,划红线的就是主版本号。再次说明

    2022年9月9日
    0
  • FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )

    FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )首先扯点别的:今天不上班,在家里和剑宗喝了点酒,和同学聊了会天,也是挺开心,现在学会习。以前调用系统相机拍照的时候,流程是这样的privatevoidtakePhoto(){IntenttakePictureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);if(takePictureIntent

    2025年7月3日
    0
  • 分布式事务框架Seata

    分布式事务框架Seata分布式事务中常见的三种解决方案目录一、分布式事务前奏 二、柔性事务解决方案架构 (一)、基于可靠消息的最终一致性方案概述 (二)、TCC事务补偿型方案 (三)、最大努力通知型 三、基于可靠消息的最终一致性方案详解 (一)、消息发送一致性 (二)、保证消息一致的变通做法 (三)、常规MQ消息处理流程和特点 (四)、消息重复发送问题和业务接口幂等性设计 (五)、本地消息服务方案 (六)、独立消息服务方案 (七)、消息服务子系统的设计实现 一、分布式事务

    2025年7月11日
    0
  • 蓝桥杯单片机必备知识—–(11)EEPROM

    蓝桥杯单片机必备知识—–(11)EEPROM

    2021年4月14日
    153
  • 设备树 之pinctrl[通俗易懂]

    设备树 之pinctrl[通俗易懂]三个重要概念bank:gpa0,gpa1,gpa31等group:以功能划分,比如uart的tx和rxstate:设备的某种状态,比如”default”,”idle”,”sleep”,也可以是其他自定义的状态,比如串口的“flow_ctrl”状态例如:bank:&pinctrl_0{/**pinb…

    2022年6月18日
    172
  • 构建增强现实移动应用程序的六款顶级工具

    构建增强现实移动应用程序的六款顶级工具

    2021年6月6日
    122

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号