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

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

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

MENU

Monacoin(モナーコイン)の自動取引botでトレードその2ー自動売買する(ZaifでPython使用 MAC版)

スポンサードリンク

こんにちは!ゆとりのコアラです。

 

本シリーズの前回では、ZaifAPIを使って直近の終値を取得するところまで開発してみました。今回は自動で売買してみようと思います。

www.yutohito-startup.com

 

1.ZaifAPIキーを取得する

f:id:shidoma:20171123234926p:plain

アカウントメニューの「開発者向けAPI」を押すと、APIキーの管理画面が出てきます。

 

f:id:shidoma:20171123235027p:plain

真ん中あたりにある、Get Verification CodeからAPIキーを取得しましょう。

 

f:id:shidoma:20171123235356p:plain

認証メールが届くので1時間以内に6桁のキーを入力しましょう。

 

f:id:shidoma:20171123235330p:plain

そしてAPIキーのアカウント?を作ります。名前は適当に。

機能としては、Info(公開情報の取得)、Trade(取引の実施)にチェックを付けておきます。必要であれば、Withdraw(出金)もつけておいてよいでしょう。

 

2.認証キーをjsonファイルに記載しておきましょう

f:id:shidoma:20171123235959p:plain

Zaifフォルダの直下に「zaif_keys.json」ファイルを作ります。

 

f:id:shidoma:20171124000148p:plain

jsonファイルの中身はこんな感じ。

{

 "key": "xxxxxxxxxxxxxxxx",

 "secret": "wwwwwwwwwwww"

}

 

3.jsonファイルに書いた認証キーを読み込んで、日本円残高を取得してみましょう

--- コード ------------------------

# -*- coding: utf-8 -*-
# 2017/11/23 EUCALYPTUS is ALL Koala's food. by Monakoala

import time
import json
from zaifapi import ZaifPublicApi
from zaifapi import ZaifTradeApi

zaif_keys_json = open('zaif_keys.json', 'r')
zaif_keys = json.load(zaif_keys_json)

zaif_i = ZaifPublicApi()
zaif_t = ZaifTradeApi(zaif_keys["key"], zaif_keys["secret"])

if __name__ == '__main__':

while True:
time.sleep(3)

last_price = zaif_i.last_price('mona_jpy')["last_price"]
print('終値' + str(last_price))

funds = zaif_t.get_info2()
print(str('日本円残高' + str(funds['funds']['jpy'])))


実行結果

f:id:shidoma:20171124001303p:plain

 

4.日本円残高で買える分のMonaを買い増そう

いくで。やるで。モナ買いましや!

 

# -*- coding: utf-8 -*-
# 2017/11/23 EUCALYPTUS is ALL Koala's food. by Monakoala

import time
import json
import math
from zaifapi import ZaifPublicApi
from zaifapi import ZaifTradeApi

zaif_keys_json = open('zaif_keys.json', 'r')
zaif_keys = json.load(zaif_keys_json)

zaif_i = ZaifPublicApi()
zaif_t = ZaifTradeApi(zaif_keys["key"], zaif_keys["secret"])

if __name__ == '__main__':

while True:
time.sleep(3)

last_price = zaif_i.last_price('mona_jpy')["last_price"]
print('終値 ' + str(last_price))

funds = zaif_t.get_info2()
print(str('日本円残高 ' + str(funds['funds']['jpy'])))
print(str('モナ残高 ' + str(funds['funds']['mona'])))

# 売り板の一番上の価格と数量を取得する。
bid_price, bid_amount = zaif_i.depth('mona_jpy')["bids"][0]

# 日本円残高が1000円以上ある場合
if funds['funds']['jpy'] >= 1000:

# 売り板の価格に対して、1000円で買える枚数を計算する
amount = math.floor(1000 / bid_price)

# 買い取引の注文
print('↓注文')
result = zaif_t.trade(currency_pair="mona_jpy", action="bid", \
price=bid_price, amount=amount)


実行結果

f:id:shidoma:20171124004242p:plain

結果:2 mona買えました!

 

action="bid" を action="ask"にすると売りも出来ます。

現在価格から1%下がったら、買い、1%上がったら、売るなど、自由に条件を設定していきましょう!

 

では!