def TDX_BOLL(closes):
"""????TDX??????????? ?????
closes: np.ndarray
return: upper, middle, lower
??????BOLL-M
{?? N: 2 250 20 }
MID:=MA(C,N);
#MID:=SMA(C,N,1);
VART1:=POW((C-MID),2);
VART2:=MA(VART1,N);
VART3:=SQRT(VART2);
UPPER:=MID+2*VART3;
LOWER:=MID-2*VART3;
BOLL:REF(MID,1),COLORFFFFFF;
UB:REF(UPPER,1),COLOR00FFFF;
LB:REF(LOWER,1),COLORFF00FF;
"""
closes = np.array(closes)
assert(len(closes)>=20)
n = 20
mid = talib.MA(closes, n)
vart1 = np.zeros(len(closes))
for i, v in np.ndenumerate(closes):
i = i[0]
vart1[i] = pow(closes[i] - mid[i], 2)
vart2 = talib.MA(vart1, n)
vart3 = np.sqrt(vart2)
upper = mid + 2*vart3
lower = mid - 2*vart3
return upper, mid, lower
评论列表
文章目录