mirror of
https://github.com/freqtrade/freqtrade.git
synced 2024-11-10 10:21:59 +00:00
Merge pull request #9232 from freqtrade/kraken/dldata
Kraken - dataimport
This commit is contained in:
commit
c6199e5ca6
|
@ -136,6 +136,43 @@ Freqtrade will not attempt to change these settings.
|
|||
The Kraken API does only provide 720 historic candles, which is sufficient for Freqtrade dry-run and live trade modes, but is a problem for backtesting.
|
||||
To download data for the Kraken exchange, using `--dl-trades` is mandatory, otherwise the bot will download the same 720 candles over and over, and you'll not have enough backtest data.
|
||||
|
||||
To speed up downloading, you can download the [trades zip files](https://support.kraken.com/hc/en-us/articles/360047543791-Downloadable-historical-market-data-time-and-sales-) kraken provides.
|
||||
These are usually updated once per quarter. Freqtrade expects these files to be placed in `user_data/data/kraken/trades_csv`.
|
||||
|
||||
A structure as follows can make sense if using incremental files, with the "full" history in one directory, and incremental files in different directories.
|
||||
The assumption for this mode is that the data is downloaded and unzipped keeping filenames as they are.
|
||||
Duplicate content will be ignored (based on timestamp) - though the assumption is that there is no gap in the data.
|
||||
|
||||
This means, if your "full" history ends in Q4 2022 - then both incremental updates Q1 2023 and Q2 2023 are available.
|
||||
Not having this will lead to incomplete data, and therefore invalid results while using the data.
|
||||
|
||||
```
|
||||
└── trades_csv
|
||||
├── Kraken_full_history
|
||||
│ ├── BCHEUR.csv
|
||||
│ └── XBTEUR.csv
|
||||
├── Kraken_Trading_History_Q1_2023
|
||||
│ ├── BCHEUR.csv
|
||||
│ └── XBTEUR.csv
|
||||
└── Kraken_Trading_History_Q2_2023
|
||||
├── BCHEUR.csv
|
||||
└── XBTEUR.csv
|
||||
```
|
||||
|
||||
You can convert these files into freqtrade files:
|
||||
|
||||
``` bash
|
||||
freqtrade convert-trade-data --exchange kraken --format-from kraken_csv --format-to feather
|
||||
# Convert trade data to different ohlcv timeframes
|
||||
freqtrade trades-to-ohlcv -p BTC/EUR BCH/EUR --exchange kraken -t 1m 5m 15m 1h
|
||||
```
|
||||
|
||||
The converted data also makes downloading data possible, and will start the download after the latest loaded trade.
|
||||
|
||||
``` bash
|
||||
freqtrade download-data --exchange kraken --dl-trades -p BTC/EUR BCH/EUR
|
||||
```
|
||||
|
||||
!!! Warning "Downloading data from kraken"
|
||||
Downloading kraken data will require significantly more memory (RAM) than any other exchange, as the trades-data needs to be converted into candles on your machine.
|
||||
It will also take a long time, as freqtrade will need to download every single trade that happened on the exchange for the pair / timerange combination, therefore please be patient.
|
||||
|
|
|
@ -65,8 +65,8 @@ ARGS_BUILD_CONFIG = ["config"]
|
|||
|
||||
ARGS_BUILD_STRATEGY = ["user_data_dir", "strategy", "template"]
|
||||
|
||||
ARGS_CONVERT_DATA_TRADES = ["pairs", "format_from_trades", "format_to", "erase", "exchange"]
|
||||
ARGS_CONVERT_DATA = ["pairs", "format_from", "format_to", "erase", "exchange"]
|
||||
|
||||
ARGS_CONVERT_DATA_OHLCV = ARGS_CONVERT_DATA + ["timeframes", "trading_mode", "candle_types"]
|
||||
|
||||
ARGS_CONVERT_TRADES = ["pairs", "timeframes", "exchange", "dataformat_ohlcv", "dataformat_trades"]
|
||||
|
@ -268,7 +268,7 @@ class Arguments:
|
|||
parents=[_common_parser],
|
||||
)
|
||||
convert_trade_data_cmd.set_defaults(func=partial(start_convert_data, ohlcv=False))
|
||||
self._build_args(optionlist=ARGS_CONVERT_DATA, parser=convert_trade_data_cmd)
|
||||
self._build_args(optionlist=ARGS_CONVERT_DATA_TRADES, parser=convert_trade_data_cmd)
|
||||
|
||||
# Add trades-to-ohlcv subcommand
|
||||
convert_trade_data_cmd = subparsers.add_parser(
|
||||
|
|
|
@ -421,6 +421,12 @@ AVAILABLE_CLI_OPTIONS = {
|
|||
'desired timeframe as specified as --timeframes/-t.',
|
||||
action='store_true',
|
||||
),
|
||||
"format_from_trades": Arg(
|
||||
'--format-from',
|
||||
help='Source format for data conversion.',
|
||||
choices=constants.AVAILABLE_DATAHANDLERS + ['kraken_csv'],
|
||||
required=True,
|
||||
),
|
||||
"format_from": Arg(
|
||||
'--format-from',
|
||||
help='Source format for data conversion.',
|
||||
|
|
|
@ -85,7 +85,7 @@ def start_convert_data(args: Dict[str, Any], ohlcv: bool = True) -> None:
|
|||
erase=args['erase'])
|
||||
else:
|
||||
convert_trades_format(config,
|
||||
convert_from=args['format_from'], convert_to=args['format_to'],
|
||||
convert_from=args['format_from_trades'], convert_to=args['format_to'],
|
||||
erase=args['erase'])
|
||||
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ from freqtrade.configuration import TimeRange
|
|||
from freqtrade.constants import (DEFAULT_DATAFRAME_COLUMNS, DEFAULT_TRADES_COLUMNS, TRADES_DTYPES,
|
||||
Config, TradeList)
|
||||
from freqtrade.enums import CandleType
|
||||
from freqtrade.exceptions import OperationalException
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -127,6 +128,16 @@ def convert_trades_format(config: Config, convert_from: str, convert_to: str, er
|
|||
:param convert_to: Target format
|
||||
:param erase: Erase source data (does not apply if source and target format are identical)
|
||||
"""
|
||||
if convert_from == 'kraken_csv':
|
||||
if config['exchange']['name'] != 'kraken':
|
||||
raise OperationalException(
|
||||
'Converting from csv is only supported for kraken.'
|
||||
'Please refer to the documentation for details about this special mode.'
|
||||
)
|
||||
from freqtrade.data.converter.trade_converter_kraken import import_kraken_trades_from_csv
|
||||
import_kraken_trades_from_csv(config, convert_to)
|
||||
return
|
||||
|
||||
from freqtrade.data.history.idatahandler import get_datahandler
|
||||
src = get_datahandler(config['datadir'], convert_from)
|
||||
trg = get_datahandler(config['datadir'], convert_to)
|
||||
|
|
70
freqtrade/data/converter/trade_converter_kraken.py
Normal file
70
freqtrade/data/converter/trade_converter_kraken.py
Normal file
|
@ -0,0 +1,70 @@
|
|||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from freqtrade.constants import DATETIME_PRINT_FORMAT, DEFAULT_TRADES_COLUMNS, Config
|
||||
from freqtrade.data.converter.trade_converter import (trades_convert_types,
|
||||
trades_df_remove_duplicates)
|
||||
from freqtrade.data.history.idatahandler import get_datahandler
|
||||
from freqtrade.exceptions import OperationalException
|
||||
from freqtrade.resolvers import ExchangeResolver
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
KRAKEN_CSV_TRADE_COLUMNS = ['timestamp', 'price', 'amount']
|
||||
|
||||
|
||||
def import_kraken_trades_from_csv(config: Config, convert_to: str):
|
||||
"""
|
||||
Import kraken trades from csv
|
||||
"""
|
||||
if config['exchange']['name'] != 'kraken':
|
||||
raise OperationalException('This function is only for the kraken exchange.')
|
||||
|
||||
datadir: Path = config['datadir']
|
||||
data_handler = get_datahandler(datadir, data_format=convert_to)
|
||||
|
||||
tradesdir: Path = config['datadir'] / 'trades_csv'
|
||||
exchange = ExchangeResolver.load_exchange(config, validate=False)
|
||||
# iterate through directories in this directory
|
||||
data_symbols = {p.stem for p in tradesdir.rglob('*.csv')}
|
||||
|
||||
# create pair/filename mapping
|
||||
markets = {
|
||||
(m['symbol'], m['altname']) for m in exchange.markets.values()
|
||||
if m.get('altname') in data_symbols
|
||||
}
|
||||
logger.info(f"Found csv files for {', '.join(data_symbols)}.")
|
||||
|
||||
for pair, name in markets:
|
||||
dfs = []
|
||||
# Load and combine all csv files for this pair
|
||||
for f in tradesdir.rglob(f"{name}.csv"):
|
||||
df = pd.read_csv(f, names=KRAKEN_CSV_TRADE_COLUMNS)
|
||||
dfs.append(df)
|
||||
|
||||
# Load existing trades data
|
||||
if not dfs:
|
||||
# edgecase, can only happen if the file was deleted between the above glob and here
|
||||
logger.info(f"No data found for pair {pair}")
|
||||
continue
|
||||
|
||||
trades = pd.concat(dfs, ignore_index=True)
|
||||
|
||||
trades.loc[:, 'timestamp'] = trades['timestamp'] * 1e3
|
||||
trades.loc[:, 'cost'] = trades['price'] * trades['amount']
|
||||
for col in DEFAULT_TRADES_COLUMNS:
|
||||
if col not in trades.columns:
|
||||
trades[col] = ''
|
||||
|
||||
trades = trades[DEFAULT_TRADES_COLUMNS]
|
||||
trades = trades_convert_types(trades)
|
||||
|
||||
trades_df = trades_df_remove_duplicates(trades)
|
||||
logger.info(f"{pair}: {len(trades_df)} trades, from "
|
||||
f"{trades_df['date'].min():{DATETIME_PRINT_FORMAT}} to "
|
||||
f"{trades_df['date'].max():{DATETIME_PRINT_FORMAT}}")
|
||||
|
||||
data_handler.trades_store(pair, trades_df)
|
52
tests/data/test_trade_converter_kraken.py
Normal file
52
tests/data/test_trade_converter_kraken.py
Normal file
|
@ -0,0 +1,52 @@
|
|||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from shutil import copytree
|
||||
from unittest.mock import PropertyMock
|
||||
|
||||
import pytest
|
||||
|
||||
from freqtrade.data.converter.trade_converter_kraken import import_kraken_trades_from_csv
|
||||
from freqtrade.data.history.idatahandler import get_datahandler
|
||||
from freqtrade.exceptions import OperationalException
|
||||
from tests.conftest import EXMS, log_has, log_has_re, patch_exchange
|
||||
|
||||
|
||||
def test_import_kraken_trades_from_csv(testdatadir, tmpdir, caplog, default_conf_usdt, mocker):
|
||||
with pytest.raises(OperationalException, match="This function is only for the kraken exchange"):
|
||||
import_kraken_trades_from_csv(default_conf_usdt, 'feather')
|
||||
|
||||
default_conf_usdt['exchange']['name'] = 'kraken'
|
||||
|
||||
patch_exchange(mocker, id='kraken')
|
||||
mocker.patch(f'{EXMS}.markets', PropertyMock(return_value={
|
||||
'BCH/EUR': {'symbol': 'BCH/EUR', 'id': 'BCHEUR', 'altname': 'BCHEUR'},
|
||||
}))
|
||||
tmpdir1 = Path(tmpdir)
|
||||
dstfile = tmpdir1 / 'BCH_EUR-trades.feather'
|
||||
assert not dstfile.is_file()
|
||||
default_conf_usdt['datadir'] = tmpdir1
|
||||
# There's 2 files in this tree, containing a total of 2 days.
|
||||
# tests/testdata/kraken/
|
||||
# └── trades_csv
|
||||
# ├── BCHEUR.csv <-- 2023-01-01
|
||||
# └── incremental_q2
|
||||
# └── BCHEUR.csv <-- 2023-01-02
|
||||
|
||||
copytree(testdatadir / 'kraken/trades_csv', tmpdir1 / 'trades_csv')
|
||||
|
||||
import_kraken_trades_from_csv(default_conf_usdt, 'feather')
|
||||
assert log_has("Found csv files for BCHEUR.", caplog)
|
||||
assert log_has_re(r"BCH/EUR: 340 trades.* 2023-01-01.* 2023-01-02.*", caplog)
|
||||
|
||||
assert dstfile.is_file()
|
||||
|
||||
dh = get_datahandler(tmpdir1, 'feather')
|
||||
trades = dh.trades_load('BCH_EUR')
|
||||
assert len(trades) == 340
|
||||
|
||||
assert trades['date'].min().to_pydatetime() == datetime(2023, 1, 1, 0, 3, 56,
|
||||
tzinfo=timezone.utc)
|
||||
assert trades['date'].max().to_pydatetime() == datetime(2023, 1, 2, 23, 17, 3,
|
||||
tzinfo=timezone.utc)
|
||||
# ID is not filled
|
||||
assert len(trades.loc[trades['id'] != '']) == 0
|
148
tests/testdata/kraken/trades_csv/BCHEUR.csv
vendored
Normal file
148
tests/testdata/kraken/trades_csv/BCHEUR.csv
vendored
Normal file
|
@ -0,0 +1,148 @@
|
|||
1672531436,90.540000,1.10448420
|
||||
1672531471,90.450000,1.00000000
|
||||
1672531647,90.360000,0.28600000
|
||||
1672533909,90.000000,0.05000000
|
||||
1672533909,90.000000,0.55555555
|
||||
1672533909,90.000000,0.05000000
|
||||
1672539535,90.160000,5.15191003
|
||||
1672539535,90.170000,6.19997081
|
||||
1672541045,90.170000,0.17270970
|
||||
1672541045,90.170000,0.81109774
|
||||
1672547372,89.940000,0.51535378
|
||||
1672549388,89.820000,0.10000000
|
||||
1672552963,90.020000,0.49279466
|
||||
1672556400,90.020000,0.02188895
|
||||
1672556899,89.880000,0.95129174
|
||||
1672559791,90.040000,0.11100000
|
||||
1672562703,90.130000,5.00000000
|
||||
1672563176,90.040000,0.11106175
|
||||
1672568240,90.260000,0.49146128
|
||||
1672568359,90.270000,2.00000000
|
||||
1672568359,90.270000,15.00000000
|
||||
1672568359,90.280000,15.00000000
|
||||
1672568359,90.290000,8.00000000
|
||||
1672568359,90.310000,1.10000000
|
||||
1672568359,90.310000,5.00000000
|
||||
1672568359,90.320000,7.24209194
|
||||
1672568359,90.320000,0.33774286
|
||||
1672568359,90.340000,7.70694586
|
||||
1672568359,90.350000,1.00000000
|
||||
1672568359,90.360000,1.00000000
|
||||
1672568359,90.360000,3.44290939
|
||||
1672568359,90.370000,1.00000000
|
||||
1672568359,90.370000,1.49359404
|
||||
1672568359,90.380000,1.00000000
|
||||
1672568359,90.390000,1.00000000
|
||||
1672568359,90.390000,0.65058415
|
||||
1672568359,90.390000,3.38801189
|
||||
1672568359,90.420000,3.42212570
|
||||
1672568359,90.440000,5.15202596
|
||||
1672568359,90.450000,3.38991070
|
||||
1672568359,90.450000,0.19329203
|
||||
1672568359,90.460000,21.52896864
|
||||
1672568526,90.250000,0.28048094
|
||||
1672569016,90.340000,5.95581833
|
||||
1672569115,90.340000,6.00000000
|
||||
1672570237,90.310000,0.14993569
|
||||
1672571388,90.370000,0.21230004
|
||||
1672571631,90.370000,0.74619835
|
||||
1672574412,90.400000,0.12438419
|
||||
1672576112,90.400000,0.53000000
|
||||
1672577367,90.400000,0.47000000
|
||||
1672577367,90.370000,0.10698000
|
||||
1672579099,90.360000,0.49091739
|
||||
1672580071,90.310000,0.29699158
|
||||
1672580225,90.300000,9.00000000
|
||||
1672581264,90.280000,0.17823568
|
||||
1672581264,90.280000,0.49008938
|
||||
1672581589,90.250000,4.00000000
|
||||
1672582660,90.250000,0.17506004
|
||||
1672582660,90.250000,3.75716335
|
||||
1672585445,90.180000,0.17600000
|
||||
1672585589,90.180000,0.05426674
|
||||
1672586068,90.190000,0.20000000
|
||||
1672587250,90.120000,1.33484000
|
||||
1672587559,90.100000,0.21882576
|
||||
1672587585,90.100000,0.28075194
|
||||
1672588454,90.160000,0.19694290
|
||||
1672588454,90.170000,0.92488128
|
||||
1672589636,90.080000,0.29193475
|
||||
1672590151,90.150000,14.08171960
|
||||
1672590566,90.120000,1.01627000
|
||||
1672590888,90.270000,4.25070441
|
||||
1672590952,90.250000,0.14121710
|
||||
1672590952,90.250000,1.98437057
|
||||
1672591010,90.200000,0.34152350
|
||||
1672591010,90.190000,9.00575666
|
||||
1672591132,90.300000,0.89294468
|
||||
1672591380,90.310000,0.10531140
|
||||
1672591380,90.320000,0.72237064
|
||||
1672591390,90.260000,0.17076175
|
||||
1672591390,90.250000,0.93726662
|
||||
1672591626,90.280000,0.13803658
|
||||
1672591626,90.270000,1.39856040
|
||||
1672592025,90.330000,0.18053494
|
||||
1672592350,90.340000,3.82317350
|
||||
1672592350,90.360000,5.66081594
|
||||
1672592350,90.370000,0.23660665
|
||||
1672592350,90.380000,0.89618051
|
||||
1672592398,90.370000,1.04662011
|
||||
1672592444,90.360000,0.12419225
|
||||
1672593227,90.360000,1.96390112
|
||||
1672599481,90.710000,0.05520000
|
||||
1672599657,90.710000,39.94480000
|
||||
1672600545,90.720000,1.09096000
|
||||
1672600545,90.720000,39.99904000
|
||||
1672601235,90.790000,0.11022927
|
||||
1672601584,90.790000,0.11897764
|
||||
1672601584,90.800000,0.16215666
|
||||
1672602875,90.830000,1.00000000
|
||||
1672604100,90.820000,0.53216284
|
||||
1672604129,90.820000,0.05503577
|
||||
1672604219,90.810000,0.07234981
|
||||
1672607019,90.920000,2.00000000
|
||||
1672607019,90.920000,40.00000000
|
||||
1672607019,90.920000,8.00000000
|
||||
1672607067,90.930000,2.00000000
|
||||
1672607067,90.930000,8.00000000
|
||||
1672607067,90.930000,21.35000000
|
||||
1672607076,90.910000,5.50000000
|
||||
1672607196,90.910000,2.00000000
|
||||
1672607196,90.910000,0.30030000
|
||||
1672607310,90.890000,0.96144343
|
||||
1672607310,90.900000,0.50292482
|
||||
1672607703,90.760000,1.00000000
|
||||
1672607703,90.750000,3.52448259
|
||||
1672607703,90.750000,0.15295233
|
||||
1672607703,90.740000,0.82256508
|
||||
1672608691,90.790000,0.19963741
|
||||
1672608691,90.810000,0.31977406
|
||||
1672609051,90.820000,0.38000000
|
||||
1672609580,90.780000,0.24004396
|
||||
1672609580,90.770000,5.25995604
|
||||
1672609695,90.740000,0.98519900
|
||||
1672609697,90.740000,0.14629976
|
||||
1672609698,90.740000,0.10000000
|
||||
1672610001,90.740000,0.21984068
|
||||
1672610001,90.740000,0.08898963
|
||||
1672610507,90.760000,0.35960205
|
||||
1672610527,90.760000,0.74039795
|
||||
1672610527,90.760000,0.11030671
|
||||
1672610527,90.760000,1.82902226
|
||||
1672611326,90.680000,0.08710000
|
||||
1672612351,90.680000,1.18193004
|
||||
1672612351,90.660000,0.11985422
|
||||
1672612460,90.640000,0.22000000
|
||||
1672612460,90.600000,0.24680297
|
||||
1672612460,90.590000,0.65058415
|
||||
1672612460,90.590000,1.10000000
|
||||
1672612460,90.570000,2.78261288
|
||||
1672612485,90.520000,2.00000000
|
||||
1672612485,90.530000,1.10000000
|
||||
1672612485,90.530000,5.00000000
|
||||
1672613044,90.520000,1.08661000
|
||||
1672613471,90.550000,0.22739075
|
||||
1672613471,90.560000,0.92169701
|
||||
1672613957,90.490000,0.50000000
|
||||
1672614482,90.520000,0.19893239
|
||||
1672615187,90.530000,1.00000000
|
|
486
tests/testdata/kraken/trades_csv/incremental_q2/BCHEUR.csv
vendored
Normal file
486
tests/testdata/kraken/trades_csv/incremental_q2/BCHEUR.csv
vendored
Normal file
|
@ -0,0 +1,486 @@
|
|||
1672620536,90.070000,1.10000000
|
||||
1672621569,90.000000,0.05000000
|
||||
1672621572,89.900000,0.16781327
|
||||
1672621572,89.880000,3.21796979
|
||||
1672621574,89.680000,0.15038625
|
||||
1672621591,89.500000,0.40223000
|
||||
1672621591,89.500000,0.00000463
|
||||
1672621591,89.460000,0.42312537
|
||||
1672621591,89.460000,0.00001340
|
||||
1672621591,89.450000,0.27462660
|
||||
1672621591,89.450000,1.55812912
|
||||
1672621592,89.430000,3.49563000
|
||||
1672621592,89.430000,0.00000245
|
||||
1672621592,89.400000,3.24020755
|
||||
1672621593,89.400000,0.00000579
|
||||
1672621593,89.340000,3.39843000
|
||||
1672621593,89.340000,0.00000367
|
||||
1672621594,89.310000,3.46879000
|
||||
1672621594,89.310000,0.00000151
|
||||
1672621594,89.300000,0.23606849
|
||||
1672621594,89.300000,0.00000151
|
||||
1672621611,89.510000,0.05201346
|
||||
1672623048,89.400000,0.05000000
|
||||
1672623487,89.340000,3.29746218
|
||||
1672624539,89.480000,0.13947779
|
||||
1672630508,89.970000,0.48616536
|
||||
1672633444,89.830000,0.36077173
|
||||
1672633444,89.840000,0.18222827
|
||||
1672635717,90.070000,0.15020808
|
||||
1672638127,90.170000,0.11950000
|
||||
1672638790,90.250000,2.08482000
|
||||
1672639521,90.250000,0.00000100
|
||||
1672639521,90.350000,0.16503183
|
||||
1672639521,90.360000,0.10887277
|
||||
1672641041,90.420000,0.33000000
|
||||
1672643661,90.290000,0.16644000
|
||||
1672643664,90.290000,0.00000378
|
||||
1672643677,90.900000,0.27611440
|
||||
1672643677,90.910000,3.55887567
|
||||
1672643677,90.930000,1.94112433
|
||||
1672643681,90.930000,1.45287534
|
||||
1672643683,91.000000,0.26528000
|
||||
1672643683,91.000000,0.27938000
|
||||
1672643698,91.100000,1.02000000
|
||||
1672643698,91.090000,1.10000000
|
||||
1672643698,91.080000,9.37501459
|
||||
1672643698,91.080000,10.00000000
|
||||
1672643698,91.080000,30.20498538
|
||||
1672643740,91.050000,2.00000000
|
||||
1672643740,91.050000,1.25174226
|
||||
1672643740,91.100000,0.21657000
|
||||
1672643742,91.140000,3.41661000
|
||||
1672643742,91.140000,0.00000339
|
||||
1672643745,91.300000,0.22559000
|
||||
1672643745,91.300000,0.20927000
|
||||
1672643754,91.530000,1.46349415
|
||||
1672643754,91.500000,0.05000000
|
||||
1672643755,91.500000,0.19820000
|
||||
1672643755,91.500000,0.23323000
|
||||
1672643755,91.400000,0.25276000
|
||||
1672643755,91.400000,0.24522000
|
||||
1672643755,91.360000,0.17059000
|
||||
1672643762,91.590000,3.38609591
|
||||
1672643762,91.590000,1.70666409
|
||||
1672643762,91.590000,5.00245000
|
||||
1672643763,91.590000,0.00000222
|
||||
1672643763,91.620000,3.28019778
|
||||
1672643764,91.620000,0.00001175
|
||||
1672643764,91.680000,3.35131000
|
||||
1672643765,91.680000,0.00000053
|
||||
1672643765,91.710000,1.99999947
|
||||
1672643765,91.710000,1.45873628
|
||||
1672643780,91.800000,0.24421000
|
||||
1672643781,91.700000,0.24097000
|
||||
1672643786,91.500000,0.24123000
|
||||
1672643786,91.500000,0.23718000
|
||||
1672643917,91.440000,0.09961400
|
||||
1672643954,91.460000,1.46349415
|
||||
1672644454,91.420000,1.10000000
|
||||
1672644454,91.410000,0.90000000
|
||||
1672644817,91.290000,0.97023360
|
||||
1672644888,91.370000,5.00000000
|
||||
1672645505,91.500000,0.55869071
|
||||
1672645505,91.500000,0.20130929
|
||||
1672646731,91.680000,0.10000000
|
||||
1672647152,91.840000,1.10000000
|
||||
1672647152,91.840000,0.72640000
|
||||
1672647284,91.900000,0.10000000
|
||||
1672647284,92.000000,0.10000000
|
||||
1672647294,92.100000,0.07400739
|
||||
1672647331,92.100000,0.02599261
|
||||
1672647331,92.200000,0.10000000
|
||||
1672647408,92.300000,0.10000000
|
||||
1672647447,92.400000,0.10000000
|
||||
1672647452,92.530000,1.10000000
|
||||
1672647452,92.530000,7.07935280
|
||||
1672647452,92.520000,1.82064720
|
||||
1672647453,92.530000,7.08005995
|
||||
1672647453,92.520000,2.91994005
|
||||
1672647453,92.520000,1.10000000
|
||||
1672647453,92.520000,7.08106089
|
||||
1672647453,92.520000,0.11257595
|
||||
1672647453,92.520000,1.70636316
|
||||
1672647453,92.520000,1.61618244
|
||||
1672647977,92.290000,1.10000000
|
||||
1672647977,92.280000,6.10788595
|
||||
1672648596,92.600000,0.28769588
|
||||
1672649352,92.520000,1.00000000
|
||||
1672649722,92.360000,0.43190135
|
||||
1672649722,92.350000,0.56809865
|
||||
1672650340,92.430000,1.10000000
|
||||
1672650340,92.440000,0.17885343
|
||||
1672650340,92.450000,0.63696354
|
||||
1672651165,92.390000,40.00000000
|
||||
1672651596,92.380000,1.00000000
|
||||
1672651664,92.390000,2.00754507
|
||||
1672651716,92.380000,1.00000000
|
||||
1672651727,92.390000,1.40528155
|
||||
1672651746,92.380000,0.10934211
|
||||
1672651746,92.370000,0.14252789
|
||||
1672651865,92.410000,0.10000000
|
||||
1672651866,92.410000,0.10000000
|
||||
1672651922,92.420000,1.02836794
|
||||
1672651981,92.410000,0.33805200
|
||||
1672651982,92.410000,2.96775605
|
||||
1672652034,92.400000,40.00000000
|
||||
1672652230,92.410000,3.00000003
|
||||
1672652230,92.410000,40.00000000
|
||||
1672652462,92.560000,4.72637791
|
||||
1672652785,92.540000,0.26371093
|
||||
1672652785,92.550000,0.06028907
|
||||
1672653191,92.380000,0.11300328
|
||||
1672653191,92.370000,0.08699672
|
||||
1672654246,92.480000,1.10000000
|
||||
1672654246,92.480000,0.18835710
|
||||
1672654246,92.480000,0.71723426
|
||||
1672654327,92.420000,1.10000000
|
||||
1672654327,92.430000,0.90624217
|
||||
1672654405,92.400000,0.71000000
|
||||
1672654405,92.420000,1.10000000
|
||||
1672654405,92.430000,0.19732780
|
||||
1672654469,92.400000,0.44000000
|
||||
1672654469,92.410000,0.18835711
|
||||
1672654469,92.420000,1.10000000
|
||||
1672654469,92.420000,0.27897069
|
||||
1672654503,92.420000,1.56537046
|
||||
1672654551,92.370000,2.00000000
|
||||
1672654551,92.380000,0.00732780
|
||||
1672656132,92.360000,0.51441726
|
||||
1672656132,92.350000,0.07117974
|
||||
1672656562,92.460000,1.09777201
|
||||
1672656822,92.540000,0.25720863
|
||||
1672656822,92.550000,0.17503688
|
||||
1672657382,92.410000,0.88037274
|
||||
1672657843,92.300000,0.52109000
|
||||
1672659479,92.450000,0.86375500
|
||||
1672659527,92.450000,0.95973892
|
||||
1672659842,92.380000,0.10000000
|
||||
1672659844,92.380000,0.28000000
|
||||
1672659858,92.380000,0.40000000
|
||||
1672659860,92.380000,0.59000000
|
||||
1672659860,92.380000,0.21230377
|
||||
1672659860,92.380000,0.19581295
|
||||
1672659860,92.370000,0.05188328
|
||||
1672659880,92.440000,0.41651079
|
||||
1672659880,92.450000,1.58233921
|
||||
1672660744,92.620000,0.20825539
|
||||
1672660744,92.620000,2.00000000
|
||||
1672660744,92.620000,0.81325838
|
||||
1672660786,92.540000,0.40620484
|
||||
1672660786,92.530000,0.50322423
|
||||
1672661316,92.760000,3.00000000
|
||||
1672661316,92.760000,0.51083000
|
||||
1672661316,92.760000,0.00000750
|
||||
1672661763,92.880000,0.40600000
|
||||
1672662004,92.680000,0.63474730
|
||||
1672662021,92.610000,0.99999999
|
||||
1672662056,92.670000,0.51391586
|
||||
1672662831,92.640000,0.20718714
|
||||
1672662831,92.630000,0.19281286
|
||||
1672663146,92.780000,0.20678545
|
||||
1672664406,92.660000,0.20698630
|
||||
1672664406,92.650000,0.09207754
|
||||
1672665304,92.600000,0.27096400
|
||||
1672665644,92.560000,0.10349315
|
||||
1672665644,92.550000,0.50000000
|
||||
1672665644,92.550000,1.10000000
|
||||
1672665644,92.540000,2.29650685
|
||||
1672665885,92.680000,0.25647281
|
||||
1672666383,92.750000,1.10000000
|
||||
1672666383,92.770000,0.33443428
|
||||
1672666383,92.780000,1.61158033
|
||||
1672666724,92.620000,0.26415235
|
||||
1672666724,92.600000,0.00975325
|
||||
1672667271,92.530000,0.21512394
|
||||
1672667271,92.520000,3.44492536
|
||||
1672667271,92.520000,1.10000000
|
||||
1672667271,92.500000,13.00000000
|
||||
1672667271,92.500000,4.17971070
|
||||
1672667820,92.490000,0.90149481
|
||||
1672668419,92.600000,0.05179685
|
||||
1672668761,92.600000,0.20000000
|
||||
1672668970,92.600000,1.00000000
|
||||
1672668970,92.600000,0.36870115
|
||||
1672669497,92.870000,0.27986569
|
||||
1672669497,92.920000,0.23423604
|
||||
1672670020,92.780000,0.24749482
|
||||
1672670020,92.780000,0.22946945
|
||||
1672670088,92.860000,0.39066985
|
||||
1672670088,92.870000,0.60802221
|
||||
1672670162,92.800000,0.19533493
|
||||
1672670162,92.810000,1.57768714
|
||||
1672671482,92.970000,0.05000000
|
||||
1672671482,92.990000,0.25805040
|
||||
1672671482,93.000000,0.05500000
|
||||
1672671482,93.000000,1.17150537
|
||||
1672671484,93.030000,1.90000000
|
||||
1672671484,93.050000,0.10000000
|
||||
1672671484,93.050000,0.09533493
|
||||
1672671484,93.100000,5.50000000
|
||||
1672671597,93.210000,0.28559636
|
||||
1672671922,93.210000,0.06224165
|
||||
1672672258,93.190000,0.05360162
|
||||
1672672715,93.440000,0.35848855
|
||||
1672673021,93.390000,0.24603359
|
||||
1672673644,93.500000,1.25128947
|
||||
1672673926,93.370000,0.10000000
|
||||
1672673926,93.370000,0.10000000
|
||||
1672674245,93.570000,3.00000000
|
||||
1672674245,93.570000,0.27582332
|
||||
1672674251,93.600000,3.00000000
|
||||
1672674251,93.600000,0.27021894
|
||||
1672674269,93.620000,0.05000000
|
||||
1672674278,93.690000,0.16020297
|
||||
1672674928,93.870000,16.00000000
|
||||
1672674928,93.870000,0.42229400
|
||||
1672674928,93.880000,3.00000000
|
||||
1672674928,93.880000,0.83625840
|
||||
1672675263,93.920000,0.15897954
|
||||
1672675354,93.790000,0.05541000
|
||||
1672675420,93.750000,3.42716504
|
||||
1672675420,93.750000,1.10000000
|
||||
1672675420,93.730000,0.30071309
|
||||
1672675420,93.730000,0.26523930
|
||||
1672675420,93.720000,3.43747306
|
||||
1672675420,93.720000,2.00000000
|
||||
1672675420,93.700000,2.00000000
|
||||
1672675420,93.690000,3.50480003
|
||||
1672675420,93.690000,17.74436742
|
||||
1672675420,93.690000,2.53044755
|
||||
1672675420,93.690000,5.59187611
|
||||
1672675420,93.690000,1.10269129
|
||||
1672675420,93.690000,5.00000000
|
||||
1672675420,93.690000,10.00000000
|
||||
1672675420,93.690000,1.99522711
|
||||
1672677602,93.900000,0.33635572
|
||||
1672677602,93.890000,0.02213283
|
||||
1672677724,93.960000,0.20921217
|
||||
1672677724,93.970000,4.01815113
|
||||
1672677724,93.980000,1.10000000
|
||||
1672677724,93.980000,4.99304515
|
||||
1672678203,93.960000,0.53112491
|
||||
1672678563,93.780000,1.06849022
|
||||
1672678711,93.780000,0.25694338
|
||||
1672678807,93.720000,0.21340200
|
||||
1672678854,93.710000,0.20162914
|
||||
1672678854,93.710000,1.00949171
|
||||
1672678856,93.710000,1.48404486
|
||||
1672678996,93.660000,0.21353800
|
||||
1672679012,93.660000,0.21353800
|
||||
1672679028,93.660000,0.21356100
|
||||
1672679037,93.670000,0.11009220
|
||||
1672679037,93.660000,1.78643900
|
||||
1672679037,93.660000,3.52200393
|
||||
1672679042,93.660000,0.21353800
|
||||
1672679057,93.660000,0.21353800
|
||||
1672679072,93.670000,0.21351600
|
||||
1672679087,93.650000,0.11692327
|
||||
1672679087,93.650000,0.09663773
|
||||
1672679094,93.660000,4.95970000
|
||||
1672679104,93.660000,0.21356100
|
||||
1672679118,93.660000,0.21353800
|
||||
1672679135,93.650000,0.11692328
|
||||
1672679135,93.650000,0.09663772
|
||||
1672679151,93.650000,0.21356100
|
||||
1672679166,93.620000,0.21358400
|
||||
1672679180,93.630000,0.21360700
|
||||
1672679195,93.620000,0.21363000
|
||||
1672679212,93.620000,0.21363000
|
||||
1672679225,93.620000,0.21363000
|
||||
1672679240,93.620000,0.21363000
|
||||
1672679256,93.620000,0.21363000
|
||||
1672679273,93.630000,0.21360700
|
||||
1672679286,93.630000,0.21360700
|
||||
1672679303,93.630000,0.21360700
|
||||
1672679315,93.630000,1.39400000
|
||||
1672679318,93.640000,0.21360700
|
||||
1672679332,93.640000,0.21358400
|
||||
1672679342,93.650000,40.00000000
|
||||
1672679356,93.640000,0.21358400
|
||||
1672679370,93.640000,0.21358400
|
||||
1672679386,93.640000,0.21358400
|
||||
1672679402,93.640000,0.21358400
|
||||
1672679416,93.640000,0.21358400
|
||||
1672679432,93.640000,0.21358400
|
||||
1672679448,93.640000,0.21358400
|
||||
1672679463,93.640000,0.21358400
|
||||
1672679477,93.640000,0.21358400
|
||||
1672679494,93.620000,0.21365200
|
||||
1672679510,93.620000,0.21363000
|
||||
1672679525,93.620000,0.21363000
|
||||
1672679540,93.630000,0.21363000
|
||||
1672679554,93.630000,0.21360700
|
||||
1672679570,93.630000,0.21360700
|
||||
1672679585,93.630000,0.21360700
|
||||
1672679600,93.630000,0.21360700
|
||||
1672679615,93.630000,0.21360700
|
||||
1672679632,93.630000,0.21360700
|
||||
1672679646,93.620000,0.21363000
|
||||
1672679661,93.630000,0.21360700
|
||||
1672679676,93.630000,0.21360700
|
||||
1672679691,93.630000,0.21360700
|
||||
1672679707,93.620000,0.21363000
|
||||
1672679726,93.620000,0.21363000
|
||||
1672679741,93.620000,0.21360700
|
||||
1672679757,93.620000,0.21363000
|
||||
1672679778,93.640000,0.21360700
|
||||
1672679794,93.660000,0.21360700
|
||||
1672679809,93.680000,0.21349300
|
||||
1672679821,93.700000,0.21340200
|
||||
1672679821,93.700000,0.21353800
|
||||
1672679821,93.700000,0.21353800
|
||||
1672679821,93.700000,0.21356100
|
||||
1672679821,93.700000,0.21353800
|
||||
1672679821,93.700000,0.21353800
|
||||
1672679821,93.700000,0.21351600
|
||||
1672679821,93.700000,0.21356100
|
||||
1672679821,93.700000,0.21356100
|
||||
1672679821,93.700000,0.21353800
|
||||
1672679821,93.700000,0.21356100
|
||||
1672679821,93.700000,0.21356100
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21358400
|
||||
1672679821,93.700000,0.21365200
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21363000
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21360700
|
||||
1672679821,93.700000,0.21349300
|
||||
1672679829,93.690000,0.21349300
|
||||
1672679943,93.730000,0.10000000
|
||||
1672679943,93.740000,0.35573142
|
||||
1672680124,93.760000,0.41611649
|
||||
1672680124,93.770000,1.10000000
|
||||
1672680124,93.770000,1.00289427
|
||||
1672680599,93.710000,40.00000000
|
||||
1672680599,93.710000,40.00000000
|
||||
1672681203,93.760000,0.30635902
|
||||
1672681203,93.770000,0.68274662
|
||||
1672681262,93.710000,1.01899965
|
||||
1672681304,93.700000,40.00000000
|
||||
1672681323,93.750000,0.57938646
|
||||
1672681386,93.750000,1.48381671
|
||||
1672681458,93.750000,0.01067000
|
||||
1672681669,93.630000,40.00000000
|
||||
1672682646,93.650000,0.17545586
|
||||
1672682646,93.660000,2.04572869
|
||||
1672682700,93.660000,0.43630185
|
||||
1672683062,93.520000,0.21349300
|
||||
1672683333,93.400000,40.00000000
|
||||
1672683540,93.370000,0.37323978
|
||||
1672683540,93.360000,0.78018965
|
||||
1672683664,93.400000,40.00000000
|
||||
1672683664,93.400000,40.00000000
|
||||
1672683912,93.360000,40.00000000
|
||||
1672684035,93.380000,0.10000000
|
||||
1672684681,93.400000,40.00000000
|
||||
1672684681,93.400000,5.00000000
|
||||
1672684895,93.450000,0.28232122
|
||||
1672684895,93.450000,0.16798232
|
||||
1672684895,93.460000,2.74269478
|
||||
1672686428,93.590000,0.32054706
|
||||
1672686593,93.610000,0.18606342
|
||||
1672686593,93.600000,1.10000000
|
||||
1672686593,93.600000,0.64000000
|
||||
1672686593,93.600000,2.00000000
|
||||
1672686593,93.600000,0.56906893
|
||||
1672686763,93.580000,1.10000000
|
||||
1672686763,93.570000,0.18606343
|
||||
1672686763,93.560000,3.00000000
|
||||
1672686763,93.550000,6.66393657
|
||||
1672686853,93.600000,1.04000000
|
||||
1672686853,93.580000,0.31000000
|
||||
1672687010,93.660000,0.51441726
|
||||
1672687010,93.670000,0.49536629
|
||||
1672687144,93.660000,0.25720863
|
||||
1672687144,93.670000,0.13025611
|
||||
1672687924,93.380000,1.38703774
|
||||
1672688043,93.450000,1.10000000
|
||||
1672688043,93.470000,9.62310000
|
||||
1672688163,93.450000,0.12860432
|
||||
1672688163,93.460000,0.74330839
|
||||
1672688463,93.450000,0.12860432
|
||||
1672688463,93.460000,2.43888543
|
||||
1672689094,93.500000,0.48000000
|
||||
1672689094,93.500000,1.52000000
|
||||
1672689122,93.500000,0.69746509
|
||||
1672689605,93.380000,0.85913567
|
||||
1672690623,93.360000,1.55373756
|
||||
1672690623,93.380000,0.97334211
|
||||
1672690731,93.280000,0.37258400
|
||||
1672691284,93.510000,1.10000000
|
||||
1672691284,93.520000,0.17017217
|
||||
1672691284,93.530000,1.86482783
|
||||
1672693176,93.340000,0.08092000
|
||||
1672693262,93.400000,0.43291938
|
||||
1672694405,93.280000,0.40741109
|
||||
1672694828,93.200000,0.41321135
|
||||
1672694828,93.200000,0.12328865
|
||||
1672695290,93.240000,0.20660567
|
||||
1672695290,93.230000,1.10000000
|
||||
1672695290,93.220000,3.00000000
|
||||
1672695290,93.210000,3.44792866
|
||||
1672695290,93.200000,3.00000000
|
||||
1672695290,93.200000,1.34083632
|
||||
1672695290,93.200000,2.52411935
|
||||
1672695567,93.230000,0.09530603
|
||||
1672695997,93.310000,0.10280546
|
||||
1672696328,93.270000,0.10705255
|
||||
1672696328,93.260000,0.00294745
|
||||
1672697520,93.390000,0.38943251
|
||||
1672697520,93.400000,1.10000000
|
||||
1672697520,93.400000,0.03084631
|
||||
1672697584,93.400000,0.21413300
|
||||
1672697656,93.400000,0.21413300
|
||||
1672697671,93.400000,0.21314117
|
||||
1672698111,93.500000,0.34000000
|
||||
1672698111,93.500000,0.26617473
|
||||
1672698111,93.510000,3.39382527
|
||||
1672698284,93.430000,0.38132990
|
||||
1672698284,93.420000,1.10000000
|
||||
1672698284,93.400000,12.34766434
|
||||
1672698922,93.220000,0.11677000
|
||||
1672699624,93.220000,0.32375231
|
||||
1672699624,93.230000,1.10000000
|
||||
1672699624,93.230000,0.50000000
|
||||
1672699624,93.240000,0.07624769
|
||||
1672701005,93.000000,0.34305825
|
||||
1672701389,93.180000,0.26786932
|
||||
1672701423,93.180000,1.00000000
|
||||
1672701423,93.190000,1.10000000
|
||||
1672701423,93.190000,0.44235389
|
|
Loading…
Reference in New Issue
Block a user