項目名稱:股票工具
想要的功能:
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)