def shou_bc_all(self): c_li = [] kk = gu_save('') code_list = kk.get_from_csv('shou.csv').code.values.tolist() #周 code_list = [] for code in code_list: co = (kk.getSixDigitalStockCode(code)) f, bz = s.shou_bc(co, 'w') if f == 1: c_li.append([co, bz]) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_w.csv') #首日先 code_list = kk.get_from_csv('shou_w.csv').code.values.tolist() #code_list=[] for code in code_list: co = (kk.getSixDigitalStockCode(code)) f, bz = s.shou_bc(co, 'D') if f == 1: c_li.append([co, bz]) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_d.csv') c_li.clear() return 0
def shou_all_dmi_d(self): kk = gu_save('') c_li = [] c_li2 = [] c_li3 = [] gxrq = datetime.datetime.now().strftime('%Y-%m-%d') gxsj = datetime.datetime.now().strftime('%H%M') code_list = kk.get_from_csv('shou_m.csv').code.values.tolist() #计算增加部分 code_list2 = kk.get_from_csv('shou_d1.txt').code.values.tolist() c_l = [] for code in code_list2: co = (kk.getSixDigitalStockCode(code)) c_l.append(co) for code in code_list: co = (kk.getSixDigitalStockCode(code)) f = self.shou_dmi_d(co) if f == 1: c_li.append([co, '趋势增强' + gxrq + gxsj]) if co not in c_l: c_li3.append([co, '新增' + gxrq + gxsj]) if f == 2: c_li2.append([co, '趋势减弱']) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_d1.txt') df = DataFrame(c_li2, columns=['code', 'name']) df.to_csv('shou_d2.txt') df = DataFrame(c_li3, columns=['code', 'name']) df.to_csv('shou_d3.txt', mode='a', header=False) return 0
def shou_din_bc(self, code1, ktype1): # kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, ktype1) cci = hh.cci(df) pass
def draw_cci3(self,code,ktype): kk=gu_save('') hh=gu_zb(0) name=kk.get_name(code) print(name+code) #取4个类型的df df=kk.get_k_from_api(code,ktype) #取4个类型的CCi if df.empty: return 0 cci=hh.cci(df)[-self.total:] df=df[-self.total:] up,dw=hh.cci_ana_dd2(cci) cciii=[] for i in range(0,self.total): if i in dw: cciii.append(cci[i]) else: cciii.append(0) #画出最后3条线 fig, ax = plt.subplots(2, 1, figsize=(16,8)) ax[0].set_title(name+code+'--'+ktype,fontproperties = 'SimHei',fontsize = 20) mpf.candlestick2_ochl(ax=ax[0],opens=df["open"].values.tolist(), closes=df["close"].values, highs=df["high"].values, lows=df["low"].values,width=0.7,colorup='r',colordown='g',alpha=0.7) ax[1].axhline(y=100, color='b', linestyle=':') ax[1].axhline(y=-100, color='b', linestyle=':') ax[1].plot(cci,'r') ax[1].plot(cciii,'b') plt.show() return 0
def shou_all_cci_d(self): kk = gu_save('') c_li = [] c_li2 = [] c_li3 = [] c_li4 = [] code_list = kk.get_from_csv('shou_m.csv').code.values.tolist() for code in code_list: co = (kk.getSixDigitalStockCode(code)) f = self.shou_bc_last_s(co) if f == 1: c_li3.append([co, '最后一个是顶背驰']) c_li4.append(co) #print(c_li3) for code in code_list: co = (kk.getSixDigitalStockCode(code)) #if co in c_li4: #continue #print(co) f = self.shou_cci_D_qrs(co) if f == 1: c_li.append([co, '强势、cci 0+']) if f == 2: c_li2.append([co, '弱势、cci-100-']) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_d1_cci.txt') df = DataFrame(c_li2, columns=['code', 'name']) df.to_csv('shou_d2_cci.txt') df = DataFrame(c_li3, columns=['code', 'name']) df.to_csv('shou_d3_cci.txt') c_li.clear() c_li2.clear() return 0
def shou_bc_last_s(self, code1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, 'D') li_last_s = self.buy_0(df)[-1] if li_last_s == 's': return 1 return 0
def shou_tt_all(self): c_li = [] kk = gu_save('') code_list = kk.get_from_csv('shou.csv').code.values.tolist() for co in code_list: code = (kk.getSixDigitalStockCode(co)) f, ttt_li = self.two_little(code, 'D') if f: print(ttt_li) return 0
def shou_bc_last_s2(self, code1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, 'D') a, b, c = self.d_bc(df) cn1 = a > 0 #最后一个顶背驰 if cn1 and (c - b) in [8]: return 1 return 0
def shou_Macd_w_0z(self, code1): kk = gu_save('') hh = gu_zb('') #搜周Macd-dea为在0轴上 df = kk.get_k_from_csv(code1, 'w') diff, dea3, macd3 = hh.macd(df) dea = dea3.tolist() cn2 = dea[-1] > 0 #dea 0轴之上 if cn2: return 1 return 0
def shou_bc9_all(self, list): kk = gu_save('') c_li3 = [] code_list = kk.get_from_csv('shou_m.csv').code.values.tolist() for code in code_list: co = (kk.getSixDigitalStockCode(code)) f = self.shou_bc_last_s2(co) if f == 1: c_li3.append([co, '最后一个是顶背驰9']) df = DataFrame(c_li3, columns=['code', 'name']) df.to_csv('shou_bc9.txt')
def shou_sz(self, x1, x2): kk = gu_save('') code_list = kk.get_code_list() c_li = [] for code in code_list: sz = kk.get_sz(code) if sz > x1 and sz < x2: c_li.append([code, '市值在{0}-{1}之间'.format(x1, x2)]) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou.csv') return c_li
def shou_all_Macd_M_H(self): c_li = [] kk = gu_save('') code_list = kk.get_from_csv('sv_dmd1.csv').code.values.tolist() for code in code_list: co = (kk.getSixDigitalStockCode(code)) print(co) f = self.shou_Macd_M_H(co) if f == 1: c_li.append([co, '月线Macd红柱']) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_m.csv') c_li.clear() return 0
def shou_cci_D_qrs(self, code1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, 'D') cci = hh.cci(df) cciqrfj = hh.cci_ana_qrfj(cci) cn4 = cciqrfj[-1] > 0 and cci[-1] > 0 cn5 = cciqrfj[-1] < 1 and cci[-1] < -100 if cn4: return 1 if cn5: return 2 return 0
def shou_Macd_M_H(self, code1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, 'm') #如果不存在该代码的数据??? #搜月Macd为红柱 diff, dea, macd3 = hh.macd(df) macd = macd3.tolist() cn1 = macd[-1] > 0 #Macd为红柱 if cn1: return 1 #Macd为红柱 return 0
def shou_xdj(self, code1, ktype1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, ktype1) #print(df.head()) day = df.date.values.tolist() cci = hh.cci(df) up_li, dw_li = hh.cci_ana_dd(cci) #cci=cci[-10:] d_ln = len(day) ln = len(cci) #print(d_ln,ln) for i in range(2, ln): if (i - 2) in up_li: continue xdj = self.xdj(cci[i - 2], cci[i - 1], cci[i]) if i + 4 >= ln: pp = ln - 1 else: pp = i + 3 if xdj == 1: print(i, day[i], cci[i], df.loc[i]['high'], df.loc[pp]['high']) return 0
def shou_all_Macd_w(self): c_li = [] kk = gu_save('') #周 code_list = kk.get_from_csv('shou_m.csv').code.values.tolist() for code in code_list: co = (kk.getSixDigitalStockCode(code)) print(co) f = self.shou_Macd_w_0z(co) if f == 1: c_li.append([co, '周线macd的Dea在0轴之上']) df = DataFrame(c_li, columns=['code', 'name']) df.to_csv('shou_w.csv') if len(df) > 590: df1 = df[:590] df1.to_csv('shou_w1.txt') df1 = df[591:] df1.to_csv('shou_w2.txt') else: df.to_csv('shou_w1.txt') c_li.clear() return 0
def two_little(self, code, ktype1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code, ktype1) cci = hh.cci(df) up, mid, lo = hh.boll(df) #print(up.tolist()) high_li = df.high.values.tolist() open_li = df.open.values.tolist() close_li = df.close.values.tolist() ln = len(cci) ttt_li = [] for i in range(2, ln): cn1 = cci[i] > 100 and cci[i - 1] > 100 and cci[i] < cci[i - 1] cn2 = high_li[i] > up[i] and high_li[i - 1] > up[i - 1] cn3 = open_li[i] > close_li[i] and open_li[i - 1] > close_li[i - 1] cn4 = open_li[i - 2] < close_li[i - 2] and close_li[i] < close_li[ i - 1] and close_li[i - 1] < close_li[i - 2] if cn1 and cn2 and cn3 and cn4: print(code, i, df.loc[i].date) ttt_li.append([code, i, df.loc[i].date]) return len(ttt_li), ttt_li
import math from gu_zb import gu_zb from gu_save import gu_save from gu_draw import gu_draw from gu_shou import gu_shou from stockmd import stockzb from stockmd import m_kl from stockmd import w_kl from stockmd import D_kl from stockmd import Hf_kl from stockmd2 import jiekou #from stockmd2 import cciorder import os import tensorflow as tf kk=gu_save('') hh=gu_zb(0) rr=gu_shou('') ddd=gu_draw('') jk=jiekou() ts.set_token('4d4e8c66f3fe804a585a345419362a9982790682a79ef65214b5d5e1') pro = ts.pro_api('4d4e8c66f3fe804a585a345419362a9982790682a79ef65214b5d5e1') #df=jk.get_k_from_api_pro('600598','D') #df=df.sort_values(by='date' , ascending=True) #df = ts.pro_bar(ts_code='000001.SZ', adj='qfq', start_date='20180101', end_date='20181011') #df = pro.daily(ts_code='002498.SZ', start_date='20180701', end_date='20200718') #print(df.vol.values.tolist()) #df=ts.get_h_data('002498',start='2019-01-01', end='2020-03-16') #df = pro.daily(trade_date='20201022') #df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
def dr_cci2(self,code,ktype): kk=gu_save('') hh=gu_zb(0) name=kk.get_name(code) print(name+code) #取4个类型的df df=kk.get_k_from_api(code,ktype) #取4个类型的CCi if df.empty: return 0 cci=hh.cci(df) ln=len(cci) total=self.total if ln<self.total: total=ln PLUS_DI,MINUS_DI,ADX,ADXR=hh.dmi(df) df=df[-total:] cci=cci[-total:] MINUS_DI=MINUS_DI[-total:] PLUS_DI=PLUS_DI[-total:] ADX=ADX[-total:] ADXR=ADXR[-total:] #df=df[-self.total:] #4个类型的顶点 #画出最后3条线 fig, ax = plt.subplots(3, 1, figsize=(16,8)) ax[0].set_title(name+code+'--'+ktype,fontproperties = 'SimHei',fontsize = 20) ax[1].plot(cci,'r') ax[2].plot(ADX,'r') ax[2].plot(PLUS_DI,'y') ax[2].plot(MINUS_DI,'b') ax[2].plot(ADXR,'g') ax[2].axhline(y=80, color='b', linestyle=':') ax[2].axhline(y=50, color='b', linestyle=':') ax[2].axhline(y=20, color='b', linestyle=':') #取顶点 up_li2=hh.gjbc(df) dw_li2=hh.gj_d_bl(df) #up_li2,dw_li2=hh.gj_bl(df) print(up_li2) if len(up_li2)>4: up=up_li2[-4:] else: up=up_li2 if len(dw_li2)>2: dw=dw_li2[-2:] else: dw=dw_li2 #up=[] for u in up: y1=u[1] y2=u[3] x1=u[0] x2=u[2] k=(y2-y1)/(x2-x1) if k>0:continue b=y2-k*x2 c1=(300-b)/k c2=(-200-b)/k if c2>total: c2=total if c1<0: c1=0 l_x=np.linspace(c1,c2,10) y=k*l_x+b ax[1].plot(l_x,y,'-.y') for u in dw: y1=u[1] y2=u[3] x1=u[0] x2=u[2] k=(y2-y1)/(x2-x1) if k<0:continue b=y2-k*x2 c1=(200-b)/k c2=(-350-b)/k if c1>total: c1=total if c2<0: c2=0 l_x=np.linspace(c1,c2,10) y=k*l_x+b ax[1].plot(l_x,y,'-.y') #画K线 mpf.candlestick2_ochl(ax=ax[0],opens=df["open"].values.tolist(), closes=df["close"].values, highs=df["high"].values, lows=df["low"].values,width=0.7,colorup='r',colordown='g',alpha=0.7) ax[1].axhline(y=100, color='b', linestyle=':') ax[1].axhline(y=-100, color='b', linestyle=':') #文字 ##gd_li=self.gdjl(df) jddd_li=self.jddd(df) #for x in gd_li: #plt.text(x[0],0,x[1],size = 10) for x in jddd_li: plt.text(x[0],250,x[1],size = 7) plt.style.use('ggplot') plt.show() return 1
def shou_bc(self, code1, ktype1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, ktype1) cci = hh.cci(df) return self.bc(cci)
def shou_dmi_d(self, code1): kk = gu_save('') hh = gu_zb('') df = kk.get_k_from_csv(code1, 'D') x_dmi = hh.sel_dmi(df) return x_dmi