[python]沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上

将沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上

原理:python读取前一次处理完的计算5日后涨跌幅输出的csv文件

文件名前加"[paint]"

安照通达信的画图文件和板块文件格式,输出文件

用通达信的导入功能,导入画图文件和板块文件即可

事前数据截图:

处理后所得文件:

导入通达信后板块截图:

k线截图:

代码:

  1 #coding=utf-8
  2
  3 #读取‘[paint]‘开头的csv文件
  4 #copyright @ WangXinsheng
  5 #http://www.cnblogs.com/wangxinsheng/
  6 import os
  7 import struct
  8 import time
  9 import datetime
 10
 11 def getPriceByte(infile,arg,code,ss,day):
 12     dirc = {"-5":-3,"-3":-2,"-1":-1,"1":1,"3":2,"5":3,"7":4,"9":5,"11":6}
 13     first = 0
 14     second = 0
 15     a = float(arg)
 16     for i in [-5,-3,-1,1,3,5,7,9,11]:
 17         ib = i - 2
 18         if(a>=2**ib and a<2**i):
 19             #print(str(a)+":["+str(2**ib)+","+str(2**i)+"]"+"i:"+str(i)+" ib:"+str(ib))
 20             first = ib
 21             break;
 22     #print(first)
 23     chushu = 2**first
 24     if(arg >= chushu*2):
 25         second = arg / chushu
 26         #print(second)
 27         second = int(second*64)
 28     else:
 29         second = arg / chushu -1
 30         #print(second)
 31         second = int(second*128)
 32
 33     if(first<0):
 34         first = 64 + dirc[str(first)]
 35     else:
 36         first = 63 + dirc[str(first)]
 37     ‘‘‘
 38     print(first)
 39     print(second)
 40     print(struct.pack(‘B‘,first))
 41     print(struct.pack(‘B‘,second))
 42     ‘‘‘
 43     #print(struct.pack(‘B‘,first))
 44     #print(struct.pack(‘B‘,second))
 45
 46     infile.write(struct.pack(‘B‘,ss))
 47     infile.write(code.encode())
 48     infile.write(b‘\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00‘)
 49     infile.write(b‘\x03‘)
 50     infile.write(‘STANDK‘.encode())
 51     infile.write(b‘\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00‘)
 52     infile.write(b‘\x04‘)
 53     infile.write(b‘\x00‘)
 54     infile.write(b‘\x1a\x10\x00\x00‘)
 55     infile.write(struct.pack(‘i‘,int(day)))
 56     infile.write(b‘\x00\x00‘)
 57     infile.write(struct.pack(‘B‘,second))
 58     infile.write(struct.pack(‘B‘,first))
 59     infile.write(b‘\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdcz3\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00‘)
 60
 61     print(str(code)+‘:已在 ‘+day+"日,价格:"+str(arg)+"加入标记")
 62 #infile = open("tdxline.eld","rw")
 63 #getPriceByte(5.55)
 64 file = open("WXSline.eld","wb")
 65 zxg = ‘‘
 66 path=r‘.‘
 67 files = os.listdir(path)
 68 files.sort()
 69 j=0
 70 for f in files:
 71     if(f.startswith(‘[paint]‘) and f.endswith(‘.csv‘)):
 72         print(‘读取文件:‘+path+‘/‘+f)
 73
 74         f=open(path+‘/‘+f,‘rt‘)
 75         infos = f.readlines()
 76         f.close()
 77         i=0
 78         for info in infos:
 79             if(i==0):
 80                 i=i+1
 81                 continue
 82             tmp = info.split(‘,‘)
 83             if(len(tmp)<2):
 84                 continue
 85             code = str(tmp[1].replace(‘"‘,‘‘).replace("‘",""))
 86             if(code.startswith(‘6‘)):
 87                 ss = 1
 88             else:
 89                 ss = 0
 90             addzxg = ‘‘
 91             try:
 92                 zxg.index(str(ss)+code)
 93             except:
 94                 addzxg = str(ss)+code+"\n"
 95
 96             if(addzxg!=‘‘):
 97                 zxg = zxg + str(ss)+code+"\n"
 98             if(len(tmp)<10):
 99                 continue
100
101             days = tmp[0].split(‘-‘)
102             if(len(days)<2):
103                 days = tmp[0].split(‘/‘)
104
105             if(len(days)<2):
106                 continue
107
108             if(len(days[1])<2):
109                 days[1] = ‘0‘+days[1]
110             if(len(days[2])<2):
111                 days[2] = ‘0‘+days[2]
112             day = days[0]+days[1]+days[2]
113             #print(day)
114
115             priceArr = tmp[9].replace(‘"‘,‘‘).split(‘%‘)
116             if(len(priceArr)<2):
117                 continue
118             a = float(priceArr[1].replace(‘[‘,‘‘).replace(‘]‘,‘‘))*(1-float(priceArr[0].replace(‘%‘,‘‘))/100)
119             a = round(a,2)
120             code = str(tmp[1].replace(‘"‘,‘‘).replace("‘",""))
121             if(code.startswith(‘6‘)):
122                 ss = 1
123             else:
124                 ss = 0
125
126             getPriceByte(file,a,code,ss,day)
127             ‘‘‘
128             if(j>3):
129                 break
130             else:
131                 j=j+1
132             ‘‘‘
133
134 fileA = open("WXS条件股.ebk","w")
135 fileA.write(zxg)
136 fileA.close()
137 file.close()
138 print(‘处理完了\n画图文件地址:./WXSline.eld‘)
139 print(‘\n板块文件地址:./WXS条件股.ebk‘)
时间: 2024-08-07 17:01:20

[python]沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上的相关文章

[python]沪深龙虎榜数据进一步处理,计算日后5日的涨跌幅

沪深龙虎榜数据进一步处理,计算日后5日的涨跌幅 事前数据: 前面处理得到的csv文件 文件名前加入“[wait]”等待程序处理 python代码从雅虎股票历史数据api获取数据,计算后面5日的涨跌幅 雅虎数据api格式: priceUrl = 'http://table.finance.yahoo.com/table.csv?s={%1}&d={%2}&e={%3}&f={%4}&g=d&a={%5}&b={%6}&c={%7}&ignore

用Python做股票市场数据分析—做K线图

由于本科在校期间身边有许多朋友是金融专业的,他们时长在我耳边谈起股票情况,受他们影响,耳濡目染地对证券时长有了兴趣.毕业前几个月找实习单位时,又机缘巧合地在这方面工作了一段时间,学习了证券交易的各种理论(道氏理论.日本蜡烛图技术.波浪理论等),虽然后期转行做了本专业工作(数据挖掘),但对证券交易这块一直在关注.闲来无事就用Python来实现了一下蜡烛图,话不多说,直接上代码: # 导入需要的包和模块 import datetime import pandas as pd import tusha

C#下如何用NPlot绘制期货股票K线图(2):读取数据文件让K线图自动更新

[内容介绍]上一篇介绍了K线图的基本绘制方法,但很不完善,本篇增加了它直接读取数据的功能,这对于金融市场的数据量大且又需要动态刷新功能的实现很重要. [实现方法] 1.需要一个数据文件,这里用的是直接读取由另一个CTP程序从上期交易所接收的期货合约RB1609所写的行情文件日线数据rb1609_d1.txt 文件格式如下: 日期 时间 开盘 最高 最低 收盘 成交量 持仓量 20160810 0.100000 2555.00 2606.00 2540.00 2563.00 3114 6858 2

利用python爬取龙虎榜数据及后续分析

##之前已经有很多人写过相关内容,但我之前并未阅读过,这个爬虫也是按照自己的思路写的,可能比较丑陋,请见谅! 本人作为Python爬虫新手和股市韭菜,由于时间原因每晚没办法一个个翻龙虎榜数据,所以希望借助爬虫筛选出有用信息,供我分析(其实就是想偷懒...). 每日的龙虎榜数据都在:http://data.eastmoney.com/stock/lhb.html 爬取过程其实很简单,不需要登陆,也不需要模拟浏览器登录:数据量小,因此也不用多进程,也不用更换IP等反爬虫手段.后续的分析可能更关键.

通达信:显示K线图日期

INFO_A:=STRCAT('INFO_A=', STRCAT(CON2STR(REF(MONTH, REF_BAR_A), 0), STRCAT('-', STRCAT(CON2STR(REF(DAY, REF_BAR_A), 0), STRCAT(' ', STRCAT(CON2STR(REF(HOUR, REF_BAR_A), 0), STRCAT(':', CON2STR(REF(MINUTE, REF_BAR_A), 0)) ))))));INFO_B:=STRCAT('; INFO

动态更新echarts k线图数据 通过websocket取数据

1.加载插件,实例化chart.2.链接websocket3.接收数据,处理数据,调用chart的实例,不断更新数据<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title></head><body><div id="container"><

[转载]通达信插件选股(基于通达信插件编程规范的简单分析)

[转载]通达信插件选股(基于通达信插件编程规范的简单分析) 原文地址:通达信插件选股(基于通达信插件编程规范的简单分析)作者:哈尔滨猫猫 首先声明,鄙人是编程人员,不是股民.对选股概念了解甚少.本文仅作编程人员学习借鉴之用.不对选股理论进行探讨和解释. 以前有客户找我做过通达信插件选股的小任务,当时第一次接触面向接口(此类“接口”)编程,也是第一次接触到股票里相关的概念.最近由于接手一个任务,与上次开发相类似,故旧事重提,仔细研究一番.将个人学习研究所得知识与大家分享.在网上搜相关资料,可用的.

Elasticsearch+Mongo亿级别数据导入及查询实践

数据方案: 在Elasticsearch中通过code及time字段查询对应doc的mongo_id字段获得mongodb中的主键_id 通过获得id再进入mongodb进行查询   1,数据情况: 全部为股票及指数的分钟K线数据(股票代码区分度较高) Elasticsearch及mongodb都未分片且未优化参数配置 mongodb数据量: Elasticsearch数据量: 2,将数据从mongo源库导入Elasticsearch import time from pymongo impor

用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)

在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将在此基础上再引入成交量效果图,并结合量价理论,给出并验证一些交易策略. 1 成交量对量化分析的意义 美国的股市分析家葛兰碧(Joe Granville)在他所著的<股票市场指标>一书里提出著名的“量价理论”.“量价理论”的核心思想是,任何对股价的分析,如果离开了对成交量的分析,都将是无本之木,无水