需要帮助正确计算STC(schaff趋势周期)并使用pandas和plotly绘制图表

2024-10-04 09:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用fintas方程来绘制STC

    period_fast = 23
    period_slow = 50
    period = 10

    EMA_fast = pd.Series(
        ohlc["close"].ewm(ignore_na=False, span=period_fast, adjust=adjust).mean(),
        name="EMA_fast",
    )

    EMA_slow = pd.Series(
        ohlc["close"].ewm(ignore_na=False, span=period_slow, adjust=adjust).mean(),
        name="EMA_slow",
    )

    MACD = pd.Series((EMA_fast - EMA_slow), name="MACD")
    STOK = (
        (MACD - MACD.rolling(window=period).min())
        / (MACD.rolling(window=period).max() - MACD.rolling(window=period).min())
    ) * 100
    STOD = STOK.rolling(window=period).mean()

    return pd.Series(
        100 * (MACD - (STOK * MACD)) / ((STOD * MACD) - (STOK * MACD)),
        name="{0} period STC.".format(period),
    )

我从以下位置获取数据:https://api.binance.com/api/v3/klines?symbol=BTCUSDC&interval=1h

查看ERDBTC,您可以看到值应该在0到100之间 ERDBTC with STC graphed

但是,我得到的值低于0,远远高于100。当我绘制它时,我得到: Plotly Graph of STC

我想知道,为了能够绘制STC图,我是否缺少一些东西?这些值是否正常,并且图形脚本以某种方式将其转换为0-100之间的图形? 我已经正确地输入了数据,因为我可以正确地绘制烛台:Candlestick

我只是觉得STC有点问题


Tags: name绘制windowmeanperiodseriespdfast