
mansour65horzadeh
@t_mansour65horzadeh
Ne tavsiye etmek istersiniz?
önceki makale
پیام های تریدر
filtre
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))
Sorumluluk Reddi
Sahmeto'nun web sitesinde ve resmi iletişim kanallarında yer alan herhangi bir içerik ve materyal, kişisel görüşlerin ve analizlerin bir derlemesidir ve bağlayıcı değildir. Borsa ve kripto para piyasasına alım, satım, giriş veya çıkış için herhangi bir tavsiye oluşturmazlar. Ayrıca, web sitesinde ve kanallarda yer alan tüm haberler ve analizler, yalnızca resmi ve gayri resmi yerli ve yabancı kaynaklardan yeniden yayınlanan bilgilerdir ve söz konusu içeriğin kullanıcılarının materyallerin orijinalliğini ve doğruluğunu takip etmekten ve sağlamaktan sorumlu olduğu açıktır. Bu nedenle, sorumluluk reddedilirken, sermaye piyasası ve kripto para piyasasındaki herhangi bir karar verme, eylem ve olası kar ve zarar sorumluluğunun yatırımcıya ait olduğu beyan edilir.