Files
Freqtrade/tools/graph.py
Jérôme Delacotte 0bb7271121 divers
2025-05-06 13:14:06 +02:00

35 lines
1.3 KiB
Python

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()