def donchian(
self, n: int, array: bool = False
) -> Union[
Tuple[np.ndarray, np.ndarray],
Tuple[float, float]
]:
"""
Donchian Channel.
"""
up: np.ndarray = talib.MAX(self.high, n)
down: np.ndarray = talib.MIN(self.low, n)
if array:
return up, down
return up[-1], down[-1]
Union 是 Python 的类型提示库中的一个类型,用来表示可能是多种类型之一。在这里,Union[Tuple[np.ndarray, np.ndarray], Tuple[float, float]] 表示返回值可能是一个包含两个 numpy 数组的元组,或者是一个包含两个浮点数的元组。
talib.MAX(self.high, n) 和 talib.MIN(self.low, n) 是调用的 TA-Lib 库中的函数,这些函数会返回一个 numpy 数组,所以可以直接赋值给 np.ndarray 类型的变量。