转换通达信分钟数据,包括5分钟和1分钟数据

news/2024/11/20 9:22:29/

目录

1 前言

2 操作演示

 3 代码

4 软件下载

5 stockpy整体功能介绍


1 前言

真正的市场高手不但要熟练掌握日线,对分钟线也要进行深入研究。缠中说禅在他的博客中讲到,年、季、月、周、日、60分钟、30分钟、5分钟、1分钟研究道理是相同的。粒度越细,那么赢利点就越多。如果长期不操作,那么好苹果也会成为烂苹果。高手甚至能在某一天的某一秒就确定这一秒是几年来的最高点。这都需要剖析分钟线数据。

在研究的过程中,发现网上相关资料要不语焉不详,要不就是资料数据过时,无法直接拿来使用。这回正好借着在家发烧的大好时机,深挖细挖通达信分钟数据结构和python代码,终于可以顺利导出5分钟和1分钟数据了。在这里,python代码和程序都拿出来与大家免费分享。

软件主要增加以下内容:

* 转换通达信5分钟数据

* 转换通达信1分钟数据

* 以上数据中的日期字段,本来是一串数字,转换为可读日期“年月日”

* 分钟字段计算为“时:分”格式

2 操作演示

 

 

 3 代码

from struct import *
import pandas as pd
import os
# import sys
import time
import datetime
import math# stock_list = []
# linename=['code','date','open','high','low','close','amout','vol']
# df_all_stock = pd.DataFrame(stock_list, columns=linename)
def miniute2csv_data(dirname, fname, targetDir):ofile=open(dirname + os.sep + fname, 'rb')buf=ofile.read()ofile.close()ifile=open(targetDir + os.sep + fname+'.csv','w')num=len(buf)no=num/32b=0e=32line=''linename=str('date')+','+str('miniute')+','+str('open')+','+str('high')+','+str('low')+','+str('close')+','+str('amout')+','+str('vol')+'\n'ifile.write(linename)t = datetime.datetime.strptime("2012-11-11 00:00:00", "%Y-%m-%d %H:%M:%S")for i in range(int(no)):# a=unpack('IIIIIfII',buf[b:e])a = unpack('HHfffffii',buf[b:e])year=math.floor(a[0]/2048)+2004month=math.floor((a[0] % 2048)/100)day=(a[0] % 2048) % 100hm = (t + datetime.timedelta(minutes=a[1])).strftime("%H:%M")line = str(year)+'{:02}'.format(month)+'{:02}'.format(day)+','+hm+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'# line = str(year)+'{:02}'.format(month)+'{:02}'.format(day)+','+str(a[1])+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'# line =str(a[0]) +','+str(a[1])+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'ifile.write(line)b = b+32e = e+32ifile.close()df_gp = pd.read_csv(targetDir + os.sep + fname + '.csv', sep=',')df_gp.to_excel(targetDir + os.sep + fname + '.xlsx')#print("可能需要较长时间,请耐心等待......")targetDir=r'.\data\tdx'
# 目标文件夹若不存在,则创建
if not os.path.exists(targetDir):os.makedirs(targetDir)time.sleep(1)# 沪市数据转换
#tdxPath = r'C:\new_mszq_v6\vipdoc\sh\lday'
#pathdir#
#fn#if len(fn)==0:listfile = os.listdir(tdxPath)
else:listfile = fnstart = time.time()
i = 0
for f in listfile:i+=1#if i < 5:miniute2csv_data(tdxPath, f, targetDir)#print(f)print ('数据转换完成。')stop = time.time()
print("用时:%s秒"%str(stop-start))

4 软件下载

免费软件。

下载:

https://www.1hwj.net/forum.php?mod=viewthread&tid=57&extra=

5 stockpy整体功能介绍

通达信日线数据转换为csv、xlsx、feather格式;

通达信5分钟、1分钟数据转换为csv、xlsx格式;

搜索历史数据中特定形态,目前支持61种形态;

主要面向不会编程的朋友,以上所有功能不需要学习编程,点击几次鼠标即可完成;

免费的哈。

其他功能需求请在评论区留言,如果有可能我会尽量实现。


http://www.ppmy.cn/news/8693.html

相关文章

20230102单独编译Toybrick的TB-RK3588X开发板的Android12的内核

20230102单独编译Toybrick的TB-RK3588X开发板的Android12的内核 2023/1/2 17:40 《RK3588_Android12_SDK_Developer_Guide_CN.pdf》 原厂的开发板rk3588-evb1-lp4-v10单独编译内核的方式&#xff1a; cd kernel-5.10 export PATH../prebuilts/clang/host/linux-x86/clang-r4161…

校招前端面试题集锦

JavaScript 类数组对象的定义&#xff1f; 一个拥有 length 属性和若干索引属性的对象就可以被称为类数组对象&#xff0c;类数组对象和数组类似&#xff0c;但是不能调用数组的方法。常见的类数组对象有 arguments 和 DOM 方法的返回结果&#xff0c;还有一个函数也可以被看作…

API管理神器:Apifox

前言 代码未动&#xff0c;文档先行 其实大家都知道 API 文档先行的重要性&#xff0c;但是在实践过程中往往会遇到很多困难。 程序员最讨厌的两件事&#xff1a;1. 写文档&#xff0c;2. 别人不写文档。大多数开发人员不愿意写 API 文档的原因是写文档短期收益远低于付出的…

使用python实现跨年烟花代码

朋友们&#xff0c;有多久没放烟花了&#xff1f;今年你所在的地方允许放烟花么&#xff1f;既然我们不能线下放&#xff0c;那么我们就在线上放个够吧&#xff08;还是那句话&#xff1a;你~有~对~象~了~嘛~&#xff09; 一下是动态图&#xff08;图片我使用的我上几次的背景图…

21级数据结构考前模拟题

说明&#xff1a; 此试卷为21级数据结构考前模拟题&#xff0c;老师并未给出标准答案&#xff0c;故以下所有答案均为博主给出&#xff0c;并只供参考&#xff0c;不保证其正确性&#xff01;&#xff01;&#xff01; 一. 单选题 (单选题) 快速排序方法在&#xff08; &#…

【数据结构】链式存储:链表

目录 &#x1f947;一&#xff1a;初识链表 &#x1f392;二、链表的实现&#xff08;单向不带头非循环&#xff09; &#x1f4d8;1.创建节点类 &#x1f4d2;2.创建链表 &#x1f4d7;3.打印链表 &#x1f4d5;4.查找是否包含关键字key是否在单链表当中 &#x1f4d9;…

站得高,望得远

1、站得高&#xff0c;望的远 计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。 这句话几乎概括了计算机系统软件体系结构的设计要点 &#xff0c;整个体系结构从上到下都是按照严格的层次结构设计的。不仅是计算机系统软件整个体系是这样的&#xff0c;体系里…

vue3 antd项目实战——Form表单的重置与重置【resetFields重置表单未生效(手写重置函数)】

vue3 antd项目实战——resetFields重置表单无效【手写重置函数重置表单数据】关于form表单的文章合集场景复现原因分析解决方案(手写清空函数)关于form表单的文章合集 文章内容文章链接Form表单提交和校验https://blog.csdn.net/XSL_HR/article/details/128495087?spm1001.20…