Replace more bittrex references

This commit is contained in:
enenn 2018-02-03 22:44:13 +01:00
parent 2582e85e6f
commit a11c24b286
11 changed files with 35 additions and 32 deletions

View File

@ -9,7 +9,7 @@
"ask_last_balance": 0.0 "ask_last_balance": 0.0
}, },
"exchange": { "exchange": {
"name": "bittrex", "name": "binance",
"key": "your_echange_key", "key": "your_echange_key",
"secret": "your_echange_secret", "secret": "your_echange_secret",
"pair_whitelist": [ "pair_whitelist": [

View File

@ -429,7 +429,7 @@ def create_trade(stake_amount: float, interval: int) -> bool:
fee=exchange.get_fee(), fee=exchange.get_fee(),
open_rate=buy_limit, open_rate=buy_limit,
open_date=datetime.utcnow(), open_date=datetime.utcnow(),
exchange=exchange.get_name().upper(), exchange=exchange.get_name().lower(),
open_order_id=order_id open_order_id=order_id
) )
Trade.session.add(trade) Trade.session.add(trade)

View File

@ -3,6 +3,7 @@
import logging import logging
from typing import Dict, Tuple from typing import Dict, Tuple
import ccxt
import arrow import arrow
from pandas import DataFrame, Series from pandas import DataFrame, Series
from tabulate import tabulate from tabulate import tabulate
@ -113,7 +114,7 @@ def backtest(args) -> DataFrame:
records = [] records = []
trades = [] trades = []
trade_count_lock: dict = {} trade_count_lock: dict = {}
exchange._API = Bittrex({'key': '', 'secret': ''}) exchange._API = ccxt.binance()
for pair, pair_data in processed.items(): for pair, pair_data in processed.items():
pair_data['buy'], pair_data['sell'] = 0, 0 pair_data['buy'], pair_data['sell'] = 0, 0
ticker = populate_sell_trend(populate_buy_trend(pair_data)) ticker = populate_sell_trend(populate_buy_trend(pair_data))
@ -164,7 +165,7 @@ def start(args):
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
) )
exchange._API = Bittrex({'key': '', 'secret': ''}) exchange._API = ccxt.binance()
logger.info('Using config: %s ...', args.config) logger.info('Using config: %s ...', args.config)
config = misc.load_config(args.config) config = misc.load_config(args.config)

View File

@ -17,6 +17,7 @@ import talib.abstract as ta
from hyperopt import STATUS_FAIL, STATUS_OK, Trials, fmin, hp, space_eval, tpe from hyperopt import STATUS_FAIL, STATUS_OK, Trials, fmin, hp, space_eval, tpe
from hyperopt.mongoexp import MongoTrials from hyperopt.mongoexp import MongoTrials
from pandas import DataFrame from pandas import DataFrame
import ccxt
import freqtrade.vendor.qtpylib.indicators as qtpylib import freqtrade.vendor.qtpylib.indicators as qtpylib
# Monkey patch config # Monkey patch config
@ -448,7 +449,7 @@ def start(args):
TOTAL_TRIES = args.epochs TOTAL_TRIES = args.epochs
exchange._API = Bittrex({'key': '', 'secret': ''}) exchange._API = ccxt.binance()
# Initialize logger # Initialize logger
logging.basicConfig( logging.basicConfig(

View File

@ -44,7 +44,7 @@ def default_conf():
"ask_last_balance": 0.0 "ask_last_balance": 0.0
}, },
"exchange": { "exchange": {
"name": "bittrex", "name": "binance",
"enabled": True, "enabled": True,
"key": "key", "key": "key",
"secret": "secret", "secret": "secret",

View File

@ -272,10 +272,10 @@ def test_get_order(default_conf, mocker):
def test_get_name(default_conf, mocker): def test_get_name(default_conf, mocker):
mocker.patch('freqtrade.exchange.validate_pairs', mocker.patch('freqtrade.exchange.validate_pairs',
side_effect=lambda s: True) side_effect=lambda s: True)
default_conf['exchange']['name'] = 'bittrex' default_conf['exchange']['name'] = 'binance'
init(default_conf) init(default_conf)
assert get_name() == 'Bittrex' assert get_name() == 'Binance'
def test_get_fee(default_conf, mocker): def test_get_fee(default_conf, mocker):

View File

@ -296,7 +296,7 @@ def test_exec_forcesell_open_orders(default_conf, ticker, mocker):
trade = Trade( trade = Trade(
pair='ETH/BTC', pair='ETH/BTC',
open_rate=1, open_rate=1,
exchange='BITTREX', exchange='binance',
open_order_id='123456789', open_order_id='123456789',
amount=1, amount=1,
fee=0.0, fee=0.0,

View File

@ -74,13 +74,13 @@ def get_market_summaries():
}] }]
def get_health(): def get_markets():
return [{'Currency': 'ETH', 'IsActive': True}, return [{'symbol': 'ETH/BTC', 'base': 'ETH', 'quote':'BTC', 'active': True},
{'Currency': 'TKN', 'IsActive': True}, {'symbol': 'TKN/BTC', 'base': 'TKN', 'quote':'BTC', 'active': True},
{'Currency': 'BLK', 'IsActive': True}] {'symbol': 'BLK/BTC', 'base': 'BLK', 'quote':'BTC', 'active': True}]
def get_health_empty(): def get_markets_empty():
return [] return []
@ -88,7 +88,7 @@ def test_refresh_market_pair_not_in_whitelist(mocker):
conf = whitelist_conf() conf = whitelist_conf()
mocker.patch.dict('freqtrade.main._CONF', conf) mocker.patch.dict('freqtrade.main._CONF', conf)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_wallet_health=get_health) get_markets=get_markets)
refreshedwhitelist = refresh_whitelist( refreshedwhitelist = refresh_whitelist(
conf['exchange']['pair_whitelist'] + ['XXX/BTC']) conf['exchange']['pair_whitelist'] + ['XXX/BTC'])
# List ordered by BaseVolume # List ordered by BaseVolume
@ -101,7 +101,7 @@ def test_refresh_whitelist(mocker):
conf = whitelist_conf() conf = whitelist_conf()
mocker.patch.dict('freqtrade.main._CONF', conf) mocker.patch.dict('freqtrade.main._CONF', conf)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_wallet_health=get_health) get_markets=get_markets)
refreshedwhitelist = refresh_whitelist(conf['exchange']['pair_whitelist']) refreshedwhitelist = refresh_whitelist(conf['exchange']['pair_whitelist'])
# List ordered by BaseVolume # List ordered by BaseVolume
whitelist = ['ETH/BTC', 'TKN/BTC'] whitelist = ['ETH/BTC', 'TKN/BTC']
@ -113,7 +113,7 @@ def test_refresh_whitelist_dynamic(mocker):
conf = whitelist_conf() conf = whitelist_conf()
mocker.patch.dict('freqtrade.main._CONF', conf) mocker.patch.dict('freqtrade.main._CONF', conf)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_wallet_health=get_health) get_markets=get_markets)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_market_summaries=get_market_summaries) get_market_summaries=get_market_summaries)
# argument: use the whitelist dynamically by exchange-volume # argument: use the whitelist dynamically by exchange-volume
@ -127,7 +127,7 @@ def test_refresh_whitelist_dynamic_empty(mocker):
conf = whitelist_conf() conf = whitelist_conf()
mocker.patch.dict('freqtrade.main._CONF', conf) mocker.patch.dict('freqtrade.main._CONF', conf)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_wallet_health=get_health_empty) get_markets=get_markets_empty)
# argument: use the whitelist dynamically by exchange-volume # argument: use the whitelist dynamically by exchange-volume
whitelist = [] whitelist = []
conf['exchange']['pair_whitelist'] = [] conf['exchange']['pair_whitelist'] = []

View File

@ -1,6 +1,7 @@
# pragma pylint: disable=missing-docstring, C0103 # pragma pylint: disable=missing-docstring, C0103
import copy import copy
import logging import logging
import ccxt
from unittest.mock import MagicMock from unittest.mock import MagicMock
import arrow import arrow
@ -81,7 +82,7 @@ def test_process_trade_creation(default_conf, ticker, limit_buy_order, health, m
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(), validate_pairs=MagicMock(),
get_ticker=ticker, get_ticker=ticker,
get_wallet_health=health, #get_wallet_health=health,
buy=MagicMock(return_value='mocked_limit_buy'), buy=MagicMock(return_value='mocked_limit_buy'),
get_order=MagicMock(return_value=limit_buy_order)) get_order=MagicMock(return_value=limit_buy_order))
init(default_conf, create_engine('sqlite://')) init(default_conf, create_engine('sqlite://'))
@ -99,7 +100,7 @@ def test_process_trade_creation(default_conf, ticker, limit_buy_order, health, m
assert trade.stake_amount == default_conf['stake_amount'] assert trade.stake_amount == default_conf['stake_amount']
assert trade.is_open assert trade.is_open
assert trade.open_date is not None assert trade.open_date is not None
assert trade.exchange == Exchanges.BITTREX.name assert trade.exchange == 'binance'
assert trade.open_rate == 0.00001099 assert trade.open_rate == 0.00001099
assert trade.amount == 90.99181073703367 assert trade.amount == 90.99181073703367
@ -112,7 +113,7 @@ def test_process_exchange_failures(default_conf, ticker, health, mocker):
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(), validate_pairs=MagicMock(),
get_ticker=ticker, get_ticker=ticker,
get_wallet_health=health, #get_wallet_health=health,
buy=MagicMock(side_effect=requests.exceptions.RequestException)) buy=MagicMock(side_effect=requests.exceptions.RequestException))
init(default_conf, create_engine('sqlite://')) init(default_conf, create_engine('sqlite://'))
result = _process(interval=int(default_conf['ticker_interval'])) result = _process(interval=int(default_conf['ticker_interval']))
@ -128,7 +129,7 @@ def test_process_operational_exception(default_conf, ticker, health, mocker):
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(), validate_pairs=MagicMock(),
get_ticker=ticker, get_ticker=ticker,
get_wallet_health=health, #get_wallet_health=health,
buy=MagicMock(side_effect=OperationalException)) buy=MagicMock(side_effect=OperationalException))
init(default_conf, create_engine('sqlite://')) init(default_conf, create_engine('sqlite://'))
assert get_state() == State.RUNNING assert get_state() == State.RUNNING
@ -146,7 +147,7 @@ def test_process_trade_handling(default_conf, ticker, limit_buy_order, health, m
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
validate_pairs=MagicMock(), validate_pairs=MagicMock(),
get_ticker=ticker, get_ticker=ticker,
get_wallet_health=health, #get_wallet_health=health,
buy=MagicMock(return_value='mocked_limit_buy'), buy=MagicMock(return_value='mocked_limit_buy'),
get_order=MagicMock(return_value=limit_buy_order)) get_order=MagicMock(return_value=limit_buy_order))
init(default_conf, create_engine('sqlite://')) init(default_conf, create_engine('sqlite://'))
@ -181,7 +182,7 @@ def test_create_trade(default_conf, ticker, limit_buy_order, mocker):
assert trade.stake_amount == 0.001 assert trade.stake_amount == 0.001
assert trade.is_open assert trade.is_open
assert trade.open_date is not None assert trade.open_date is not None
assert trade.exchange == Exchanges.BITTREX.name assert trade.exchange == 'binance'
# Simulate fulfilled LIMIT_BUY order for trade # Simulate fulfilled LIMIT_BUY order for trade
trade.update(limit_buy_order) trade.update(limit_buy_order)
@ -455,7 +456,7 @@ def test_check_handle_timedout_buy(default_conf, ticker, limit_buy_order_old, mo
trade_buy = Trade( trade_buy = Trade(
pair='ETH/BTC', pair='ETH/BTC',
open_rate=0.00001099, open_rate=0.00001099,
exchange='BITTREX', exchange='binance',
open_order_id='123456789', open_order_id='123456789',
amount=90.99181073, amount=90.99181073,
fee=0.0, fee=0.0,
@ -504,7 +505,7 @@ def test_check_handle_timedout_sell(default_conf, ticker, limit_sell_order_old,
trade_sell = Trade( trade_sell = Trade(
pair='ETH/BTC', pair='ETH/BTC',
open_rate=0.00001099, open_rate=0.00001099,
exchange='BITTREX', exchange='binance',
open_order_id='123456789', open_order_id='123456789',
amount=90.99181073, amount=90.99181073,
fee=0.0, fee=0.0,
@ -553,7 +554,7 @@ def test_check_handle_timedout_partial(default_conf, ticker, limit_buy_order_old
trade_buy = Trade( trade_buy = Trade(
pair='ETH/BTC', pair='ETH/BTC',
open_rate=0.00001099, open_rate=0.00001099,
exchange='BITTREX', exchange='binance',
open_order_id='123456789', open_order_id='123456789',
amount=90.99181073, amount=90.99181073,
fee=0.0, fee=0.0,

View File

@ -320,7 +320,7 @@ def test_clean_dry_run_db(default_conf):
amount=123.0, amount=123.0,
fee=0.0025, fee=0.0025,
open_rate=0.123, open_rate=0.123,
exchange='BITTREX', exchange='binance',
open_order_id='dry_run_buy_12345' open_order_id='dry_run_buy_12345'
) )
Trade.session.add(trade) Trade.session.add(trade)
@ -331,7 +331,7 @@ def test_clean_dry_run_db(default_conf):
amount=123.0, amount=123.0,
fee=0.0025, fee=0.0025,
open_rate=0.123, open_rate=0.123,
exchange='BITTREX', exchange='binance',
open_order_id='dry_run_sell_12345' open_order_id='dry_run_sell_12345'
) )
Trade.session.add(trade) Trade.session.add(trade)
@ -343,7 +343,7 @@ def test_clean_dry_run_db(default_conf):
amount=123.0, amount=123.0,
fee=0.0025, fee=0.0025,
open_rate=0.123, open_rate=0.123,
exchange='BITTREX', exchange='binance',
open_order_id='prod_buy_12345' open_order_id='prod_buy_12345'
) )
Trade.session.add(trade) Trade.session.add(trade)

View File

@ -3,9 +3,9 @@
"""This script generate json data from bittrex""" """This script generate json data from bittrex"""
import sys import sys
import json import json
import ccxt
from freqtrade import exchange from freqtrade import exchange
from freqtrade.exchange import Bittrex
from freqtrade import misc from freqtrade import misc
parser = misc.common_args_parser('download utility') parser = misc.common_args_parser('download utility')
@ -28,7 +28,7 @@ PAIRS = list(set(PAIRS))
print('About to download pairs:', PAIRS) print('About to download pairs:', PAIRS)
# Init Bittrex exchange # Init Bittrex exchange
exchange._API = Bittrex({'key': '', 'secret': ''}) exchange._API = ccxt.bittrex()
for pair in PAIRS: for pair in PAIRS:
for tick_interval in TICKER_INTERVALS: for tick_interval in TICKER_INTERVALS: