Ko‘pchilik yangi boshlovchilar texnik indikatorlarni chartdagi “sehrli chiziqlar” deb o‘ylaydi. Ular bir chiziq boshqasidan o‘tishini kutib, "Sotib olish" tugmasini bosadi. Lekin formulani nima uchun ishlashini tushunmasangiz, siz faqat tavakkal qilayotgan bo‘lasiz.

Bugun biz sof mantiqni Python bilan birga qo‘yamiz. Biz $BTC or $ETH uchun RSI (Relative Strength Index) ni hisoblaydigan skript tuzamiz, lekin avval biz nimani aslida kodlayotganimizni tushunib olaylik.

1-qadam: RSI ning konseptual matematikasi

RSI — momentum ossillyatori bo‘lib, narx harakatlarining tezligi va o‘zgarishini o‘lchaydi. U 0 dan 100 gacha oraliqda tebranadi.

An'anaviy:

• 70 dan yuqori: Aktiv "Overbought" (orqaga tortilishga tayyor) deb hisoblanadi.

• 30 dan past: Aktiv "Oversold" (qayta ko'tarilish ehtimoli) deb hisoblanadi.

Lekin nega? RSI ortidagi matematika shunchaki ma'lum vaqt oralig'i (odatda 14 davr) ichidagi oxirgi yutuqlar miqdorini oxirgi zararlar bilan taqqoslaydi.

Agar oxirgi o'sish yopilishlarining o'rtachasi pasayish yopilishlarining o'rtachasidan ancha yuqori bo'lsa, RSI ko'tariladi. Bu xaridor va sotuvchining charchashini ifodalovchi matematik ko'rinish. Biz kelajakni bashorat qilmayapmiz; biz trend qaytishi ehtimolining hozirgi matematik qiymatini hisoblayapmiz.

2-qadam: Python kodi

Buni avtomatik hisoblash uchun ma'lumotni olishda ishonchli ccxt kutubxonasidan foydalanamiz, og'ir matematikani bajarish uchun esa pandas_ta (texnik tahlil kutubxonasi) dan foydalanamiz.

Kerakli kutubxonalarni avval o'rnating: pip install ccxt pandas pandas_ta

Mana RSI ning joriy qiymatini olish uchun toza, konseptual skript: $BTC

import ccxt

import pandas as pd

import pandas_ta as ta

import time

# Sozlamalar

SYMBOL = 'BTC/USDT'

TIMEFRAME = '15m' # 15 daqiqalik shamlar

LIMIT = 100 # 14-davr o'rtachasini hisoblash uchun yetarli shamlar kerak

# Birja (exchange)ni ishga tushirish

exchange = ccxt.binance()

def get_rsi(symbol, timeframe, limit):

try:

# 1. OHLCV ma'lumotlarini olish (Open, High, Low, Close, Volume)

bars = exchange.fetch_ohlcv(symbol, timeframe, limit=limit)

# 2. Pandas DataFrame ga o'zgartirish

df = pd.DataFrame(bars, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])

# 3. Yopilish narxi bo'yicha RSI ni hisoblash (standart length=14)

df.ta.rsi(close='close', length=14, append=True)

# 4. Oxirgi (joriy) RSI qiymatini olish

current_rsi = df['RSI_14'].iloc[-1]

current_price = df['close'].iloc[-1]

return joriy_qiymat, joriy_rsi

Istisno holatini ushlash (e):

print(f"Ma'lumot olishda xato: {e}")

return None, None

# Tekshiruvni ishga tushirish

price, rsi = get_rsi(SYMBOL, TIMEFRAME, LIMIT)

agar rsi:

print(f"Current {SYMBOL} Price: ${price}")

print(f"Joriy RSI (14): {rsi:.2f}")

agar rsi < 30:

print("🚨 MATHEMATIK SIGNAL: RSI 30 dan past (<30). Potensial xarid qilish imkoniyati.")

elif rsi > 70:

print("🚨 MATHEMATIK SIGNAL: RSI 70 dan yuqori (\u003e70). Sotib olish emas, sotish imkoniyati bo'lishi mumkin.")

aks holda:

print("Neytral zona. Kod kutib tursin.")

Nega buni qo'lda savdo qilishdan ko'ra yaxshiroq?

Bu skriptni ishga tushirsangiz (yoki uni avvalgi maqoladagi Telegram boti bilan birlashtirsangiz), his-tuyg'uni butunlay yo'qotasiz. Siz faqat matematik ma'lumotga qat'iy tayanasiz. FOMO yo'q, vahima yo'q.

Siz uchun savol: Kodni $ETH va $SOL ni bir vaqtning o'zida tekshiradigan qilib o'zgartira olasizmi? Ertaga ko'p valyutali versiyani xohlaysizmi—izohlarda ayting! 👇

Eslatma: Bu ta'lim maqsadlari uchun. RSI — bu ehtimolni o'lchash vositasi, kafolat emas. Har doim riskni boshqaring.

BTC
BTCUSDT
81,479.2
+0.26%

#PythonTrading #CryptoMath #RSITrading #BinanceAPI #AlgoTrading #BTC #ETH