Стратегия RSI BB SMA — это популярный подход к техническому анализу, используемый трейдерами и инвесторами для определения потенциальных возможностей покупки и продажи на финансовых рынках.

Это комбинация трех ключевых индикаторов, а именно индекса относительной силы (RSI), полос Боллинджера (BB) и простой скользящей средней (SMA). В этой статье мы объясним концепции этих индикаторов и покажем вам, как реализовать стратегию RSI BB SMA на Python.

Индекс относительной силы — это осциллятор импульса, который измеряет силу движения цены финансового инструмента.

Полосы Боллинджера — это индикатор волатильности, который строит скользящую среднюю и две линии стандартного отклонения выше и ниже скользящей средней.

Простое скользящее среднее — это широко используемый технический индикатор, который рассчитывает среднюю цену финансового инструмента за определенное количество периодов.

df['RSI']=ta.momentum.rsi(close=df['close'], window=14,fillna= True)
df['SMA']=((ta.trend.sma_indicator(close=df['close'], window=11,fillna= True))
df['bol_medium'] = (ta.volatility.bollinger_mavg(df['close'], window=20) ))

Вот код для реализации стратегии RSI BB SMA в Python.

for i in range(0, len(df)):    
    if (df.iloc[i]['SMA2'] < df.iloc[i]['bol_medium']) and (df.iloc[i]['RSI']  < 50):
        signals.append(-1)
    elif (df.iloc[i]['SMA2'] > df.iloc[i]['bol_medium']) and (df.iloc[i]['RSI']  > 50):
        signals.append(1)
    else:
        signals.append(0)

После тестирования стратегии ChatGPT в ETHUSDT за все время, в часовом таймфрейме, вложив 1000$, мы заработали за 5 лет 508 662$

Вот код Backtest, используемый в БУДУЩЕМ:

df["signal"] = signals
print(signals)
investment = 1000
current_investment = 1000
invested_amount = 0
fees = 0
profit = 0
is_invested = 0
best_trade = -99999999
worst_trade = 99999999
largest_loss = 0
largest_gain = 0
total_trades = 0

for i in range(500, len(df)):
    signal = df.iloc[i]['signal'] 
    close = df.iloc[i]['close']

    if signal == 1 and is_invested == 0:  # Long signal and no position
        entry_point = close
        quantity = (current_investment / close)
        invested_amount = quantity * close
        is_invested = 1
    elif signal == -1 and is_invested == 0:  # Short signal and no position
        entry_point = close
        quantity = (current_investment / close)
        invested_amount = quantity * close
        is_invested = -1
    elif signal == -1 and is_invested == 1 :  # Close long position for short signal
        profit = quantity * (- entry_point + close)
        current_investment += profit
        invested_amount = 0
        total_trades += 1
        if profit > largest_gain:
            largest_gain = profit
        if profit < largest_loss:
            largest_loss = profit
        if profit > best_trade:
            best_trade = profit
        if profit < worst_trade:
            worst_trade = profit
        entry_point = close
        quantity = (current_investment / close)
        invested_amount = quantity * close        
        is_invested = -1
    elif signal == 1 and is_invested == -1:  # Close short position for long signal
        profit = quantity * ( - close + entry_point)
        current_investment += profit
        invested_amount = 0
        total_trades += 1
        if profit > largest_gain:
            largest_gain = profit
        if profit < largest_loss:
            largest_loss = profit
        if profit > best_trade:
            best_trade = profit
        if profit < worst_trade:
            worst_trade = profit
        entry_point = close
        quantity = (current_investment / close)
        invested_amount = quantity * close   
        is_invested = 1
    else: 
        pass
        
final_profit = current_investment - investment
print("Final Profit: ", final_profit)
print("Best Trade: ", best_trade)
print("Worst Trade: ", worst_trade)
print("Largest Loss: ", largest_loss)
print("Largest Gain: ", largest_gain)
print("Total Trades: ", total_trades)

Стратегия RSI BB SMA — это мощный подход к техническому анализу, который сочетает в себе силу трех ключевых индикаторов для определения потенциальных возможностей покупки и продажи на финансовых рынках. Используя библиотеки pandas и ta, легко реализовать стратегию RSI BB SMA на Python.

Однако важно помнить, что технический анализ не должен быть единственным подходом, используемым для принятия инвестиционных решений, и что также необходимо глубокое понимание финансовых рынков и базовых активов.