どうも、TAKUと申します。
2021年になり、2018年時点とはかなり状況が変わってきていますね。
新型コロナウイルスの影響や、ビットコインの価格が再び爆上げするなど、
様々な変化が起こっている年でもあります。
このような状況ですが、
Binanceは健在で、以前よりもさらに使いやすくなり、
様々ある仮想通貨取引所の中でも
日々改良を続けている良取引所の1つだと思います。
今日は以前のBinance自動トレードシステムをもっとかみ砕いて
機能を単純にして、
手軽に自動売買システムを作る事が出来るような
記事を書いてみたいいと思います。
それでは、参りましょう!
まずは、システムの構築手順
プログラムを書く前に、 トレードの手順を考えてみたいと思います。文章で書くとなかなか伝わりづらいと思いますので、
フローチャートで作ったものを貼り付けます。
ざっくりですが、こんな感じでコードは動くと思いますので、
これでプログラムを書いてみたいと思います。
実際のコード
import binance.client
import time
import re
import datetime
# for order on binance
from binance.enums import *
api_key = ""
api_secret = ""
client = binance.client.Client(api_key, api_secret)
prices = client.get_all_tickers()
symbolLen = len(prices)
# 下落率
rateOfDecline = 3.0
# 現在価格、30分後の価格
beforePrices = [prices[i]['price'] for i in range(symbolLen)]
afterPrices = [0 for i in range(symbolLen)]
def buyCoin( symbol, afterPrice ):
print("called buy")
order = client.create_test_order(
symbol=symbol,
side=SIDE_BUY,
type=ORDER_TYPE_LIMIT,
timeInForce=TIME_IN_FORCE_GTC,
price=afterPrice,
quantity=1)
print(order)
return
while 1==1:
time.sleep(1800)
prices = client.get_all_tickers()
for i in range(symbolLen):
# 30分後の価格取得
afterPrices[i] = prices[i]['price']
# 30分前の価格と現在の価格を比較して、下落率・上昇率を計算
pricePropotion = 100 - (float(afterPrices[i]) / float(beforePrices[i])) * 100
# それぞれの銘柄で指定したパーセンテージ下落していたら買いを入れる。
if pricePropotion > rateOfDecline :
if re.search(r'BTC', prices[i]['symbol']):
#買いを入れたときの時間
print('time: ' + datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S") + ' , ticker: ' + prices[i]['symbol'] + ' , PricePropotion: ' + str(pricePropotion) + ' , ' + afterPrices[i] + ' , ' + beforePrices[i])
#買い注文
afterPrice = round(float(afterPrices[i]), 8)
if afterPrice > 0.0001:
print(afterPrice)
buyCoin(prices[i]['symbol'], afterPrice)
break
for i in range(symbolLen):
beforePrices[i] = prices[i]['price']
動いた!
動きました!!あまり小さい金額だとエラーがでるので、
「0.0001」以下の場合は除外しています。
これでOKです。
あとは、みなさま、
このテスト関数を実際の関数に置き換えてもらえれば
自動売買システムが完成です!
お疲れさまでした!
さいごに
Pythonの基礎知識が全くなかった方、プログラミングに全く触れたことがなかった方は なかなか難しい内容になっていたかもしれません。ですが、
しっかり記事内容を理解いただき、
「仮想通貨の自動売買を身につけるんや。。。」
という熱い心があれば、かならずや乗り切れると信じております。
Pythonの基礎知識、Binanceのアカウント解説を含めて、
UdemyにてBinance自動トレードの開設を行っている動画も作成いたしました。
もし、興味があれば、
覗いてみて頂ければ幸いです。
※下記リンクから見て頂ければ、最初の10名様まで無料で受講いただけます。
そして、レビューをもらえると主が死ぬほど喜びます。