#布林线相关指标,shift(-1),向上移动1格,也就当前行变成下一行,在这里就是未来的某一天,+1就是向下移动,就是过去的一天
df1['upper_BBANDS'],df1['mid_BBANDS'],df1['lower_BBANDS'] = ta.BBANDS(df1['close'].values,timeperiod=5,nbdevup=2,nbdevdn=2,matype=0)
df1['mid_BBANDS_xielv'] =ta.LINEARREG_SLOPE(df1['mid_BBANDS'],timeperiod=5)
df1['kaikou_BBANDS'] = df1['upper_BBANDS'] -df1['lower_BBANDS']
df1['kaikou_BBANDS_bianhua'] = df1['kaikou_BBANDS'] - df1['kaikou_BBANDS'].shift(1)
#mid是大于0还是小于等于0
df1['mid_BBANDS_xielv_flag '] = np.where(df1['mid_BBANDS_xielv']>0.001,1,0)
df1['kaikou_bianhua_flag'] = np.where(df1['kaikou_BBANDS_bianhua']>0.001,1,0)
#开口在5天内,变大了还是变小了
df1['kaikou_bianhua_flag_10count'] = ta.SUM(df1['kaikou_bianhua_flag'], timeperiod=10)
df1['kaikou_bianhua_flag_5count'] = ta.SUM(df1['kaikou_bianhua_flag'], timeperiod=5)
df1['kaikou_bianhua_count'] = np.select([((df1['kaikou_bianhua_flag_5count']==0) & (df1['kaikou_bianhua_flag_10count']==0)),
((df1['kaikou_bianhua_flag_5count']==0) & (df1['kaikou_bianhua_flag_10count'] >0)),
((df1['kaikou_bianhua_flag_5count'] >0) & (df1['kaikou_bianhua_flag_10count']==0)),
((df1['kaikou_bianhua_flag_5count'] >0) & (df1['kaikou_bianhua_flag_10count']>0))],[0,-99,99,1])
df1 = df1.drop(['upper_BBANDS','mid_BBANDS','lower_BBANDS','kaikou_BBANDS','kaikou_BBANDS_bianhua','kaikou_bianhua_flag','mid_BBANDS_xielv',
'kaikou_bianhua_flag_10count','kaikou_bianhua_flag_5count'],axis=1)