📌 RSI Scanner, который находит криптовалютные пары с перепроданным (RSI < 30) и перекупленным (RSI > 70) состоянием.
RSI (Индекс относительной силы) — это технический индикатор, измеряющий скорость и силу изменения цены актива. Он показывает, находится ли актив в зоне перекупленности или перепроданности, и помогает трейдерам находить потенциальные развороты.👨💻
#индикатор
📌 Подпишись Crypto Python❗️
RSI (Индекс относительной силы) — это технический индикатор, измеряющий скорость и силу изменения цены актива. Он показывает, находится ли актив в зоне перекупленности или перепроданности, и помогает трейдерам находить потенциальные развороты.
import ccxt
import talib
import pandas as pd
# Параметры сканера
EXCHANGE_NAME = "binance" # Название биржи
TIMEFRAME = "1h" # Таймфрейм (1 час)
RSI_PERIOD = 14 # Период RSI
TOP_N_PAIRS = 20 # Количество пар для анализа
# Инициализация CCXT
exchange = getattr(ccxt, EXCHANGE_NAME)()
exchange.load_markets()
# Получаем список популярных пар (например, USDT)
def get_top_pairs():
tickers = exchange.fetch_tickers()
usdt_pairs = [symbol for symbol in tickers.keys() if "/USDT" in symbol]
return usdt_pairs[:TOP_N_PAIRS] # Ограничиваем количество пар
# Получаем исторические данные
def fetch_ohlcv(symbol):
try:
ohlcv = exchange.fetch_ohlcv(symbol, timeframe=TIMEFRAME, limit=RSI_PERIOD + 1)
df = pd.DataFrame(ohlcv, columns=["timestamp", "open", "high", "low", "close", "volume"])
return df
except Exception as e:
print(f"Ошибка при загрузке данных для {symbol}: {e}")
return None
# Рассчитываем RSI
def calculate_rsi(df):
if df is None or len(df) < RSI_PERIOD:
return None
return talib.RSI(df["close"], timeperiod=RSI_PERIOD).iloc[-1]
# Основной сканер
def rsi_scanner():
pairs = get_top_pairs()
rsi_results = []
for pair in pairs:
df = fetch_ohlcv(pair)
rsi_value = calculate_rsi(df)
if rsi_value is not None:
rsi_results.append((pair, rsi_value))
# Отображаем результаты
overbought = [p for p in rsi_results if p[1] > 70]
oversold = [p for p in rsi_results if p[1] < 30]
print("\n🔹 **Перекупленные активы (RSI > 70):**")
for pair, rsi in overbought:
print(f"{pair}: {rsi:.2f}")
print("\n🔹 **Перепроданные активы (RSI < 30):**")
for pair, rsi in oversold:
print(f"{pair}: {rsi:.2f}")
# Запуск сканера
if __name__ == "__main__":
rsi_scanner()
#индикатор
📌 Подпишись Crypto Python❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7❤2
📌 Торговля по индексу страха и жадности (Fear & Greed Index)
Индекс страха и жадности (Fear & Greed Index, FGI) — это показатель, который отражает настроение участников рынка. Он варьируется от 0 (максимальный страх) до 100 (максимальная жадность) и помогает трейдерам определять, когда рынок находится в экстремальных состояниях.
Как интерпретировать индекс?
0-25 (экстремальный страх) → Трейдеры паникуют, массово продают, рынок может быть перепродан.
Возможность покупки (LONG).
25-50 (страх) → Настроения негативные, но не экстремальные.
50-75 (жадность) → Оптимизм, но рынок еще не перегрет.
75-100 (экстремальная жадность) → Все покупают, рынок может быть перекуплен.
Возможность фиксации прибыли или открытия SHORT.👨💻
#индикатор
📌 Подпишись Crypto Python❗️
Индекс страха и жадности (Fear & Greed Index, FGI) — это показатель, который отражает настроение участников рынка. Он варьируется от 0 (максимальный страх) до 100 (максимальная жадность) и помогает трейдерам определять, когда рынок находится в экстремальных состояниях.
Как интерпретировать индекс?
0-25 (экстремальный страх) → Трейдеры паникуют, массово продают, рынок может быть перепродан.
Возможность покупки (LONG).
25-50 (страх) → Настроения негативные, но не экстремальные.
50-75 (жадность) → Оптимизм, но рынок еще не перегрет.
75-100 (экстремальная жадность) → Все покупают, рынок может быть перекуплен.
Возможность фиксации прибыли или открытия SHORT.
import requests
import ccxt
import pandas as pd
import talib
# Параметры
EXCHANGE_NAME = "binance"
PAIR = "BTC/USDT"
TIMEFRAME = "1h"
RSI_PERIOD = 14
FGI_URL = "https://api.alternative.me/fng/?limit=1"
# Инициализация биржи
exchange = getattr(ccxt, EXCHANGE_NAME)()
exchange.load_markets()
# Функция получения индекса страха и жадности
def get_fear_greed_index():
response = requests.get(FGI_URL).json()
fgi_value = int(response["data"][0]["value"])
return fgi_value
# Получаем исторические свечи
def fetch_ohlcv(symbol):
ohlcv = exchange.fetch_ohlcv(symbol, timeframe=TIMEFRAME, limit=RSI_PERIOD + 1)
df = pd.DataFrame(ohlcv, columns=["timestamp", "open", "high", "low", "close", "volume"])
return df
# Рассчитываем RSI
def calculate_rsi(df):
return talib.RSI(df["close"], timeperiod=RSI_PERIOD).iloc[-1]
# Основная логика
def trade_strategy():
fgi = get_fear_greed_index()
df = fetch_ohlcv(PAIR)
rsi = calculate_rsi(df)
print(f"Fear & Greed Index: {fgi}, RSI: {rsi:.2f}")
# Лонг при страхе и подтверждении RSI
if fgi < 25 and rsi < 30:
print(f"📈 BUY SIGNAL (Fear {fgi}, RSI {rsi:.2f})")
# Шорт при жадности и подтверждении RSI
elif fgi > 75 and rsi > 70:
print(f"📉 SELL SIGNAL (Greed {fgi}, RSI {rsi:.2f})")
# Запуск
if __name__ == "__main__":
trade_strategy()
#индикатор
📌 Подпишись Crypto Python❗️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7🐳2❤1