Требуется помощь, чтобы правильно рассчитать ST C (цикл тренда Шаффа) и построить его график с использованием pandas и построить график. - PullRequest
1 голос
/ 13 июля 2020

Я пытался построить график ST C, используя уравнение fintas .

    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

Глядя на ERDBT C, вы можете видеть, что значения должны быть от 0 до 100 ERDBT C с ST C на графике

Однако я получаю значения ниже 0 и очень намного больше 100. Когда я строю график, я получаю следующее: Графический график ST C

Мне интересно, есть ли что-то, чего мне не хватает, чтобы иметь возможность построить график ST C? Возможно, значения нормальные, и сценарий построения графиков каким-то образом превращает их в график от 0 до 100? Я правильно ввел данные, так как могу правильно построить свечи: Подсвечник

Кажется, у меня просто проблема с ST C

...