自己做量化交易软件(21)通达信自选股文件的读写程序
我以前做过各种股票软件的自选股文件和板块数据的转换程序,见下图。 我们本篇文章介绍用Python实现通达信软件的自选股文件的读取和写入操作。 我们在做量化程序时,可以结合通达信软件共同使用。 1、我们用量化程序盘后选取股票池,存放到通达信软件的自选股板块中进行监控。 2、我们用通达信软件选出自选股。用Python来实现盘中监控和自动下单。 通达信软件的自选股文件的目录为:C:\tdx目录\T0002\blocknew 自选股文件名为:‘ZXG.blk’。 在通达信软件中使用快捷命令数字‘06’加回车,出现自选股板块行情列表。自选股文件名为:‘ZXG.blk’。 在通达信软件中,股票代码格式为:(市场,代码) 例如:深圳指数(0, ‘399001’),上海大盘 (1, ‘999999’)。 数据在’ZXG.blk’中以8个字节来存放。 深圳指数(0, ‘399001’),存放格式为chr(10)+‘0399001’。 上海大盘 (1, ‘999999’),存放格式为chr(10)+‘1999999’。 因此我们可以很容易写出python代码。 下图是通达信自选股列表。 下面给出程序代码:
#自选股数据转通达信股票列表
def getzxg(z):
z2=z.split(chr(10))
l=[]
for i in range(1,len(z2)):
z3=z2[i]
l.append((int(z3[0:1]),z3[1:9]))
return l
def getzxgfile(file='ZXG.blk'):
f = open(file,'r')
z=f.read()
f.close()
return getzxg(z)
#通达信股票列表转自选股数据转
def putzxg(l):
s=''
for i in range(len(l)):
l2,l3=l[i]
s=s+chr(10)+str(l2)+l3
return s
def putzxgfile(l,file='ZXG2.blk'):
f = open(file,'w')
s=putzxg(l)
f.write(s)
f.close()
return s
#测试
if __name__ == '__main__':
zxg=getzxgfile('ZXG.blk')
print(zxg)
putzxgfile(zxg,'ZXG2.blk')
zxg3=getzxgfile('ZXG2.blk')
print(zxg3)
程序运行结果:
[(1, '600519'), (0, '399001'), (1, '999999'), (1, '600030'), (0, '000776')]
[(1, '600519'), (0, '399001'), (1, '999999'), (1, '600030'), (0, '000776')]
#独狼荷蒲qq:2775205 #通通小白python量化群:524949939 #电话微信:18578755056 #微信公众号:独狼股票分析
|