def get_coin_info(): korbit_machine = KorbitMachine() coiner = Coiner(korbit_machine) result_etc = coiner.get_filled_orders(coin_type="etc_krw") result_eth = coiner.get_filled_orders(coin_type="eth_krw") result_btc = coiner.get_filled_orders(coin_type="btc_krw") result_xrp = coiner.get_filled_orders(coin_type="xrp_krw") result_bch = coiner.get_filled_orders(coin_type="bch_krw") mongodb = mongodb_handler.MongoDbHandler("local", "coiner", "price_info") result_list = result_etc + result_eth + result_btc + result_xrp + result_bch ids = mongodb.insert_items(result_list)
class KorbitMachineTestCase(unittest.TestCase): def setUp(self): self.korbit_machine = KorbitMachine() def tearDown(self): pass def test_set_token(self): print(inspect.stack()[0][3]) expire, access_token, refresh_token = self.korbit_machine.set_token( grant_type="client_credentials") assert access_token print("Expire: %s, Access_token: %s, Refresh_token: %s" % (expire, access_token, refresh_token)) def test_get_token(self): print(inspect.stack()[0][3]) self.korbit_machine.set_token(grant_type="client_credentials") access_token = self.korbit_machine.get_token() assert access_token print("Access_token: " + access_token)
def get_currency_info(): """셀러리(Celery)에 등록되는 task로 코빗 거래소에서 최근 1분간 화폐정보를 가져오기 위한 task입니다. 가져온 데이터는 MongoDBHandler를 이용해 Mongodb에 넣습니다. """ korbit = KorbitMachine() result_etc = korbit.get_filled_orders(currency_type="etc_krw") result_eth = korbit.get_filled_orders(currency_type="eth_krw") result_btc = korbit.get_filled_orders(currency_type="btc_krw") result_xrp = korbit.get_filled_orders(currency_type="xrp_krw") result_bch = korbit.get_filled_orders(currency_type="bch_krw") result_btg = korbit.get_filled_orders(currency_type="btg_krw") result_btg = korbit.get_filled_orders(currency_type="ltc_krw") mongodb = MongoDBHandler("local", "coiner", "price_info") result_list = result_etc + result_eth + result_btc + result_xrp + result_bch + result_btg if len(result_list) != 0: for item in result_list: d = datetime.fromtimestamp(item["timestamp"]/1000) item["year"] = d.year item["month"] = d.month item["day"] = d.day item["hour"] = d.hour item["minute"] = d.minute item["second"] = d.second item["amount"] = float(item["amount"]) item["timestamp"] = item["timestamp"]/1000 item.pop("tid") ids = mongodb.insert_items(result_list)
def check_my_order(self): self.check_buy_ordered() self.check_buy_completed() self.check_sell_ordered() self.check_sell_completed() self.check_keep_ordered() def run(self): if self.params["is_active"] == "active": self.check_my_order() self.scenario() else: logger.info("inactive") if __name__ == "__main__": mongodb = MongoDBHandler(mode="local", db_name="coiner", collection_name="price_info") korbit_machine = KorbitMachine() pusher = PushSlack() if len(sys.argv) > 0: trader = StepTrade(machine=korbit_machine, db_handler=mongodb, strategy=sys.argv[1], currency_type=sys.argv[2], pusher=pusher) trader.run()
from celery import Celery, Task from autotrading.db.mongodb import MongoDbHandler from autotrading.machine.korbit_machine import KorbitMachine from autotrading.pusher.slack import PushSlack app = Celery('get_coin_info', backend='redis://localhost:6379/0', broker='redis://localhost:6379/0') config = configparser.ConfigParser() config.read('conf/config.ini') client_id = config['KORBIT']['client_id'] client_secret = config['KORBIT']['client_secret'] username = config['KORBIT']['username'] password = config['KORBIT']['password'] machine = KorbitMachine(mode="Prod", client_id=client_id, client_secret=client_secret, username=username, password=password) db_handler_local = MongoDbHandler("local", "coiner", "price_info") db_handler_remote = MongoDbHandler("remote", "coiner", "price_info") pusher = PushSlack() app.conf.beat_schedule = { 'add-every-1-min': { 'task': 'scheduler.trader.trader', 'schedule': 60.0, 'args':(), }, }
def setUp(self): self.korbit_machine = KorbitMachine() self.korbit_machine.set_token()
class KorbitMachineTestCase(unittest.TestCase): def setUp(self): self.korbit_machine = KorbitMachine() self.korbit_machine.set_token() def test_set_token(self): print(inspect.stack()[0][3]) expire, access_token, refresh_token = self.korbit_machine.set_token(grant_type="password") assert expire and access_token and refresh_token print("Expire:", expire, "Access_token:", access_token, "Refresh_token:", refresh_token) def test_get_token(self): print(inspect.stack()[0][3]) self.korbit_machine.set_token(grant_type="password") access_token = self.korbit_machine.get_token() assert access_token print(access_token) def test_get_ticker(self): print(inspect.stack()[0][3]) ticker = self.korbit_machine.get_ticker("etc_krw") assert ticker print(ticker) def test_get_filled_orders(self): print(inspect.stack()[0][3]) order_book = self.korbit_machine.get_filled_orders(currency_type="btc_krw") assert order_book print(order_book) def test_get_constants(self): print(inspect.stack()[0][3]) constants = self.korbit_machine.get_constants() assert constants print(constants) def test_get_wallet_status(self): print(inspect.stack()[0][3]) wallet_status = self.korbit_machine.get_wallet_status() assert wallet_status print(wallet_status) #print("balance:"+wallet_status["krw"]["avail"]) def test_get_list_my_orders(self): print(inspect.stack()[0][3]) my_orders = self.korbit_machine.get_list_my_orders("etc_krw") assert my_orders print(my_orders) def test_get_my_order_status(self): print(inspect.stack()[0][3]) my_order = self.korbit_machine.get_my_order_status("etc_krw", "8100321") assert my_order print(my_order) def test_cacnel_order(self): print(inspect.stack()[0][3]) cancel_order = self.korbit_machine.cancel_order(currency_type="etc_krw", order_id="5064611") assert cancel_order print(cancel_order) def test_buy_order(self): print(inspect.stack()[0][3]) buy_order = self.korbit_machine.buy_order(currency_type="etc_krw", price="15000", qty="1", order_type="limit") assert buy_order print(buy_order) def test_sell_order(self): print(inspect.stack()[0][3]) sell_order = self.korbit_machine.sell_order(currency_type="etc_krw", price="40000", qty="1", order_type="limit") assert sell_order print(sell_order) def test_get_nonce(self): print(inspect.stack()[0][3]) nonce = self.korbit_machine.get_nonce() assert nonce print(nonce) def tearDown(self): pass
def setUp(self): self.korbit_machine = KorbitMachine()
def setUp(self): print("setUp") korbit_machine = KorbitMachine() self.coiner = Coiner(korbit_machine)