12.12.2025 tarihinde sembol BOME hakkında Teknik mansour65horzadeh analizi
import pandas as pd import numpy as np import matplotlib.pyplot

pandaları pd olarak içe aktar numpy'yi np olarak içe aktar matplotlib.pyplot'u plt olarak içe aktar yfinance'ı yf olarak içe aktar tarihsaatten tarihsaati içe aktar # Geçmiş verileri alın (örnek: Bitcoin) symbol = "BTC-USD" başlangıç_tarihi = "2023-01-01" end_date = datetime.now().strftime("%Y-%m-%d") data = yf.download(sembol, başlangıç=başlangıç_tarihi, bitiş=bitiş_tarihi) df = data [ ['Kapat']].kopya() #1. Hareketli ortalamayı (MA) hesaplayın def hesapla_ma(df, pencere=20): df [f'MA_{pencere}'] = df ['Kapat'].rolling(pencere=pencere).mean() df geri dön df = hesapla_ma(df, pencere=20) df = hesapla_ma(df, pencere=50) #2. RSI hesaplaması def hesapla_rsi(df, pencere=14): delta = df ['Kapat'].diff() kazanç = (delta.where(delta > 0, 0)).rolling(window=window).mean() kayıp = (-delta.where(delta < 0, 0)).rolling(window=window).mean() rs = kazanç / kayıp df ['RSI'] = 100 - (100 / (1 + rs)) df'e dön df = hesapla_rsi(df, pencere=14) #3. MACD hesaplaması def hesapla_macd(df, hızlı=12, yavaş=26, sinyal=9): df ['EMA_fast'] = df ['Kapat'].ewm(span=hızlı, ayar=Yanlış).mean() df ['EMA_yavaş'] = df ['Kapat'].ewm(span=yavaş, ayar=Yanlış).mean() df ['MACD'] = df ['EMA_fast'] - df ['EMA_yavaş'] df ['Sinyal_Hattı'] = df ['MACD'].ewm(span=sinyal, ayar=Yanlış).mean() df ['MACD_Histogram'] = df ['MACD'] - df ['Sinyal_Hattı'] geri dön df df = hesapla_macd(df) #4. Diyagram çizin fig, axes = plt.subplots(4, 1, figsize=(14, 10), gridspec_kw={'height_ratios': [3, 1, 1, 1]}) # Fiyat tablosu ve MA eksenler [0].plot(df.index, df ['Kapat'], label='Kapanış Fiyatı', renk='siyah', çizgi genişliği=1) eksenler [0].plot(df.index, df ['MA_20'], label='MA 20', color='mavi', çizgi genişliği=1) eksenler [0].plot(df.index, df ['MA_50'], label='MA 50', renk='kırmızı', çizgi genişliği=1) eksenler [0].set_title(f'{symbol} - Fiyat ve Hareketli Ortalamalar') eksenler [0].efsane() eksenler [0].grid(Doğru) # RSI grafiği eksenler [1].plot(df.index, df ['RSI'], label='RSI (14)', renk='mor', çizgi genişliği=1) eksenler [1].axhline(y=70, renk='kırmızı', çizgi stili='--', çizgi genişliği=0,7) eksenler [1].axhline(y=30, renk='yeşil', çizgi stili='--', çizgi genişliği=0,7) eksenler [1].fill_between(df.index, 30, 70, alpha=0,1, color='gray') eksenler [1].set_title('RSI Göstergesi') eksenler [1].efsane() eksenler [1].grid(Doğru) # MACD ve Sinyal Hattı grafiği eksenler [2].plot(df.index, df ['MACD'], etiket='MACD', renk='mavi', çizgi genişliği=1) eksenler [2].plot(df.index, df ['Signal_Line'], label='Sinyal Hattı', renk='kırmızı', çizgi genişliği=1) eksenler [2].set_title('MACD Göstergesi') eksenler [2].efsane() eksenler [2].grid(Doğru) # MACD histogram grafiği eksenler [3].bar(df.index, df ['MACD_Histogram'], label='MACD Histogram', color='gri') eksenler [3].axhline(y=0, renk='siyah', çizgi genişliği=0,5) eksenler [3].set_title('MACD Histogramı') eksenler [3].efsane() eksenler [3].grid(Doğru) plt.tight_layout() plt.show() #5. Son veri tablosunu göster yazdır(df [ ['Kapat', 'MA_20', 'MA_50', 'RSI', 'MACD', 'Signal_Line']].tail(10))
