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.

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