mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 14:34:18 +08:00
193 lines
7.9 KiB
Python
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: ...
|