当前位置:文档之家› [python]沪深龙虎榜数据导入通达信的自选板块并标注于k线图上

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

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

1 #coding=utf-8

2

3 #读取'[paint]'开头的csv文件

4 #copyright @ WangXinsheng

5 #/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 =

相关主题