Как добавить индикатор RSI к вашему алгоритмическому торговому роботу Python

Если вы являетесь трейдером FOREX или Crypto и ищете способы повысить уровень своих стратегий ботов для алгоритмической торговли, рассмотрите индикатор относительной силы (RSI). Индикатор RSI может помочь определить условия перекупленности и перепроданности, помогая вам создавать более эффективные стратегии покупки и продажи активов.

В этой статье я расскажу вам, что такое индикатор RSI, как он работает, а затем дам вам код, чтобы добавить его в вашего робота для автоматической торговли.

Что такое индикатор RSI?

Индикатор Индекс относительной силы измеряет импульс движения цены. Индикатор, разработанный Дж. Уэллсом Уайлдером-младшим и представленный в его основополагающей книге Новые концепции технических торговых систем (1978), помогает трейдерам определять потенциальные тренды. Многие трейдеры используют RSI для определения перекупленности и перепроданности активов, для обозначения активов, готовых к развороту тренда, и когда покупать и продавать различные активы.

Как работает RSI?

RSI — это индикатор импульса, который отображает осциллятор по шкале от нуля до 100. Это число рассчитывается путем сравнения силы актива, когда цены растут, с силой актива, когда цены падают, обычно за 14-периодный период.

Многие трейдеры считают, что значение RSI выше 70 указывает на перекупленность актива, а значение RSI ниже 30 указывает на перепроданность актива.

Выраженный в виде формулы, RSI рассчитывается следующим образом:

Как я могу использовать RSI в своем торговом роботе Algo?

Знание того, как работает RSI, дает некоторые мощные возможности для вашего алгоритмического торгового бота.

Вот несколько различных способов его использования:

  1. Предоставление сигнала КУПИТЬ или ПРОДАТЬ вашему торговому роботу на основе значения RSI
  2. Динамически изменяющиеся алгоритмы на основе значений RSI
  3. Сочетание RSI с другими индикаторами, такими как Doji Star или EMA

P.S. Если вы ищете способы сделать это и многое другое, почему бы не подписаться на меня на Medium или не присоединиться к моему каналу AlgoQuant_trade на YouTube? Я покажу вам, как сделать все это и многое другое.

Как добавить RSI к моему торговому роботу Algo?

Чтобы добавить RSI к вашему алгоритмическому торговому боту или боту криптовалюты, сделайте следующее:

Шаг 1: Установите TA-Lib

TA-Lib — это первоклассная библиотека индикаторного анализа для любого вида технического анализа. Он невероятно быстрый, мощный и используется многими ведущими трейдерами и платформами мира.

Установка довольно проста (хотя и требует немного времени). Я включил пять основных шагов ниже:

  1. Скачать TA-Lib отсюда
  2. Разархивируйте и переместите в C:\
  3. Получите и установите инструменты сборки Windows (это занимает больше всего времени!)
  4. Скомпилировать TA-Lib
  5. Установить pip install TA-Lib

Если вы ищете более подробное руководство, включая распространенные сообщения об ошибках, вот ссылка на сообщение на эту тему.

Шаг 2: Добавьте код в свою библиотеку индикаторов

Имя файла: rsi.py

import talib

def rsi(dataframe, period=14):
    """
    Function to calculate the RSI indicator. More details can be found here:
    :param dataframe: dataframe object where the RSI should be calculated on
    :param period: period for the RSI calculation
    :param display: boolean to determine whether the RSI should be displayed on the graph
    :param fig: plotly figure object to add the RSI to
    :return: dataframe with RSI column added
    """
    # Copy the dataframe
    dataframe = dataframe.copy()
    # Add RSI column to dataframe
    dataframe['rsi'] = 0
    # Calculate RSI on dataframe
    dataframe['rsi'] = talib.RSI(dataframe['close'], timeperiod=period)
    return dataframe

Шаг 3: Используйте функцию

Вот как работает функция:

  1. Передайте функции кадр данных со столбцом, содержащим close значения каждой свечи. Фрейм данных может быть произвольного размера — я протестировал его до 50 000 свечей без заметной задержки.
  2. Функция вернет кадр данных со столбцом rsi. Этот столбец будет содержать значение RSI для этого фрейма данных.
  3. Добавьте логику принятия решений в вашего робота для алгоритмической торговли

Используйте бота для автотрейдинга AlgoQuant

Вы также можете использовать AlgoQuant AutoTrading Bot с открытым исходным кодом. Установите его с GitHub, затем выполните одну из следующих команд:

  1. Чтобы получить фрейм данных символа из MetaTrader: python .\main.py --Exchange 'metatrader' --rsi -timeframe "M30" --symbol "USDJPY.a"
  2. Чтобы добавить в Plotly Graph (отлично подходит для изучения данных):
python .\main.py --Exchange "metatrader" --Explore --rsi --timeframe "M30" --sym

Наслаждаться!

Don't forget to follow me on Medium or sign up to my YouTube channel as I 
continue to demonstrate practical ways to build your very own algorithmic 
trading bot.