Beispiel #1
0
    def __init__(self, monitor_only=False):
        super(Arbitrage, self).__init__()
        self.base_pair = "Bitfinex_BTC_USD"
        self.pair_1 = "Bitfinex_BT1_USD"
        self.pair_2 = "Bitfinex_BT2_USD"

        self.monitor_only = monitor_only
        self.precision = 2

        self.fee_base = 0.002
        self.fee_pair1 = 0.002
        self.fee_pair2 = 0.002
        """交易所限制的最小交易量,由交易所和币种共同决定"""
        self.min_amount_market = 0.02
        """单次交易的最大量和最小量"""
        self.max_trade_amount = 0.1
        self.min_trade_amount = 0.02

        # 赢利触发点,差价,百分比更靠谱?
        self.profit_trigger = 1.5
        self.last_trade = 0
        self.skip = False

        self.btc_all_origin = 0
        self.error_count = 0

        if not monitor_only:
            self.brokers = broker_factory.create_brokers(
                [self.base_pair, self.pair_1, self.pair_2])
Beispiel #2
0
    def __init__(self, base_pair, pair1, pair2, monitor_only=False, **kwargs):
        super(TriangleArbitrage, self).__init__()
        self.base_pair = base_pair
        self.pair_1 = pair1
        self.pair_2 = pair2
        self.monitor_only = monitor_only
        """小数位进度,usd定价为2, btc定价为8"""
        self.precision = kwargs['precision']
        """交易所和币种对应的手续费, 一般为1%, 2%, 2.5%"""
        self.fee_base = kwargs['fee_base']
        self.fee_pair1 = kwargs['fee_pair1']
        self.fee_pair2 = kwargs['fee_pair2']
        """交易所限制的最小交易量,由交易所和币种共同决定"""
        self.min_amount_market = kwargs['min_amount_market']
        self.min_amount_mid = kwargs['min_amount_mid']
        """单次交易的最大量和最小量"""
        self.max_trade_amount = kwargs['max_trade_amount']
        self.min_trade_amount = kwargs['min_trade_amount']

        # 赢利触发点,差价,百分比更靠谱?
        self.profit_trigger = 1.5
        self.last_trade = 0
        self.skip = False
        self.brokers = broker_factory.create_brokers(
            [self.base_pair, self.pair_1, self.pair_2])

        # just for count for chance profit
        self.count_forward = 0
        self.count_reverse = 0
        self.trigger_diff_percent = 1.0

        logging.debug('t_bfx_bn params: ' + str(kwargs))
Beispiel #3
0
    def __init__(self, base_pair, pair1, pair2, **kwargs):
        super(T_CoinEgg, self).__init__()
        self.base_pair = base_pair
        self.pair_1 = pair1
        self.pair_2 = pair2
        self.monitor_only = kwargs['monitor_only']
        """小数位进度,usd定价为2, btc定价为8"""
        self.precision = kwargs['precision']
        """交易所和币种对应的手续费, 一般为1%, 2%, 2.5%"""
        self.fee_base = kwargs['fee_base']
        self.fee_pair1 = kwargs['fee_pair1']
        self.fee_pair2 = kwargs['fee_pair2']
        """交易所限制的最小交易量,由交易所和币种共同决定"""
        self.min_amount_market = kwargs['min_amount_market']
        self.min_amount_mid = kwargs['min_amount_mid']
        """单次交易的最大量和最小量"""
        self.max_trade_amount = kwargs['max_trade_amount']
        self.min_trade_amount = kwargs['min_trade_amount']

        # 赢利触发点,差价,百分比更靠谱?
        self.profit_trigger = 0.5
        self.last_trade = 0
        self.skip = False

        # just for count for chance profit
        self.count_forward = 0
        self.count_reverse = 0

        if not self.monitor_only:
            self.brokers = broker_factory.create_brokers([self.base_pair, self.pair_1, self.pair_2])
Beispiel #4
0
    def __init__(self):
        super(Maker_ZRX, self).__init__()
        self.mm_market = 'Bitfinex_ZRX_ETH'
        self.hedge_market = 'Binance_ZRX_ETH'

        self.brokers = broker_factory.create_brokers(
            [self.mm_market, self.hedge_market])
        self.mm_broker = self.brokers[self.mm_market]
        self.hedge_broker = self.brokers[self.hedge_market]

        self.local_order = {}

        self.data_lost_count = 0
        self.risk_protect_count = 10

        self.fee_hedge_market = 0.002
        self.fee_mm_market = 0.002

        self.MIN_PRICE_DIFF = 0.02
        self.PLACE_AMOUNT_INIT = 10

        # 滑价
        self.SLID_PRICE = 0.005

        self.tick_count = 0

        self.last_update_min_stock = 0.0
        # Just for bfx
        self.min_amount_trade = 6

        self.cancel_orders(self.mm_market)
        logging.info('liquid_zrx======>Setup complete')
Beispiel #5
0
    def __init__(self):
        super(T_Kkex_BCH, self).__init__()
        self.base_pair = "Bitfinex_BCH_USD"
        self.pair_1 = "Kkex_BCC_BTC"
        self.pair_2 = "Bitfinex_BTC_USD"

        self.monitor_only = True
        self.precision = 2

        self.fee_base = 0.002
        self.fee_pair1 = 0.002
        self.fee_pair2 = 0.002
        """交易所限制的最小交易量,由交易所和币种共同决定"""
        self.min_amount_market = 0.04
        self.min_amount_mid = 0.004
        """单次交易的最大量和最小量"""
        self.max_trade_amount = 0.5
        self.min_trade_amount = 0.05

        # 赢利触发点,差价,百分比更靠谱?
        self.profit_trigger = 0.5
        self.last_trade = 0
        self.skip = False

        self.btc_all_origin = 0
        self.error_count = 0

        if not self.monitor_only:
            self.brokers = broker_factory.create_brokers(
                [self.base_pair, self.pair_1, self.pair_2])
Beispiel #6
0
    def get_balance(cls, args):
        if not args.markets:
            logging.error("You must use --markets argument to specify markets")
            sys.exit(2)
        p_markets = args.markets.split(",")
        brokers = broker_factory.create_brokers(p_markets)

        snapshot = Snapshot()

        while True:
            total_btc = 0.
            total_bch = 0.
            total_eth = 0.
            total_zrx = 0.
            for market in brokers.values():
                market.get_balances()
                print(market)
                total_btc += market.btc_balance
                total_bch += market.bch_balance
                total_eth += market.eth_balance
                total_zrx += market.zrx_balance
                snapshot.snapshot_balance(market.name, market.btc_balance,
                                          market.bch_balance,
                                          market.eth_balance,
                                          market.zrx_balance)

            snapshot.snapshot_balance('ALL', total_btc, total_bch, total_eth,
                                      total_zrx)

            time.sleep(60 * 10)
Beispiel #7
0
    def __init__(self, base_pair, pair_1, pair_2, **kwargs):
        super(T_Bithumb, self).__init__()
        self.base_pair = base_pair
        self.pair_1 = pair_1
        self.pair_2 = pair_2
        self.monitor_only = kwargs['monitor_only']
        """小数位进度,krw定价为2, btc定价为8"""
        self.precision = kwargs['precision']
        """交易所和币种对应的手续费, 一般为1%, 2%, 2.5%"""
        self.fee_base = kwargs['fee_base']
        self.fee_pair1 = kwargs['fee_pair1']
        self.fee_pair2 = kwargs['fee_pair2']
        """交易所限制的最小交易量,由交易所和币种共同决定"""
        self.min_stock_base = kwargs['min_stock_base']
        self.min_stock_1 = kwargs['min_stock_pair1']
        self.min_stock_2 = kwargs['min_stock_pair2']

        self.min_amount_market = max(self.min_stock_base, self.min_stock_1)
        self.min_amount_mid = self.min_stock_2
        self.last_update_min_stock = 0.0
        """单次交易的最大量和最小量"""
        self.max_trade_amount = kwargs['max_trade_amount']
        self.min_trade_amount = kwargs['min_trade_amount']

        # 赢利触发点,差价,百分比更靠谱?
        self.trigger_percent = 0.7
        self.last_trade = 0
        self.skip = False

        # just for count for chance profit
        self.count_forward = 0
        self.count_reverse = 0

        self.origin_assets = {}
        self.risk_count = 0
        self.logging_balance = True

        if not self.monitor_only:
            self.brokers = broker_factory.create_brokers(
                [self.base_pair, self.pair_1, self.pair_2])
            self.update_min_stock()
            self.update_balance()

        self.logger_other = log.get_logger('log/bithumb_other.log')
        logging.debug("T_Bithumb params: " + str(kwargs))
Beispiel #8
0
    def __init__(self):
        super(Liquid, self).__init__()
        self.mm_market = 'Kkex_BCH_BTC'
        self.refer_markets = ['Bitfinex_BCH_BTC']
        self.hedge_market = 'Bitfinex_BCH_BTC'

        self.data_lost_count = 0
        self.risk_protect_count = 10

        self.slappage = 0.005

        self.brokers = broker_factory.create_brokers(
            [self.mm_market, self.hedge_market])
        self.mm_broker = self.brokers[self.mm_market]
        self.hedge_broker = self.brokers[self.hedge_market]

        self.hedge_bid_price = 0.0
        self.hedge_ask_price = 0.0

        self.LIQUID_MIN_DIFF = 0.01
        # self.LIQUID_MAX_DIFF = 0.05
        self.LIQUID_MAX_DIFF = 0.03

        # bfx bch min trade amount = 0.02
        self.LIQUID_HEDGE_MIN_AMOUNT = 0.02
        self.LIQUID_MAX_BCH_AMOUNT = 1
        self.LIQUID_MIN_BCH_AMOUNT = 0.1
        self.LIQUID_BUY_ORDER_PAIRS = 5
        self.LIQUID_SELL_ORDER_PAIRS = 5
        # self.LIQUID_INIT_DIFF = 0.015  # 1%
        self.LIQUID_INIT_DIFF = 0.015  # 1%

        self.cancel_all_orders(self.mm_market)
        self.cancel_all_orders(self.hedge_market)

        self.fee_hedge_market = 0.002
        self.fee_mm_market = 0.002

        self.tick_count = 0

        self.cancel_all_orders(self.mm_market)

        logging.info('Liquid Setup complete')
Beispiel #9
0
    def __init__(self):
        super(Liquid_ZRX, self).__init__()
        self.mm_market = 'Binance_ZRX_ETH'
        self.refer_markets = ['Bitfinex_ZRX_ETH']
        self.hedge_market = 'Bitfinex_ZRX_ETH'

        self.data_lost_count = 0
        self.risk_protect_count = 10

        self.slappage = 0.005

        self.brokers = broker_factory.create_brokers(
            [self.mm_market, self.hedge_market])
        self.mm_broker = self.brokers[self.mm_market]
        self.mm_broker.set_max_volume_risk_protect(1000)
        self.hedge_broker = self.brokers[self.hedge_market]
        self.hedge_broker.set_max_volume_risk_protect(1000)

        self.hedge_bid_price = 0.0
        self.hedge_ask_price = 0.0

        self.LIQUID_MIN_DIFF = 0.01
        # self.LIQUID_MAX_DIFF = 0.05
        self.LIQUID_MAX_DIFF = 0.03

        self.LIQUID_HEDGE_MIN_AMOUNT = 6
        self.LIQUID_MAX_ZRX_AMOUNT = 200
        self.LIQUID_MIN_ZRX_AMOUNT = 50
        self.LIQUID_BUY_ORDER_PAIRS = 5
        self.LIQUID_SELL_ORDER_PAIRS = 5
        self.LIQUID_INIT_DIFF = 0.015  # 1%

        self.fee_hedge_market = 0.002
        self.fee_mm_market = 0.002

        self.tick_count = 0

        self.cancel_orders(self.mm_market)
        self.cancel_orders(self.hedge_market)

        self.last_update_min_stock = 0.0

        logging.info('Liquid_ZRX Setup complete')
Beispiel #10
0
    def __init__(self, base_pair, pair1, pair2, monitor_only=False):
        super(TriangleArbitrage, self).__init__()

        self.base_pair = base_pair
        self.pair_1 = pair1
        self.pair_2 = pair2
        self.monitor_only = monitor_only

        self.brokers = broker_factory.create_brokers([self.base_pair, self.pair_1, self.pair_2])

        self.last_trade = 0
        self.min_amount_bch = 0.0001
        self.min_amount_btc = 0.005
        # 保留的小树位精度
        self.precision = 8
        # 赢利触发点
        self.profit_trigger = 1.5
        self.skip = False

        # 分别的手续费
        self.fee_base = 0.001
        self.fee_pair1 = 0.001
        self.fee_pair2 = 0.001
Beispiel #11
0
# print(resp)
'''test cancel order'''
# order_id = '5951670653'
# resp = client.cancel_order(order_id)
# print(resp)
'''test cancel all orders'''
# print(client.cancel_all_orders())
'''test orders'''
# resp = client.orders_history(1)
# if resp:
#     print('orders history : ' + str(resp))
# else:
#     print('orders history failed')
'''test broker'''
pair_code = 'Bitfinex_ZRX_ETH'
brokers = create_brokers([pair_code])
broker = brokers[pair_code]
'''test sell order'''
# price = 0.0019
# amount = 6
# order = broker.sell_limit(price=price, amount=amount)
# if order:
#     print('sell order: %s' % str(order))
# else:
#     print('sell order failed')
'''test get order 7361152886'''
# order_id = 7361152886
# order = broker.get_order(order_id=order_id)
# if order:
#     print('get order: %s' % str(order))
# else: