Django+CCXTを使ってBitMEXへ注文を行う方法をご紹介します。
Django上でバッチで動くように実装しています。
環境準備については以下の記事を参照ください。
また、エラーがあった場合はログに吐き出すようにしています。
ログを出力する設定は以下の記事を参照ください。
また、注文内容をDBに保存するようにしています。
DBへ保存する準備は以下の記事を参照ください。
注文を出すだけのソース
BitMEXに注文を出すには以下のように実装します。
# -*- coding:utf-8 -*- from django.core.management.base import BaseCommand from ...models import Bitmexorder import ccxt from .bitmex_api import bitmexApi import logging symbol = 'BTC/USD' # 対象通貨 bitmex = bitmexApi.bitmex() # BaseCommandを継承して作成 class Command(BaseCommand): # python manage.py help count_entryで表示されるメッセージ help = 'Display the number of blog articles' # コマンドが実行された際に呼ばれるメソッド def handle(self, *args, **options): try: open_result = bitmex.create_order(symbol, 'limit', 'buy', 100, 8010.0) # 注文実行 100は数量、8010.0は金額 order_result = 'success' except ccxt.BaseError as e: # エラーが発生した場合 order_result = 'error' self.logging('error', e) open_result = e order = Bitmexorder( product_code=symbol, order_type='limit', open_or_close='open', order_side='buy', amount=100, price=8010.0, message=open_result, order_result=order_result, ) order.save() # DBに保存
bitmex_api.pyに書いているのはこれだけです。
# -*- coding: utf-8 -*- """ Created on Thu Mar 9 12:00:27 2017 @author: zaihack """ import ccxt class bitmexApi: def bitmex(): bitmex = ccxt.bitmex({ # APIキーをご自分のものに差し替えてください 'apiKey': 'あなたのAPIキー', 'secret': 'あなたのシークレットキー', }) return bitmex