仮想通貨自動取引ボットを作ってみました



Raspberry Pi3を使って、仮想通貨(ビットコイン)を自動で取引するボットを作っています。バイクに搭載する時に勉強したプロセスのデーモン化(自動起動と異常停止した時の再起動)や、Blynkによる遠隔操作技術を目一杯使ってます。

2018-06-22-075023_1184x624_scrot.jpg

ボットは10個のプログラム(プロセス)が組み合わさってできています。

1. メインプログラム:ZaifのストリームAPIから相場情報をリアルタイムに受信し、移動平均(MA)とMACD (テクニカル指標のひとつで、相場の上がり下がりに連動する数値)を計算する。

2. 現在の資産額を計算するプログラム

3. 信用取引情報を取得するプログラム

4. 現物取引プログラム

5. 信用取引プログラム(売り順張、買い順張、売り逆張、買い逆張りの4つ)

6. 取引キャンセルプログラム

7. Blynkコントローラー

これらを使って、下がったら買う、上がったら売るをひたすら繰り返すだけです。資産や取引の状況はiPhoneやiPadで確認できます。信用取引は4つのプロセスが役割分担しており、特定のプロセスだけ落とすことも可能です。ばらばらにしておくとデバッグも楽になります。

IMG_0288.jpg

しかし、実際に取引をさせてみると、まったく思うように動きません。最近ようやく少しずつ稼げるようになったかな、、と思ったら、、、

yakenohara.jpg

これまでの苦労が水の泡になって、蒸発して、カリカリに焼かれてしまいます。それでも、なんとかギリギリ形にはなったし、勉強したことがちゃんと数字として返ってくるのが楽しくて、少しずつ改良しながらやってます。

IMG_7213.jpg

Raspberry Pi3は普通のUSB電源だと落ちるので、PCから5Vを直接引き出しています。バッテリー冷却のためプラズマクラスターの小さいやつに乗っけてみました。プラズマで誤動作などはしないようです。

top.png

連続稼働11日間達成。すべてのプロセスをsystemctl化してデーモン化。エラーで止まっても自動で再起動します。Blynkを使って現物、信用売買の操作をiPhoneやiPadからリモートでできますが、めんどくさいのでボット任せ。パラメータ設定もいい加減なので、相変わらず資産が少しずつ減っていく仕様です。休日など、ひがな一日ボットとにらめっこしていると、バグが見つかったり、新しいアルゴリズムを思いついたり。これは結構楽しいぞ。

関連記事
スポンサーサイト

コメント

非公開コメント

habingovt

2ストバイク(RZ250R&SDR)をおりてから二十余年。仕事で体調を崩したときに、友人からVT250Fというバイクを譲り受けました。4半世紀を生き抜いてきたバイクにまたがり、ふたたび走り始めたら、なんだかだんだん楽しくなって、バイクも自分も元気になってきました。目標は、YouTubeライブをしながら北海道を自由に走り回ること。いつ倒れるかも分かりませんが、生暖かい目で見守ってやってください。Twitter & tipmona @habingofit