仮想通貨や株の取引を自動的にしてくれるプログラムを書きたいけど、どこから始めればいいかわからない人って結構多いんじゃないでしょうか?
わたしが仮想通貨のプログラムを書こうと思ったきっかけはシンプルに「儲けたいから」でした。少額でもいいから放置するだけで稼げるなんてすばらしい!という良くある理由です。
スクリプトや小さなプログラムを書いた経験は少しだけありましたが、取引をするプログラムを書くのははじめて。いざ、作ってみようとしても初心者向けの情報が少なく、結構苦労しました。
実際のところ仕組みはすごく簡単なんですが、それもある程度理解できるようになった今だから思える事だと思います。
そこで、わたしと同じようにはじめて自動売買のプログラムを書こうと思っている人向けに、やってきたことをまとめておこうと思います。実際に作る過程が一番参考になると思うので、プログラムを書く過程と一緒に紹介します。
事前準備:自動売買プログラムを書き始める前に
自動売買プログラムを書き始める前に、どういったプログラムを書くのかを考えていく必要があります。大きくわけて 3 つ、先に決めておきたいことがあります。
- 取引対象の通貨を決める
- プログラム言語を決める
- 自動売買のアルゴリズムを考える
1. 取引対象の通貨を決める (BTC-FX)
仮想通貨といってもビットコイン、イーサリアムなど様々な通貨があり、また仮想通貨以外にも株や為替など対象にできる通貨は色々とあります。
ここでは bitFlyer lightning の BTC-FX (ビットコインの FX) を対象とします。ビットコイン FX を選んだ理由は値動きが大きく、儲ける機会が多いと考えたからです。
2. プログラム言語を決める (C#)
プログラム言語も色々とあり、どれを使ってプログラムを書くのかも決めていく必要があります。
ここでは C# でプログラムを書いていきます。
bitflyer lightning の場合、C# Python Ruby Perl などのサンプルも用意されていますが、この中でも C# は自由度が高く、個人的に少し経験があったので C# を選びました。
bitFlyer lightning API Playground と bitFlyer API ドキュメントに書き方のサンプルや詳細がしっかりと公開されていたことも大きな理由の一つです。
(これからプロブラムを書く人はこの二つのサイトを何度も見ることになるのでブクマしておくことをおすすめします)
3. 自動売買プログラムのアルゴリズムを考える
つまり「何をしてくれるプログラムを書くのか」を考えます。頑張ってプログラムを書いても儲けられなければ意味がない。
今回は以下の処理を繰り返し実行するプログラムを書きます。上昇トレンドでこのプログラムを使えば取りこぼしがなくなり、しっかりと利益を得ることができるようになります。
- 成行で買い注文を入れる
- 一定の儲けが出たら利確して、さらにそこで成行入れる
ただし、これだけだと確実に最高値を掴むことなります。トレンドが逆向きになった場合の動作もさらに追加していく必要がありますが、まずはこれをするプログラムを書いていきます。
C# で bitflyer lightning API を使って自動売買プログラムを作る過程
さて、対象の通貨 (BTC-FX)、使用する言語 (C#)、アルゴリズム(買って利確してまた買う) もとりあえず決まりました。最後にもう一つ必要なのが bitFlyer のアカウント。当たり前ですが、これがなければ取引をすることができません。
まだアカウントがない方は bitFlyer のサイト でアカウントを作り、本人確認までを済ませてください。(アカウント登録はすぐ、本人確認も免許証をオンラインで提出すると翌日には手続きが完了していました)
なお、プログラムを試しにちょっと作ってみたいだけの人はまだ入金をする必要はありません。最終取引値をとったりするだけなら完全無料でできます。 (以下の自動売買プログラムの作成過程の 1. から 4. までなら無料で作れます。)
では自動売買プログラムを作る過程を以下に一個ずつ紹介していきます。
以上でこんな見た目のプログラムが出来上がりました。実行すると現在の取引値を調べて、しっかりと自動的に利確してくれます。
これからプログラムを作ろうって考えている人に少しでも参考になれば幸いです。