LoginSignup
4
7

More than 1 year has passed since last update.

仮想通貨の自動売買に興味をもったので

Last updated at Posted at 2021-11-28

概要

仮想通貨(今回はビットコイン:BTC)の自動売買をしてみたいなぁ。と、ふと思いまして・・・・
(「儲けてやるぞ!」という意思はなく、単なる興味で手を付けた記録にございまする。)

いろいろ調べた結果、GMOコインでラスパイを使った方法をチョイスしてみました。

きっかけ(暇なら読んでもいいよ)

Amazonの書籍を探すのが結構好きで、いろいろなキーワードで技術書などを探しては購入してます。
今回、下記の書籍(Kindle)を見つけたのがきっかけです。

■Kindle版「Python と Raspberry Pi でつくるビットコイン自動取引システム」
https://kurima.hatenablog.com/entry/2021/06/07/205703

ん~、24時間稼働させても大した金額がかからないラズパイに仮想通貨(BTC)の自動売買をさせてしまおう。というやつですね。
結論からすると、「儲かってないぞ・・・」というところで終わってますが、、、、

おそらくは、書籍に記載されているものは、すべてブログで書いてあるとは思うのと、勝手に有料なKindle書籍の中身を引用しまくるのはよろしくないので、中途半端ですが備忘録で残しておきます。

必要なもの

  • Python開発環境(Python3)
  • GMOコイン
  • Raspberry Pi
  • なけなしのお金

やってみる

STEP 1

まずは、ラズパイ側ですね。
32GBのmicroSDが転がっていたので、Raspberry Pi OSをインストールします。

■Raspberry Pi OS
https://www.raspberrypi.com/software/

基本的に、24H稼働させるけど、GUIなんて要らないので「Raspberry Pi OS Lite」を選択します。
rasp001.png
rasp002.png

あとは、microSDにインストールしてラスパイに挿入して電源を入れればOK。

STEP 2

続いて、ラズパイの基本的な更新をします。

$> sudo apt-get update
$> sudo apt-get upgrade -y
$> sudo apt-get dist-upgrade
$> sudo rpi-update
$> sudo reboot

そして、パスワードを変更しておきます。
(なんせ、初期状態だと必ずidが「pi」で、passwordが「raspberry」ですから・・・)

STEP 3

あとは、本に従って・・・・

Blogだと、順にこんな感じでしたね。
■Pythonで株価アラートをつくる(1)
https://kurima.hatenablog.com/entry/2020/05/10/220219
■Pythonで株価アラートをつくる(2)
https://kurima.hatenablog.com/entry/2020/05/12/223834
■Pythonで株価アラートをつくる(3)
https://kurima.hatenablog.com/entry/2020/05/16/195150
■Pythonで株価アラートをつくる(4)
https://kurima.hatenablog.com/entry/2020/05/22/213227
■Pythonでビットコインの価格を取得する(1)
https://kurima.hatenablog.com/entry/2020/05/24/220957
■Pythonでビットコインの価格を取得する(2)
https://kurima.hatenablog.com/entry/2020/05/30/173011
■Pythonでビットコインの価格をグラフ化する
https://kurima.hatenablog.com/entry/2020/06/07/160604
■Pythonでビットコインの自動取引をシミュレーションする(1)
https://kurima.hatenablog.com/entry/2020/06/27/080427
■Pythonでビットコインの自動取引をシミュレーションする(2)
https://kurima.hatenablog.com/entry/2020/07/18/155747
■Pythonでビットコインの自動取引をする
https://kurima.hatenablog.com/entry/2020/07/25/140955

結構、サクサクと読み進められますが、完成してもウハウハになれるような記述はありません。
むしろ、シミュレーションで数日で200万の資金が170万になることが書かれてますw

書籍で進めていくとハマる箇所の補足

mongoDBが入らない(ラズパイ)

作者のBlogが2020年なので、しょうがないのですが、2021/11時点でRaspberry Pi OSはbullseye (Debian 11)になっています。
そうすると、Python3は、3.7→3.9になっていたりするのは、そんなに問題ないのですが、mongoDBをインストールしようとすると
「mongoDBは、パッケージに含まれてないよ!」とエラーになります。

これ、覚えている人もいるはずですが、2018年にライセンス問題となり、2019年にいろんなところでパッケージから消されたんですよ。

■MongoDBがそのコードのオープンソースライセンスを改定、オープンソースの“食い逃げ”に むかつく
https://jp.techcrunch.com/2018/10/17/2018-10-16-mongodb-switches-up-its-open-source-license/

どうやら、この影響で、Raspberry Pi OS(bullseye)からもmongoDBが消えてしまっている。

そこで、下記を参考にbullseyeにもmongoDBを入れることにする。

pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list

現在は、bullseyeのパッケージ取得先しかない(下記)

sources.list
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi

ここに、1つ前のbusterの取得先も追記してあげる。

sources.list
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi ←コレ
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi

そうしたら、下記のように普通にインストールができる。

$> sudo apt update
$> sudo apt-get install mongodb-server

GMAIL送信でエラーになる

「2.1.3 メール通知」でmail_sender.pyのsend_mail()で記載通りにやるとエラーになる。
どうもMIMETextで変換していることが原因のようだったので、下記に書き換えた。

    def send_mail(self, subject, body):
        msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n%s" %
                   (self._gmail_user, self._to_address, subject, body)) ←ここ

        smtpobj = smtplib.SMTP_SSL(
            'smtp.gmail.com', 465, timeout=10)
        smtpobj.login(self._gmail_user, self._gmail_password)
        result = smtpobj.sendmail(self._gmail_user, self._to_address, msg) ←ここ
        print(result)
        smtpobj.close()

bitcoin-trader/trader.py内
 act関数のpt_thとsl_thへの代入の箇所の末尾に謎の「)」がある

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7