Django+CCXTを使ってBitMEXへ注文を行う方法をご紹介します。
Django上でバッチで動くように実装しています。
環境準備については以下の記事を参照ください。
1499
http://1499
また、エラーがあった場合はログに吐き出すようにしています。
ログを出力する設定は以下の記事を参照ください。
1506
http://1506
また、注文内容をDBに保存するようにしています。
DBへ保存する準備は以下の記事を参照ください。
1511
http://1511
注文を出すだけのソース
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


