Exemplo n.º 1
0
def inago():
    data = json.loads(request.body.read().decode(utf8))
    board_name = data['boardName']
    taker_side = data['takerSide']
    volume = data['volume']
    last_price = data['lastPrice']
    pair_currency = data['pairCurrency']
    from_unix_time = data['fromUnixTime']
    to_unix_time = data['toUnixTime']
    bitbank = ccxt.bitbank({
        'apiKey': BITBANK_API_KEY,
        'secret': BITBANK_API_SECRET
    })
    bitbank_last_price = int(
        requests.get('https://public.bitbank.cc/btc_jpy/ticker').json()['data']
        ['last'])
    if volume > 1000 and taker_side == 'buy':
        bitbank.create_limit_buy_order('BTC/JPY', 0.001,
                                       bitbank_last_price - 500)
        return {'data': 'buy!!'}

    return {'data': 'ok'}
Exemplo n.º 2
0
    def btc(self):
        while True:
            try:
                bitbank = ccxt.bitbank()  # 取引所の指定
                bitbnka_id = bitbank.id  # bitbankのIDを取得
                # biybankのXRP/JPYのオーダーブックの取得
                bitbank_orderbook = bitbank.fetch_order_book('BTC/JPY')
                # bitbank_orderbookからbidsの値を取得
                bitbank_bid = bitbank_orderbook['bids'][0][0] \
                    if (bitbank_orderbook['bids']) else None
                # bitbank_orderbookからasksの値を取得
                bitbank_ask = bitbank_orderbook['asks'][0][0] \
                    if (bitbank_orderbook['asks']) else None
                orderbook = {'bitbank': {}, 'bid': {}, 'ask': {}}
                orderbook['bitbank'] = {'bitbank_id': bitbnka_id}
                orderbook['bid'] = {bitbnka_id: bitbank_bid}
                orderbook['ask'] = {bitbnka_id: bitbank_ask}
                return orderbook

            except ccxt.BaseError:
                print("取引所から取引データを取得できません。")
                print("10秒待機してやり直します")
                time.sleep(10)
Exemplo n.º 3
0
    def difference_xrp_btc(self):
        """取引所間でのxrp差額を求めるメソッド
                    (bitbank,binance,coinex)"""
        while True:
            try:
                bitbanks = ccxt.bitbank()
                bitbank_btc_jpy = bitbanks.fetch_ticker('BTC/JPY')
                bitbank_xrp_jpy = bitbanks.fetch_ticker('XRP/JPY')
                bitbank_xrp_btc_bid = bitbank_xrp_jpy.get(
                    "bid") / bitbank_btc_jpy.get("ask")
                bitbank_xrp_btc_ask = bitbank_xrp_jpy.get(
                    "ask") / bitbank_btc_jpy.get("bid")

                # binanceからXRP/BTC通貨情報取得
                binances = ccxt.binance()
                binance_xrp_btc = binances.fetch_ticker('XRP/BTC')

                # coinexからXRP/BTC通貨情報取得
                coinex = ccxt.coinex()
                coinex_xrp_btc = coinex.fetch_ticker('XRP/BTC')

                # bitbankとbinance間の差額
                profit_bitbank_binance = (
                    (binance_xrp_btc.get("bid") - bitbank_xrp_btc_ask) *
                    self) * bitbank_btc_jpy.get("bid")
                profit_binance_bitbank = (
                    (bitbank_xrp_btc_bid - binance_xrp_btc.get("ask")) *
                    self) * bitbank_btc_jpy.get("bid")

                # bitbankとcoinex間の差額
                profit_bitbank_coinex = (
                    (coinex_xrp_btc.get("bid") - bitbank_xrp_btc_ask) *
                    self) * bitbank_btc_jpy.get("bid")
                profit_coinex_bitbank = (
                    (bitbank_xrp_btc_bid - coinex_xrp_btc.get("ask")) *
                    self) * bitbank_btc_jpy.get("bid")

                # binanceとcoinex間の差額
                profit_binance_coinex = (
                    (coinex_xrp_btc.get("bid") - binance_xrp_btc.get("ask")) *
                    self) * bitbank_btc_jpy.get("bid")
                profit_coinex_binance = (
                    (binance_xrp_btc.get("bid") - coinex_xrp_btc.get("ask")) *
                    self) * bitbank_btc_jpy.get("bid")

                #'XRPを取引した場合の最大利益(jpy):'
                maxvalue = max([
                    profit_bitbank_binance, profit_binance_bitbank,
                    profit_bitbank_coinex, profit_coinex_bitbank,
                    profit_binance_coinex, profit_coinex_binance
                ])
                #'XRPを取引した場合の最低利益(jpy):'
                minvalue = min([
                    profit_bitbank_binance, profit_binance_bitbank,
                    profit_bitbank_coinex, profit_coinex_bitbank,
                    profit_binance_coinex, profit_coinex_binance
                ])

                resultsample = {
                    'bitbank_binance': profit_bitbank_binance,
                    'binance_bitbank': profit_binance_bitbank,
                    'bitbank_coinex': profit_bitbank_coinex,
                    'coinex_bitbank': profit_coinex_bitbank,
                    'binance_coinex': profit_binance_coinex,
                    'coinex_binance': profit_coinex_binance
                }
                max_k = max(resultsample, key=resultsample.get)
                print(max_k)
                min_k = min(resultsample, key=resultsample.get)
                print(min_k)

                # 最大利益が出る取引所からいくら購入したのか
                if max_k.startswith('bitbank'):
                    price_buy = bitbank_xrp_btc_ask
                elif max_k.startswith('binance'):
                    price_buy = binance_xrp_btc.get("ask") * self
                elif max_k.startswith('coinex'):
                    price_buy = coinex_xrp_btc.get("ask") * self
                else:
                    price_buy = 0

                # 最大利益が出る取引所からいくら売ったのか
                if max_k.endswith('bitbank'):
                    price_sale = bitbank_xrp_btc_bid
                elif max_k.endswith('binans'):
                    price_sale = binance_xrp_btc.get("bid") * self
                elif max_k.endswith('coinex'):                     \
                                            price_sale = coinex_xrp_btc.get("bid") * self
                else:
                    price_sale = 0

                resultarray = {
                    'bitbank_binance': round(profit_bitbank_binance, 3),
                    'binance_bitbank': round(profit_binance_bitbank, 3),
                    'bitbank_coinex': round(profit_bitbank_coinex, 3),
                    'coinex_bitbank': round(profit_coinex_bitbank, 3),
                    'binance_coinex': round(profit_binance_coinex, 3),
                    'coinex_binance': round(profit_coinex_binance, 3),
                    'max': max_k,
                    'min': min_k,
                    'maxvalue': round(maxvalue, 3),
                    'minvalue': round(minvalue, 3),
                    'max_buy': price_buy,
                    'min_sale': price_sale
                }
                return resultarray
            except ccxt.BaseError:
                print("取引所から取引データを取得できません。")
                print("10秒待機してやり直します")
                time.sleep(10)
Exemplo n.º 4
0
    def difference_ltc_btc(self):
        """取引所間でのLTC差額を求めるメソッド
                    (bitbank,binance,coinex)"""
        while True:
            try:
                bitbanks = ccxt.bitbank()
                bitbank_btc_jpy = bitbanks.fetch_ticker('BTC/JPY')
                bitbank_ltc_btc = bitbanks.fetch_ticker('LTC/BTC')
                bitbank_ltc_btc_bid = bitbank_ltc_btc.get("bid") * self
                bitbank_ltc_btc_ask = bitbank_ltc_btc.get("ask") * self
                print(bitbank_ltc_btc_ask)
                print(bitbank_ltc_btc_bid)
                # binanceからXRP/BTC通貨情報取得
                binances = ccxt.binance()
                binance_xrp_btc = binances.fetch_ticker('LTC/BTC')
                print(binance_xrp_btc.get("ask"))
                binance_ltc_btc_ask = (binance_xrp_btc.get("ask")) * self
                print(binance_xrp_btc.get("bid"))
                binance_ltc_btc_bid = (binance_xrp_btc.get("bid")) * self

                # bitbankとbinance間の差額
                profit_bitbank_binance = (
                    binance_ltc_btc_bid -
                    bitbank_ltc_btc_ask) * bitbank_btc_jpy.get("bid")
                profit_binance_bitbank = (
                    bitbank_ltc_btc_bid -
                    binance_ltc_btc_ask) * bitbank_btc_jpy.get("bid")

                resultsample = {
                    'bitbank_binance': profit_bitbank_binance,
                    'binance_bitbank': profit_binance_bitbank,
                }
                max_k = max(resultsample, key=resultsample.get)
                print(max_k)
                min_k = min(resultsample, key=resultsample.get)
                print(min_k)

                # 最大利益が出る取引所からいくら購入したのか
                if max_k.startswith('bitbank'):
                    price_buy = bitbank_ltc_btc_ask * bitbank_btc_jpy.get(
                        "bid")
                    print(bitbank_ltc_btc_ask)
                elif max_k.startswith('binance'):
                    price_buy = binance_ltc_btc_ask * bitbank_btc_jpy.get(
                        "bid")
                else:
                    price_buy = 0

                # 最大利益が出る取引所からいくら売ったのか
                if max_k.endswith('bitbank'):
                    price_sale = bitbank_ltc_btc_bid * bitbank_btc_jpy.get(
                        "bid")
                elif max_k.endswith('binance'):
                    price_sale = binance_ltc_btc_bid * bitbank_btc_jpy.get(
                        "bid")
                else:
                    price_sale = 0

                # 'BTCを取引した場合の最大利益(jpy):'
                maxvalue = max(
                    [profit_bitbank_binance, profit_binance_bitbank])
                # 'BTCを取引した場合の最低利益(jpy):'
                minvalue = min(
                    [profit_bitbank_binance, profit_binance_bitbank])

                resultarray = {
                    'bitbank_binance': round(profit_bitbank_binance, 3),
                    'binance_bitbank': round(profit_binance_bitbank, 3),
                    'max': max_k,
                    'min': min_k,
                    'maxvalue': round(maxvalue, 3),
                    'minvalue': round(minvalue, 3),
                    'max_buy': round(price_buy, 3),
                    'min_sale': round(price_sale, 3)
                }
                return resultarray
            except ccxt.BaseError:
                print("取引所から取引データを取得できません。")
                print("10秒待機してやり直します")
                time.sleep(10)
Exemplo n.º 5
0
import pandas as pd

liq = ccxt.liquid({
    "apiKey": "XXXXX",
    "secret": "XXXXX",
})  # APIキー,シークレットキーを設定
bitf = ccxt.bitflyer({
    "apiKey": "XXXXX",
    "secret": "XXXXX",
})  # APIキー,シークレットキーを設定
ccc = ccxt.coincheck({
    "apiKey": "XXXXX",
    "secret": "XXXXX",
})  # APIキー,シークレットキーを設定
bitb = ccxt.bitbank({
    "apiKey": "XXXXX",
    "secret": "XXXXX",
})  # APIキー,シークレットキーを設定


def bitflyer_ws(soushin_buy, soushin_sell):
    # print('bitflyer start')
    def on_message(ws, message):
        r = json.loads(message)
        best_bid = r["params"]["message"]["best_bid"]
        best_ask = r["params"]["message"]["best_ask"]
        soushin_buy.send(best_ask)
        soushin_sell.send(best_bid)

    def on_error(ws, error):
        print(error)
Exemplo n.º 6
0
exchange_class = getattr(ccxt, exchange_id)
binance = exchange_class({
    'apiKey': usuario,
    'secret': clave,
    'timeout': 30000,
    'enableRateLimit:': True,
})
'''

casas_cambio = ccxt.exchanges

# binance=ccxt.binance()

exchange_trabajo = 'bitbank'

exchange = ccxt.bitbank()

mercados = exchange.load_markets(True)

monedas = exchange.currencies

simbolos = exchange.symbols

metodos = dir(exchange)

print("empezamos")
''' MIRAMOS PRIMERO CVV >=1 Y LUEGO VCC >=1  YA VIENE EN LA IMPORTACION DEL FICHERO
par1 = 'ADA/BTC'  # COMPRA
par2 = 'ETH/BTC'  # VENTA
par3 = 'ADA/ETH'  # VENTA
'''
Exemplo n.º 7
0
def init_supported_exchanges():
    objects = {
        "acx": ccxt.acx(),
        "aofex": ccxt.aofex(),
        "bequant": ccxt.bequant(),
        "bibox": ccxt.bibox(),
        "bigone": ccxt.bigone(),
        "binance": ccxt.binance(),
        "bitbank": ccxt.bitbank(),
        "bitbay": ccxt.bitbay(),
        "bitfinex": ccxt.bitfinex(),
        "bitflyer": ccxt.bitflyer(),
        "bitforex": ccxt.bitforex(),
        "bithumb": ccxt.bithumb(),
        "bitkk": ccxt.bitkk(),
        "bitmax": ccxt.bitmax(),
        "bitstamp": ccxt.bitstamp(),
        "bittrex": ccxt.bittrex(),
        "bitz": ccxt.bitz(),
        "bl3p": ccxt.bl3p(),
        "bleutrade": ccxt.bleutrade(),
        "braziliex": ccxt.braziliex(),
        "btcalpha": ccxt.btcalpha(),
        "btcbox": ccxt.btcbox(),
        "btcmarkets": ccxt.btcmarkets(),
        "btctradeua": ccxt.btctradeua(),
        "bw": ccxt.bw(),
        "bybit": ccxt.bybit(),
        "bytetrade": ccxt.bytetrade(),
        "cex": ccxt.cex(),
        "chilebit": ccxt.chilebit(),
        "coinbase": ccxt.coinbase(),
        "coinbasepro": ccxt.coinbasepro(),
        "coincheck": ccxt.coincheck(),
        "coinegg": ccxt.coinegg(),
        "coinex": ccxt.coinex(),
        "coinfalcon": ccxt.coinfalcon(),
        "coinfloor": ccxt.coinfloor(),
        "coinmate": ccxt.coinmate(),
        "coinone": ccxt.coinone(),
        "crex24": ccxt.crex24(),
        "currencycom": ccxt.currencycom(),
        "digifinex": ccxt.digifinex(),
        "dsx": ccxt.dsx(),
        "eterbase": ccxt.eterbase(),
        "exmo": ccxt.exmo(),
        "exx": ccxt.exx(),
        "foxbit": ccxt.foxbit(),
        "ftx": ccxt.ftx(),
        "gateio": ccxt.gateio(),
        "gemini": ccxt.gemini(),
        "hbtc": ccxt.hbtc(),
        "hitbtc": ccxt.hitbtc(),
        "hollaex": ccxt.hollaex(),
        "huobipro": ccxt.huobipro(),
        "ice3x": ccxt.ice3x(),
        "independentreserve": ccxt.independentreserve(),
        "indodax": ccxt.indodax(),
        "itbit": ccxt.itbit(),
        "kraken": ccxt.kraken(),
        "kucoin": ccxt.kucoin(),
        "lakebtc": ccxt.lakebtc(),
        "latoken": ccxt.latoken(),
        "lbank": ccxt.lbank(),
        "liquid": ccxt.liquid(),
        "livecoin": ccxt.livecoin(),
        "luno": ccxt.luno(),
        "lykke": ccxt.lykke(),
        "mercado": ccxt.mercado(),
        "oceanex": ccxt.oceanex(),
        "okcoin": ccxt.okcoin(),
        "okex": ccxt.okex(),
        "paymium": ccxt.paymium(),
        "poloniex": ccxt.poloniex(),
        "probit": ccxt.probit(),
        "southxchange": ccxt.southxchange(),
        "stex": ccxt.stex(),
        "surbitcoin": ccxt.surbitcoin(),
        "therock": ccxt.therock(),
        "tidebit": ccxt.tidebit(),
        "tidex": ccxt.tidex(),
        "upbit": ccxt.upbit(),
        "vbtc": ccxt.vbtc(),
        "wavesexchange": ccxt.wavesexchange(),
        "whitebit": ccxt.whitebit(),
        "yobit": ccxt.yobit(),
        "zaif": ccxt.zaif(),
        "zb": ccxt.zb()
    }
    return objects
Exemplo n.º 8
0
# coding: utf-8

import ccxt
import pandas as pd
import numpy as np
from pprint import pprint
import time

#各取引所のAPIを取得
cc = ccxt.coincheck()
bf = ccxt.bitflyer()
zaif = ccxt.zaif()
bb = ccxt.bitbank()

#for i in range(0, 3, 1):

#各取引所のBTC価格(ticker)を取得
#CC ticker情報
cc_ticker = cc.fetch_ticker("BTC/JPY")
ccask = cc_ticker["ask"]
ccbid = cc_ticker["bid"]

#bf ticker情報
bf_ticker = bf.fetch_ticker("BTC/JPY")
bfask = bf_ticker["ask"]
bfbid = bf_ticker["bid"]

#zaif ticker情報
zaif_ticker = zaif.fetch_ticker("BTC/JPY")
zaifask = zaif_ticker["ask"]
zaifbid = zaif_ticker["bid"]
Exemplo n.º 9
0
 def __init__(self):
     self.ex_list = [ccxt.liquid(), "bitfyler" , ccxt.coincheck(), ccxt.bitbank(),ccxt.btcbox(),"GMO"]
     self.ex_name_list = ["liquid","bitfyler","coincheck", "bitbank","btcbox" ,"GMO"]
Exemplo n.º 10
0
import time

import ccxt
import pandas as pd
from IPython.display import display

gateio = ccxt.gateio()
gdax = ccxt.gdax()
# kraken = ccxt.kraken()
binance = ccxt.binance()
bitbank = ccxt.bitbank()
bit2c = ccxt.bit2c()
bitbay = ccxt.bitbay()

exchanges = {
    gateio: ['ETH/BTC', 'LTC/BTC'],
    gdax: ['ETH/BTC', 'LTC/BTC', 'BTC/USD'],
    # kraken: ['ETH/BTC', 'LTC/BTC', 'BTC/USD'],
    binance: ['ETH/BTC', 'LTC/BTC'],
    bitbank: ['ETH/BTC', 'LTC/BTC'],
    bit2c: ['BTC/NIS', 'LTC/NIS'],
    bitbay: ['ETH/BTC', 'LTC/BTC']

}


def get_top_of_book(exchange, symbol):
    book = exchange.fetch_order_book(symbol)
    best_bid_price = book['bids'][0][0]
    best_ask_price = book['asks'][0][0]
    return best_bid_price, best_ask_price
Exemplo n.º 11
0
"""取引所から通貨情報を取得する"""
# coding: UTF-8 文字コード指定
import time

import ccxt  # 取引所ライブラリをインポート

BITBANK = ccxt.bitbank()  # 取引所の指定


def bitbank_id() -> " BITBANK取引所ID":
    """取引所IDを返します"""
    return BITBANK.id



def bitbank_bid() -> " RXP/BTC購入価格":
    """購入価格を返します"""
    bitbank_orderbook = BITBANK.fetch_order_book('XRP/JPY')
    return bitbank_orderbook['bids'][0][0] if (bitbank_orderbook['bids']) else None


def bitbank_ask() -> "RXP/BTC売却価格":
    """売却価格を返します"""
    bitbank_orderbook = BITBANK.fetch_order_book('XRP/JPY')
    return bitbank_orderbook['asks'][0][0] if (bitbank_orderbook['asks'])  else None


def bitbank_spread() -> "RXP/BTCスプレッド":
    """スプレッド情報を返します"""
    return (bitbank_ask() - bitbank_bid()) if (bitbank_bid() and bitbank_ask()) else None
Exemplo n.º 12
0
import ccxt

exchanges = [
    ccxt._1broker(),
    ccxt._1btcxe(),
    ccxt.acx(),
    ccxt.allcoin(),
    ccxt.anxpro(),
    ccxt.bibox(),
    ccxt.binance(),
    ccxt.bit2c(),
    ccxt.bitbank(),
    ccxt.bitbay(),
    ccxt.bitfinex(),
    ccxt.bitfinex2(),
    ccxt.bitflyer(),
    ccxt.bithumb(),
    ccxt.bitkk(),
    ccxt.bitlish(),
    ccxt.bitmarket(),
    ccxt.bitmex(),
    ccxt.bitso(),
    ccxt.bitstamp(),
    ccxt.bitstamp1(),
    ccxt.bittrex(),
    ccxt.bitz(),
    ccxt.bl3p(),
    ccxt.bleutrade(),
    ccxt.braziliex(),
    ccxt.btcbox(),
    ccxt.btcchina(),
Exemplo n.º 13
0
 def public_bitbank(cls):
     """publicキーの処理"""
     bitbank = ccxt.bitbank()
     return bitbank
Exemplo n.º 14
0
import sys
import time
import ccxt
import json
import os

print('shell start')
interval = 1
ex = ccxt.bitbank()
ex_name = 'bb'
filename = os.path.normpath(
    os.path.join(os.path.abspath(__name__),
                 '../tickers/' + ex_name + '_ticker.json'))

try:
    while True:

        ex_json = ex.fetch_ticker('BTC/JPY')

        with open(filename, 'w') as f:
            json.dump(ex_json, f, indent=2, ensure_ascii=False)
        time.sleep(interval)
except:
    print('through any exception. exit get_' + ex_name + '_ticker.py')
    sys.exit()