def KDJ_DATA(self, context, security, freq = 'D', data={}, dataCount=1):
#sma target round2
precision = 40
high, low, close = self.GET_PERIOD_DATA(context, security, freq, data, dataCount+precision)
if np.isnan(close[-1]):
return np.array([np.nan]),np.array([np.nan]),np.array([np.nan])
#K_V, D_V, J_V = self.KDJ_CN(high, low, close)
K_V, D_V, J_V = self.KDJ_COM(high, low, close)
if len(K_V) > precision:
K_V = K_V[precision:]
D_V = D_V[precision:]
J_V = J_V[precision:]
else:
#print "security:%s no len data precison %s" %(str(security), len(K_V))
pass
decimal.getcontext().rounding=decimal.ROUND_HALF_UP
K_V = np.array([float(decimal.Decimal(s).quantize(decimal.Decimal('0.00'))) for s in K_V])
D_V = np.array([float(decimal.Decimal(s).quantize(decimal.Decimal('0.00'))) for s in D_V])
J_V = np.array([float(decimal.Decimal(s).quantize(decimal.Decimal('0.00'))) for s in J_V])
return K_V, D_V, J_V
评论列表
文章目录