【2021年版】Binance自動売買システムを作ろう。

どうも、ひたらくと申します。

だいぶ更新が滞っておりまして、すみません(^^);

2021年になり、2018年時点とはかなり状況が変わってきていますね。

新型コロナウイルスの影響や、ビットコインの価格が再び爆上げするなど、
様々な変化が起こっている年でもあります。

このような状況ですが、
Binanceは健在で、以前よりもさらに使いやすくなり、
様々ある仮想通貨取引所の中でも
日々改良を続けている良取引所の1つだと思います。

今日は以前のBinance自動トレードシステムをもっとかみ砕いて
機能を単純にして、
手軽に自動売買システムを作る事が出来るような
記事を書いてみたいいと思います。

それでは、参りましょう!

まずは、システムの構築手順

プログラムを書く前に、
トレードの手順を考えてみたいと思います。

文章で書くとなかなか伝わりづらいと思いますので、
フローチャートで作ったものを貼り付けます。

ざっくりですが、こんな感じでコードは動くと思いますので、
これでプログラムを書いてみたいと思います。

実際のコード

Binance自動トレード Github ソース

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名様まで無料で受講いただけます。
 そして、レビューをもらえると主が死ぬほど喜びます。

Udmey Binance自動トレード

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

日々、ひたすららくして生きる為に試行錯誤しながら生きております。

ブログでは主に仮想通貨やコンピュータの話題が中心と
なりますがたまにそれた内容を書くこともしばしば。

温かい目で見守ってくだされば幸いです。