import pandas as pd
import matplotlib.pyplot as plt

# Charger les fichiers
signals = pd.read_pickle('backtest-result-2025-04-06_21-30-24_signals.pkl')
exited = pd.read_pickle('backtest-result-2025-04-06_21-30-24_exited.pkl')
rejected = pd.read_pickle('backtest-result-2025-04-06_21-30-24_rejected.pkl')  # facultatif

# Choisir un marché pour le graphique (ex : BTC/USDT)
pair = 'BTC/USDT'
df_signals = signals[signals['pair'] == pair]
df_exited = exited[exited['pair'] == pair]

# Charger les données de prix si besoin (par ex. OHLCV depuis Freqtrade)
# Ici on suppose que vous avez une DataFrame de prix : price_df avec ['date', 'close']
price_df = df_signals[['date', 'price']].rename(columns={'price': 'close'}).copy()
price_df.set_index('date', inplace=True)

# Affichage
plt.figure(figsize=(14, 6))
plt.plot(price_df.index, price_df['close'], label='Prix', color='gray')

# Ajouter les points d'entrée
plt.scatter(df_signals['date'], df_signals['price'], color='green', label='Signal', marker='^')
# Ajouter les points de sortie
plt.scatter(df_exited['exit_date'], df_exited['exit_price'], color='red', label='Sortie', marker='v')

plt.title(f"Graphique avec signaux pour {pair}")
plt.xlabel("Date")
plt.ylabel("Prix")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
