Код: Выделить всё
df['Highs'] = (df['High'] > df['High'].shift(1)) & (df['High'] > df['High'].shift(2)) & (df['High'] > df['High'].shift(-1)) & (df['High'] > df['High'].shift(-2)), 1, 0)
df['Lows'] = (df['Low'] < df['Low'].shift(1)) & (df['Low'] < df['Low'].shift(2)) & (df['Low'] < df['Low'].shift(-1)) & (df['Low'] < df['Low'].shift(-2)), 1, 0)
Итак, основная причина, по которой я пытаюсь найти максимумы и минимумы, — это Lows — это виртуальное рисование линии тренда и отображение оповещения, когда новая цена пересекает линию высокого сопротивления или пересекает линию поддержки, если таковая существует в этой точке.
Я действительно не нужно рисовать и строить эти линии. Все, что мне нужно, это обнаружить пересечение сверху и снизу.
Позвольте мне объяснить, как я хотел бы это использовать:
Прежде всего, я уточню временные рамки. Я работаю над 5-минутными историческими/внутридневными данными. Когда я получаю цены нового бара, я хочу проверить, пересекает ли цена закрытия нового бара какую-либо линию тренда на графике. Опять же это виртуальная линия. Так что все, что мне нужно, это виртуально соединить максимумы и минимумы друг с другом. Я не хочу их замышлять. Скрипт проверит все высокие и низкие точки и определит, пересекает ли он эти линии.
Вот скриншот, чтобы дать вам представление.

Подробнее здесь: https://stackoverflow.com/questions/504 ... -in-python