【FTX JP】ビットコイン(BTC)自動積み立てBOT
来るべきバブル相場に備えて、ビットコイン(BTC)を積み立てておきたいという人も多いのではないでしょうか。
ドルコスト平均法でコツコツ仕込むなら、さすがに手動はきついのでBOTは必須といえるでしょう。
そこで今回は、FTX JPでBTCを毎日積み立てるBOTのソースコードを紹介します!
FTX JP口座開設
FTX JPの口座開設がまだの方は、こちらからどうぞ(いま下記リンクを経由してつくると、取引手数料が5%割引です)。
BTC積み立てBOT
FTX JPでBTCを積み立てるBOTのコードは、こちらです。
import requests
from decimal import Decimal
from datetime import datetime
from time import sleep
import schedule
import ccxt
# アカウント
exchanges = {
"ftx": {
"apiKey": "",
"secret": ""
}
}
# 取引所
Exchange = "ftx"
exchange = eval('ccxt.' + Exchange + '()')
exchange.apiKey = exchanges[Exchange]["apiKey"]
exchange.secret = exchanges[Exchange]["secret"]
# 注文
symbol = 'BTC/JPY'
amount = 0.001
side = 'buy'
# LINEメッセージ
def line_bot(msg):
line_notify_token = ''
line_notify_api = 'https://notify-api.line.me/api/notify'
message = msg
payload = {'message': message}
headers = {'Authorization': 'Bearer ' + line_notify_token}
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
return line_notify
def task():
print("------------------------------------------------" + "\n")
now = datetime.now()
print(now.strftime('%Y/%m/%d %H:%M:%S'))
print(Exchange + "【新規注文】" + "\n")
exchange.create_order(
symbol=symbol,
type='market',
side=side,
amount=str(amount)
)
print("数量:",amount, "売買:",side)
balance = exchange.fetch_balance()
ordered_price = exchange.fetch_my_trades(symbol)[-1]['info']['price']
print("\n" + "約定価格:" + str(Decimal(ordered_price).quantize(Decimal("0"))) + " 円" + "\n")
print("BTC残高:" + str(Decimal(balance["BTC"]["total"]).quantize(Decimal("0"))) + "\n")
print("JPY残高:" + str(Decimal(balance["JPY"]["total"]).quantize(Decimal("0"))) + " 円" + "\n")
msg1 = ("\n" + "******************************" + "\n"
+ "【新規注文】" + "\n"
+ "約定価格:" + str(Decimal(ordered_price).quantize(Decimal("0"))) + " 円" + "\n"
+ "BTC残高:" + str(Decimal(balance["BTC"]["total"]).quantize(Decimal("0"))) + "\n"
+ "JPY残高:" + str(Decimal(balance["JPY"]["total"]).quantize(Decimal("0"))) + " 円" + "\n"
+ "******************************")
line_bot(msg1)
if int(balance["JPY"]["free"]) < 5000: # 設定した金額以下になったら、買付余力の減少を通知
msg2 = ("\n" + "******************************" + "\n"
+ "買付余力が少なくなっています!" + "\n" + "\n"
+ "JPY買付余力:" + str(round(balance["JPY"]["free"])) + " 円" + "\n"
+ "******************************")
print("買付余力が少なくなっています!" + "\n" + "JPY買付余力:" + str(Decimal(balance["JPY"]["free"]).quantize(Decimal("0"))) + " 円" + "\n")
line_bot(msg2)
print("------------------------------------------------" + "\n")
return
# タスク実行スケジュール(指定時間になったらtaskを実行)
schedule.every().day.at("09:00").do(task)
while True:
try:
schedule.run_pending()
sleep(1)
except Exception as e:
print(e)
print("エラーが発生したので終了")
msg3 = "エラーが発生したので終了" + "\n" + str(e)
line_bot(msg3)
break
symbolやタスク実行時間をいじれば、仕込むトークンやタイミングを簡単に改変できます。
注意事項
本noteは、情報提供を目的としたものであり、投資の助言・勧誘等を目的としたものではありません。
本noteの利用によるあらゆる損害は、完全に自己責任でお願いします。
最後に
ちなみにぼくは、2017年から界隈に参戦している古参系兼業Botterです。
給付金ムーブからDEXまで、エッジがあるところはどんどん参戦していくスタンスですw
これからも随時クリプト関連の情報発信をしていくので、よかったらフォローお願いします!
この記事が気に入ったらサポートをしてみませんか?