Crypto Python
817 subscribers
448 photos
26 files
455 links
Алготрейдинг 🤖 , работа с API бирж и агрегаторов 🌐 , автоматизации в крипто сфере📈 🚀
Ваши предложения📝 @binance_de
Download Telegram
Channel created
📌 RSI Scanner, который находит криптовалютные пары с перепроданным (RSI < 30) и перекупленным (RSI > 70) состоянием.

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🔥72
📌 Торговля по индексу страха и жадности (Fear & Greed Index)

Индекс страха и жадности (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🐳21