Numpy .arange: ValueError: Значение истинности массива с более чем одним элементом является неоднозначным. Используйте a.any () или a.all () - PullRequest
0 голосов
/ 21 марта 2020

Вот где current_pat определен в коде.

    current_idx = idx[-6:]

    current_pat = price[current_idx]

    XA = current_pat[1] - current_pat[0]
    AB = current_pat[2] - current_pat[1]
    BC = current_pat[3] - current_pat[2]
    CD = current_pat[4] - current_pat[3]

    XD = np.arange(current_pat[0],current_pat[4])
    AC = np.arange(current_pat[1],current_pat[3])

    XD_range = np.array([np.mean(XD,dtype=int) - err_allowedHAS, np.mean(XD,dtype=int) + err_allowedHAS])
    AC_range = np.array([np.mean(AC,dtype=int) - err_allowedHAS, np.mean(AC,dtype=int) + err_allowedHAS])

здесь моя ошибка. Я, честно говоря, не уверен, почему это произошло

  File "C:\Users\Owner\Desktop\TradingAlgorithm\TraditionalFunctions.py", line 30, in isHeadAndShoulders
    XD = np.arange(current_pat[0],current_pat[4])
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

1 Ответ

0 голосов
/ 21 марта 2020

Из вашего сообщения об ошибке я предполагаю, что один или оба объекта current_pat[0] / current_pat[4] не являются числами. Print(current_pat[0], current_pat[4]) чтобы узнать, какие из этих объектов не являются числами. Так как вы не предоставили код для создания объекта, вызывающего вашу ошибку, мы не можем предоставить более точную c помощь для решения вашей проблемы. Документация для np.arange() объясняет, какие аргументы ожидает функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...