Files
easy_tdx_max/src/easy_tdx/MyTT.pyi
T

193 lines
7.9 KiB
Python

"""Type stubs for MyTT technical indicator library.
Provides type annotations for the MyTT functions used in easy_tdx.
All indicator functions accept numpy arrays and return numpy arrays.
"""
from __future__ import annotations
import numpy as np
import numpy.typing as npt
NDArray = npt.NDArray[np.float64]
# ── Moving Averages ──────────────────────────────────────────────────────────
def MA(S: npt.ArrayLike, N: int) -> NDArray: ...
def EMA(S: npt.ArrayLike, N: int) -> NDArray: ...
def SMA(S: npt.ArrayLike, N: int, M: int = ...) -> NDArray: ...
def WMA(S: npt.ArrayLike, N: int) -> NDArray: ...
def DMA(S: npt.ArrayLike, A: npt.ArrayLike) -> NDArray: ...
# ── MACD / Momentum ─────────────────────────────────────────────────────────
def MACD(
CLOSE: npt.ArrayLike,
SHORT: int = ...,
LONG: int = ...,
M: int = ...,
) -> tuple[NDArray, NDArray, NDArray]: ...
def RSI(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def MTM(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def ROC(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def OBV(CLOSE: npt.ArrayLike, VOL: npt.ArrayLike) -> NDArray: ...
# ── Bollinger / Envelope ────────────────────────────────────────────────────
def BOLL(
CLOSE: npt.ArrayLike,
N: int = ...,
P: float = ...,
) -> tuple[NDArray, NDArray, NDArray]: ...
# ── Trend Indicators ────────────────────────────────────────────────────────
def ATR(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ...) -> NDArray: ...
def DMI(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
M: int = ...,
N: int = ...,
) -> tuple[NDArray, NDArray, NDArray, NDArray]: ...
def KDJ(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
M1: int = ...,
M2: int = ...,
) -> tuple[NDArray, NDArray, NDArray]: ...
def WR(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ...) -> NDArray: ...
def CCI(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ...) -> NDArray: ...
def TRIX(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
# ── Volume Indicators ───────────────────────────────────────────────────────
def VR(
CLOSE: npt.ArrayLike,
VOL: npt.ArrayLike,
N: int = ...,
) -> NDArray: ...
def MFI(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, VOL: npt.ArrayLike, N: int = ...) -> NDArray: ...
def EMV(HIGH: npt.ArrayLike, LOW: npt.ArrayLike, VOL: npt.ArrayLike, N: int = ...) -> NDArray: ...
# ── Other Indicators ────────────────────────────────────────────────────────
def ASI(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, OPEN: npt.ArrayLike, N: int = ...) -> NDArray: ...
def BBI(CLOSE: npt.ArrayLike, N1: int = ..., N2: int = ..., N3: int = ..., N4: int = ...) -> NDArray: ...
def BIAS(CLOSE: npt.ArrayLike, N1: int = ..., N2: int = ..., N3: int = ...) -> tuple[NDArray, NDArray, NDArray]: ...
def BIAS_SIGNAL(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def BRAR(OPEN: npt.ArrayLike, CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ...) -> tuple[NDArray, NDArray]: ...
def CR(HIGH: npt.ArrayLike, LOW: npt.ArrayLike, CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def DFMA(CLOSE: npt.ArrayLike, N1: int = ..., N2: int = ...) -> tuple[NDArray, NDArray]: ...
def DPO(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def EXPMA(CLOSE: npt.ArrayLike, N1: int = ..., N2: int = ...) -> tuple[NDArray, NDArray]: ...
def KTN(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ..., M: int = ...) -> tuple[NDArray, NDArray, NDArray]: ...
def MASS(HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N1: int = ..., N2: int = ...) -> NDArray: ...
def PSY(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def TAQ(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def XSII(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, N: int = ...) -> NDArray: ...
def ZHUOYAO(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, VOL: npt.ArrayLike) -> NDArray: ...
def SAR(HIGH: npt.ArrayLike, LOW: npt.ArrayLike, AF_STEP: float = ..., AF_MAX: float = ...) -> NDArray: ...
def VWAP(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
VOL: npt.ArrayLike,
N: int = ...,
) -> NDArray: ...
def AROON(
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
) -> tuple[NDArray, NDArray, NDArray]: ...
def FK(CLOSE: npt.ArrayLike) -> NDArray: ...
def FSL(
CLOSE: npt.ArrayLike,
VOL: npt.ArrayLike,
CAPITAL: float,
) -> tuple[NDArray, NDArray]: ...
# ── V4.3 无未来函数指标 ─────────────────────────────────────────────────────
def HMA(S: npt.ArrayLike, N: int = ...) -> NDArray: ...
def KAMA(S: npt.ArrayLike, N: int = ..., FAST: int = ..., SLOW: int = ...) -> NDArray: ...
def SUPERTREND(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
M: float = ...,
) -> tuple[NDArray, npt.NDArray[np.int32]]: ...
def CHANDELIER(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
M: int = ...,
K: float = ...,
) -> tuple[NDArray, NDArray]: ...
def ICHIMOKU(
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
CLOSE: npt.ArrayLike,
P1: int = ...,
P2: int = ...,
P3: int = ...,
SHIFT: int = ...,
) -> tuple[NDArray, NDArray, NDArray, NDArray, NDArray]: ...
def UOS(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
P1: int = ...,
P2: int = ...,
P3: int = ...,
M: int = ...,
) -> tuple[NDArray, NDArray]: ...
def CMO(CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def TSI(
CLOSE: npt.ArrayLike,
R: int = ...,
S: int = ...,
M: int = ...,
) -> tuple[NDArray, NDArray]: ...
def FISHER(
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
) -> tuple[NDArray, NDArray]: ...
def SQUEEZE(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
N: int = ...,
BB: float = ...,
KC: float = ...,
) -> tuple[npt.NDArray[np.bool_], NDArray]: ...
def CHOP(HIGH: npt.ArrayLike, LOW: npt.ArrayLike, CLOSE: npt.ArrayLike, N: int = ...) -> NDArray: ...
def AD(CLOSE: npt.ArrayLike, HIGH: npt.ArrayLike, LOW: npt.ArrayLike, VOL: npt.ArrayLike) -> NDArray: ...
def CMF(
CLOSE: npt.ArrayLike,
HIGH: npt.ArrayLike,
LOW: npt.ArrayLike,
VOL: npt.ArrayLike,
N: int = ...,
) -> NDArray: ...
def EFI(CLOSE: npt.ArrayLike, VOL: npt.ArrayLike, N: int = ...) -> NDArray: ...
def BBP(CLOSE: npt.ArrayLike, N: int = ..., P: float = ...) -> NDArray: ...
def BBW(CLOSE: npt.ArrayLike, N: int = ..., P: float = ...) -> NDArray: ...
# ── Utility Functions ────────────────────────────────────────────────────────
def CROSS(A: npt.ArrayLike, B: npt.ArrayLike) -> NDArray: ...
def HHV(S: npt.ArrayLike, N: int) -> NDArray: ...
def LLV(S: npt.ArrayLike, N: int) -> NDArray: ...
def REF(S: npt.ArrayLike, N: int) -> NDArray: ...
def SUM(S: npt.ArrayLike, N: int) -> NDArray: ...
def COUNT(S: npt.ArrayLike, N: int) -> NDArray: ...
def STD(S: npt.ArrayLike, N: int) -> NDArray: ...