Don't use class for plotting

This will allow easy usage of the methods from jupter notebooks
This commit is contained in:
Matthias
2019-06-30 11:06:51 +02:00
parent 587d71efb5
commit db59d39e2c
3 changed files with 45 additions and 37 deletions

View File

@@ -21,7 +21,7 @@ import pandas as pd
from freqtrade.arguments import ARGS_PLOT_DATAFRAME, Arguments
from freqtrade.data.btanalysis import extract_trades_of_period
from freqtrade.optimize import setup_configuration
from freqtrade.plot.plotting import (FTPlots, generate_candlestick_graph,
from freqtrade.plot.plotting import (init_plotscript, generate_candlestick_graph,
store_plot_file,
generate_plot_filename)
from freqtrade.state import RunMode
@@ -54,17 +54,18 @@ def analyse_and_plot_pairs(config: Dict[str, Any]):
-Generate plot files
:return: None
"""
plot = FTPlots(config)
plot_elements = init_plotscript(config)
trades = plot_elements['trades']
pair_counter = 0
for pair, data in plot.tickers.items():
for pair, data in plot_elements["tickers"].items():
pair_counter += 1
logger.info("analyse pair %s", pair)
tickers = {}
tickers[pair] = data
dataframe = generate_dataframe(plot.strategy, tickers, pair)
dataframe = generate_dataframe(plot_elements["strategy"], tickers, pair)
trades_pair = plot.trades.loc[plot.trades['pair'] == pair]
trades_pair = trades.loc[trades['pair'] == pair]
trades_pair = extract_trades_of_period(dataframe, trades_pair)
fig = generate_candlestick_graph(

View File

@@ -10,7 +10,7 @@ from typing import Any, Dict, List
from freqtrade.arguments import ARGS_PLOT_PROFIT, Arguments
from freqtrade.optimize import setup_configuration
from freqtrade.plot.plotting import FTPlots, generate_profit_graph, store_plot_file
from freqtrade.plot.plotting import init_plotscript, generate_profit_graph, store_plot_file
from freqtrade.state import RunMode
logger = logging.getLogger(__name__)
@@ -23,13 +23,14 @@ def plot_profit(config: Dict[str, Any]) -> None:
But should be somewhat proportional, and therefor useful
in helping out to find a good algorithm.
"""
plot = FTPlots(config)
trades = plot.trades[plot.trades['pair'].isin(plot.pairs)]
plot_elements = init_plotscript(config)
trades = plot_elements['trades']
# Filter trades to relevant pairs
trades = trades[trades['pair'].isin(plot_elements["pairs"])]
# Create an average close price of all the pairs that were involved.
# this could be useful to gauge the overall market trend
fig = generate_profit_graph(plot.pairs, plot.tickers, trades)
fig = generate_profit_graph(plot_elements["pairs"], plot_elements["tickers"], trades)
store_plot_file(fig, filename='freqtrade-profit-plot.html', auto_open=True)