From bdca2ac96f9196059ab0431617ec8a99e73495b1 Mon Sep 17 00:00:00 2001 From: Joe Schr <8218910+TheJoeSchr@users.noreply.github.com> Date: Wed, 3 May 2023 12:22:30 +0200 Subject: [PATCH] tests: removes cached and stratgey specific tests --- tests/data/test_converter_public_trades.py | 152 --------------------- 1 file changed, 152 deletions(-) diff --git a/tests/data/test_converter_public_trades.py b/tests/data/test_converter_public_trades.py index ce62cdf7f..c6c959e66 100644 --- a/tests/data/test_converter_public_trades.py +++ b/tests/data/test_converter_public_trades.py @@ -90,116 +90,6 @@ def test_public_trades_columns_before_change(populate_dataframe_with_trades_data 'amount', 'cost', 'date'] -def load_entries_from_strategy(filepath: str, - *, - from_date: str = '', - configpath: str = "../volumio-strategy/user_data/config.json"): - from freqtrade.data.dataprovider import DataProvider - from freqtrade.resolvers import StrategyResolver - """Load candle data from a file""" - dataframe = pd.read_feather(f'{filepath}') - # Convert date column to datetime - # dataframe['date'] = pd.to_datetime(dataframe['date']) - config = Configuration.from_files([configpath]) - - # Define some constants - config["timeframe"] = "1m" - # Name of the strategy class - config["strategy"] = "Volumio" - # Pair to analyze - Only use one pair here - pair = "BTC/USDT:USDT" - - # Load data - candle_df = dataframe if ( - not from_date) else dataframe.loc[dataframe.date > from_date] - # data from before we had imbalances - if 'stacked_imbalances_bid' not in candle_df.columns: - candle_df[['stacked_imbalances_bid', - 'stacked_imbalances_ask']] = np.nan - - load_strategy = StrategyResolver.load_strategy(config) - dataprovider = DataProvider(config, None, None) - load_strategy.dp = dataprovider - - metadata = {'pair': pair} - df = load_strategy.populate_entry_trend( - load_strategy.populate_indicators(candle_df, metadata), metadata) - plot_config = load_strategy.plot_config - - return (df, plot_config, pair) - - -def test_strategy_entries(): - from freqtrade.plot.plotting import generate_candlestick_graph - - """ - # for debug/adding new entries - print(df.date.loc[df.is_enter_long>0]) - print(df.date.loc[df.is_enter_short>0]) - """ - df, plot_config, pair = load_entries_from_strategy( - 'tests/testdata/populate_indicators_dataframe-doubletop.feather') # '2023-03-25 09:30:00+00:00') - graph = generate_candlestick_graph(pair=pair, - data=df, - plot_config=plot_config, - ).show() - assert df['enter_long'].sum() > 0 - assert df['enter_short'].sum() > 0 - # 15:39 #4 "double top" entry - assert df.loc[(865 < df.index) & (df.index <= 872) - ]['enter_short'].sum() > 0 - # 16:02 #5 strong hidden & regular divergences with reversal - assert df.loc[(893 == df.index)]['enter_short'].sum() > 0 - # 17:08 #5 strong hidden & regular divergences with reversal - assert df.loc[(957 <= df.index) & (df.index <= 962) - ]['enter_short'].sum() > 0 - - df, plot_config, pair = load_entries_from_strategy( - 'tests/testdata/populate_indicators_dataframe-choppy.feather') # '2023-03-25 09:30:00+00:00') - graph = generate_candlestick_graph(pair=pair, - data=df, - plot_config=plot_config, - ).show() - assert df['enter_long'].sum() > 0 - assert df['enter_short'].sum() > 0 - # check good entries - # 11:10 - assert df.iloc[565]['enter_short'] == 1 - # 06:16 - assert df.loc[(271 < df.index) & (df.index < 273)]['enter_long'].sum() > 0 - # 11:46 #3 below vwap - assert df.loc[(600 < df.index) & (df.index < 610)]['enter_long'].sum() > 0 - # 13:07 #2 below 3rd vwap - assert df.loc[(681 < df.index) & (df.index < 690)]['enter_long'].sum() > 0 - # 16:18 - assert df.loc[(873 < df.index) & (df.index <= 878)]['enter_long'].sum() > 0 - # 15:52 - assert df.loc[(845 < df.index) & (df.index <= 850) - ]['enter_short'].sum() > 0 - - df, plot_config, pair = load_entries_from_strategy( - 'tests/testdata/populate_indicators_dataframe-downtrend.feather') # '2023-03-25 09:30:00+00:00') - graph = generate_candlestick_graph(pair=pair, - data=df, - plot_config=plot_config, - ).show() - assert df['enter_long'].sum() > 0 - assert df['enter_short'].sum() > 0 - # 07:50 - assert df.loc[(451 < df.index) & (df.index < 500)]['enter_long'].sum() > 0 - - df, plot_config, pair = load_entries_from_strategy( - 'tests/testdata/populate_indicators_dataframe-uptrend.feather') # '2023-03-25 09:30:00+00:00') - graph = generate_candlestick_graph(pair=pair, - data=df, - plot_config=plot_config, - ).show() - assert df['enter_long'].sum() > 0 - assert df['enter_short'].sum() > 0 - # 09:23 - 11:55 long period of consolidation, then strong uptrend - assert df.loc[(780 < df.index) & (df.index < 830)]['enter_long'].sum() > 0 - - def test_public_trades_mock_populate_dataframe_with_trades__check_orderflow( populate_dataframe_with_trades_dataframe, populate_dataframe_with_trades_trades): @@ -293,48 +183,6 @@ def test_public_trades_trades_mock_populate_dataframe_with_trades__check_trades( assert 24229.1 == t['price'] -def test_public_trades_cached_grouped_trades_pair( - populate_dataframe_with_trades_dataframe, populate_dataframe_with_trades_trades): - import time - - # slice of unnecessary trades - dataframe_before = populate_dataframe_with_trades_dataframe.copy().head( - 20).reset_index(drop=True) - dataframe_before['date'] = pd.to_datetime( - dataframe_before['date'], unit='ms').dt.tz_localize('UTC') - - dataframe_next = populate_dataframe_with_trades_dataframe.copy().head( - 25).reset_index(drop=True) - dataframe_next = dataframe_next.tail(24).reset_index(drop=True) - dataframe_next['date'] = pd.to_datetime( - dataframe_next['date'], unit='ms').dt.tz_localize('UTC') - - trades = populate_dataframe_with_trades_trades.copy() - trades = trades.loc[trades.date >= dataframe_before.date[0]] - trades = trades.loc[trades.date <= dataframe_before.iloc[-1].date] - trades.reset_index(inplace=True, drop=True) - start_time_before = time.time() - config = { - 'timeframe': '5m', - 'orderflow': {'scale': 0.5, 'imbalance_volume': 0, 'imbalance_ratio': 300, 'stacked_imbalance_range': 3} - } - df = populate_dataframe_with_trades(config, - dataframe_before, trades, pair='unitttest') - end_time_before = time.time() - start_time_before - # TODO: assert trades and delta received - - trades = populate_dataframe_with_trades_trades.copy() - trades = trades.loc[trades.date >= dataframe_next.date[0]] - trades = trades.loc[trades.date <= dataframe_next.iloc[-1].date] - trades.reset_index(inplace=True, drop=True) - start_time_next = time.time() - df = populate_dataframe_with_trades(config, - dataframe_next, trades, pair='unitttest') - end_time_next = time.time() - start_time_next - # TODO: assert trades and delta received - assert end_time_next < end_time_before - - def test_public_trades_put_volume_profile_into_ohlcv_candles(public_trades_list_simple, candles): df = public_trades_to_dataframe( public_trades_list_simple, '1m', 'doesntmatter', fill_missing=False, drop_incomplete=False)