import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Örnek veri seti oluşturma (Bu kısmı kendi veri setinize göre düzenleyebilirsiniz)
dates = pd.date_range('2023-01-01', periods=100)
prices = np.random.rand(100) * 100
data = pd.DataFrame({'Date': dates, 'Close': prices})
data.set_index('Date', inplace=True)
# Hareketli ortalamaları hesaplama
short_window = 20
long_window = 50
data['SMA20'] = data['Close'].rolling(window=short_window, min_periods=1).mean()
data['SMA50'] = data['Close'].rolling(window=long_window, min_periods=1).mean()
# Al-sat sinyalleri oluşturma
data['Signal'] = 0.0
data['Signal'][short_window:] = np.where(data['SMA20'][short_window:] > data['SMA50'][short_window:], 1.0, 0.0)
data['Position'] = data['Signal'].diff()
# Al-sat noktalarını belirleme
buy_signals = data[data['Position'] == 1]
sell_signals = data[data['Position'] == -1]
# Veriyi görselleştirme
plt.figure(figsize=(14, 7))
plt.plot(data['Close'], label='Fiyat', alpha=0.5)
plt.plot(data['SMA20'], label='20 Günlük SMA', alpha=0.75)
plt.plot(data['SMA50'], label='50 Günlük SMA', alpha=0.75)
plt.scatter(buy_signals.index, buy_signals['Close'], label='Al', marker='^', color='g', alpha=1)
plt.scatter(sell_signals.index, sell_signals['Close'], label='Sat', marker='v', color='r', alpha=1)
plt.title('Basit Hareketli Ortalama Kesişim Stratejisi')
plt.xlabel('Tarih')
plt.ylabel('Fiyat')
plt.legend()
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# Örnek veri seti oluşturma (Bu kısmı kendi veri setinize göre düzenleyebilirsiniz)
dates = pd.date_range('2023-01-01', periods=100)
prices = np.random.rand(100) * 100
data = pd.DataFrame({'Date': dates, 'Close': prices})
data.set_index('Date', inplace=True)
# Hareketli ortalamaları hesaplama
short_window = 20
long_window = 50
data['SMA20'] = data['Close'].rolling(window=short_window, min_periods=1).mean()
data['SMA50'] = data['Close'].rolling(window=long_window, min_periods=1).mean()
# Al-sat sinyalleri oluşturma
data['Signal'] = 0.0
data['Signal'][short_window:] = np.where(data['SMA20'][short_window:] > data['SMA50'][short_window:], 1.0, 0.0)
data['Position'] = data['Signal'].diff()
# Al-sat noktalarını belirleme
buy_signals = data[data['Position'] == 1]
sell_signals = data[data['Position'] == -1]
# Veriyi görselleştirme
plt.figure(figsize=(14, 7))
plt.plot(data['Close'], label='Fiyat', alpha=0.5)
plt.plot(data['SMA20'], label='20 Günlük SMA', alpha=0.75)
plt.plot(data['SMA50'], label='50 Günlük SMA', alpha=0.75)
plt.scatter(buy_signals.index, buy_signals['Close'], label='Al', marker='^', color='g', alpha=1)
plt.scatter(sell_signals.index, sell_signals['Close'], label='Sat', marker='v', color='r', alpha=1)
plt.title('Basit Hareketli Ortalama Kesişim Stratejisi')
plt.xlabel('Tarih')
plt.ylabel('Fiyat')
plt.legend()
plt.show()
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.