代码拉取完成,页面将自动刷新
同步操作将从 macroan/traderStock-gui 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#coding=utf-8
class Volume:
__instance = None
def __init__(self):
pass
@classmethod
def getInstance(cls):
if(cls.__instance == None):
cls.__instance = Volume()
return cls.__instance
#计算平均成交量
def set_volume_data(self, df, type=1):
if df is not None and df.shape[0] > 0:
# 分别计算5日、10日平均成交量
vol_list = [5, 10]
for vol in vol_list:
df['MAVOL' + str(vol)] = df['volume'].rolling(window=vol, center=False).mean()
df['vol_cross'] = ''
vol_position = df['MAVOL5'] > df['MAVOL10']
df.loc[vol_position[(vol_position == True) & (vol_position.shift() == False)].index, 'vol_cross'] = 'gc'
df.loc[vol_position[(vol_position == False) & (vol_position.shift() == True)].index, 'vol_cross'] = 'dc'
#df.dropna(how='any', inplace=True)#删除所有空行值的数据
return df
#金叉或死叉 gc金叉,dc死叉
def is_cross(self, df, index, crosstype='gc'):
if index < 0 or index > df.shape[0]-1:
return False
cross_ret = {'gc':df.iloc[index]['vol_cross']=='gc', 'dc':df.iloc[index]['vol_cross']=='dc'}
return cross_ret[crosstype]
#是否放量
def is_fangliang(self, df, index):
if index < 0 or index > df.shape[0]-1:
return False
return df.iloc[index]['volume'] >= df.iloc[index+1]['volume']*2.0
#是否缩量
def is_suoliang(self, df, index):
if index < 0 or index > df.shape[0]-1:
return False
return df.iloc[index]['volume']*2.0 <= df.iloc[index+1]['volume']
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。