仮想通貨とゆとりのひとり。

仮想通貨とゆとりのひとり。

仮想通貨投資で月5万の不労所得を得てゆとりある生活を目指すコアラでプギ〜!mona(モナーコイン)、XRP(リップル)、BTC(ビットコイン)、ETH(イーサリアム)をメインで保有。ALISが4倍!XRPは10倍!monaは50倍!になっちゃったプギ〜!

MENU

Coincheckでビットコインの自動トレードをしてみよう(bot開発Python版)

スポンサードリンク

こんにちは!ゆとりのコアラです!プギ〜!

 

仮想通貨はまだまだ市場規模が小さく、大規模な投資家が少ないため、値動きがわかりやすいと言われています。個人でもシステムトレードに参入して利益を出すチャンスが転がっています!

www.yutohito-startup.com

 

今回はコインチェックでビットコインシステムトレードをやってみようと思います。

 

いままではzaifシステムトレードをしていたのですが、サーバーが弱すぎて常にエラー発生、注文できない事態が多すぎたため、コインチェックに引っ越してきました。

 

とても安定していてコインチェックでのシステムトレードはかなり快適です。

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

 

1.APIキーを取得しよう

f:id:shidoma:20171215202112p:plain

インチェックのウォレット画面「設定」からAPIキーを選ぶと上記のような画面になります。

 

f:id:shidoma:20171215202215p:plain

新たにAPIキーを追加するボタンを押しましょう。

 

f:id:shidoma:20171215202421p:plain

続いてAPIに付与する権限を選択します。

取引をするAPIと出金をするAPIは分けた方がセキュリティ的には安心です。

APIキーが流出しないとも限りませんので。

 

これで、

APIキーと

シークレットキーが発行されました。

 

<注意!>

APIキーとシークレットキーは絶対に他人に漏らさないようにしましょう。

万が一、漏れてしまったら、

あなたの資産は全て奪われたと考えてよいでしょう!

 

 

 

2.開発環境を準備しよう

ここは以前書いたこちらの記事を参考にお願いします。

www.yutohito-startup.com

 

 

3.HTTPリクエストを簡易に扱うライブラリを作りましょう

開発環境に「coincheckApi.py」というファイル名で以下のソースファイルを作成します。

--------------

# -*- coding: utf-8 -*-

import json
import requests
import time
import hmac
import hashlib

class ApiCall:

def __init__(self,api_key,api_secret,api_endpoint):
self.api_key = api_key
self.api_secret = api_secret
self.api_endpoint = api_endpoint

def get_api_call(self,path):
if path == '/api/order_books':
timestamp = str(int(time.time()) + 86401)
elif path == '/api/trades':
timestamp = str(int(time.time()) + 86402)
elif path == '/api/exchange/leverage/positions':
timestamp = str(int(time.time()) + 86403)

text = timestamp + self.api_endpoint + path
sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest()
request_data=requests.get(
self.api_endpoint+path
,headers = {
'ACCESS-KEY': self.api_key,
'ACCESS-NONCE': timestamp,
'ACCESS-SIGNATURE': sign,
'Content-Type': 'application/json'
})
return request_data


def post_api_call(self,path,body):
body = json.dumps(body)
if path == '/api/exchange/orders':
timestamp = str(int(time.time()) + 86404)
else :
timestamp = str(int(time.time()) + 86405)

text = timestamp + self.api_endpoint + path + body
sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest()
request_data=requests.post(
self.api_endpoint+path
,data= body
,headers = {
'ACCESS-KEY': self.api_key,
'ACCESS-NONCE': timestamp,
'ACCESS-SIGNATURE': sign,
'Content-Type': 'application/json'
})
return request_data

--------------

 

 

4.APIキーとシークレットキーは別ファイルに保存

「cc_keys.json」という名前でjsonファイルを作り、発行したAPIキーとシークレットキーを切り出しておきましょう。ソースコード中にAPIキーとシークレットキーを直書きしておくと、コードを公開した際に漏れてしまうなど、危険があります!

--------------

{
"key": "xxxxxxxxxxxxxxx",
"secret": "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
}

-------------

 

<繰り返し注意!>

APIキーとシークレットキーは絶対に漏らさないように!

 

 

5.いざ、取引の要となるプログラムを書きましょう!

以下「main.py」のサンプルコードを置いておきます。

 

1万円分のBTCを成行で買うだけのコードです。

----------

# -*- coding: utf-8 -*-

import json
from pprint import pprint # 表示用(jsonをきれいに表示してくれる)
import coincheckApi

cc_keys_json = open('cc_keys.json', 'r')
cc_keys = json.load(cc_keys_json)

api_endpoint = 'https://coincheck.com'
order_path = '/api/exchange/orders'

if __name__ == '__main__':

api = coincheckApi.ApiCall(cc_keys["key"], cc_keys["secret"], api_endpoint)
action = "market_buy"
body = {
"pair": "btc_jpy",
"order_type": action,
"market_buy_amount": 10000
}

try:
result = api.post_api_call(order_path, body).json()
if result["success"] != True:
pprint(result)

except Exception as e:
print(e)

----------

 

6.botトレードで勝利するには回線速度が超重要

システムトレードで勝利するためには、アルゴリズムは最も重要なのは言うまでもありませんが、botを動かす環境によって勝率が大きく変わってきます。

本気で勝つbot開発に挑むなら、環境整備もぜひ始めておきましょう!

 

・ネット遅延を減らす

 今はほとんどの方が光回線でインターネットに接続していると思いますが、最もアクセス速度が早く安定しているのは「NURO 光」です。自宅のPCを利用してbotトレードするならば、インターネット環境の速度アップは必須です。

 

下記サイトを参考にしてみてください。

www.nuro.jp

 

あとはエントリーのタイミングを考えて、プログラミングしていきましょう!ここからが本当の勝負です!一緒に頑張りましょう!

 

では!

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin