コインチェックのAPIを使ってビットコインを自動売買してみた

雑に自動売買プログラムを組んでみました。

下落トレンドにぶち当てるのはちょっと怖かったので上げ始めた時にちょこちょこ起動させる、というのを3日ぐらいやってみた結果をまとめます!

ざっと概要

まず、経緯はこちら。

sizimi24.hatenablog.com

sizimi24.hatenablog.com

 

以下経緯3行まとめ

手始めに1万円でデイトレ

予想以上に変動が大きい&ボックス相場になってることに気づく

あれ?これAPI使って自動で細かい売買繰り返せば利益だせんじゃね?

 

ということで実装してみました。

 

ちなみに、APIてなんぞやと言うと、

自分で細かいプログラムを書かなくても公式が用意してくれたファイルを落としてきて『最新の板情報ちょうだい!』とか言うと勝手に取ってきてくれる便利なやつ。

 

コインチェックは下記に詳細あり

coincheck.com

 

言語は色々ありますが、Javaを使いました。理由はJavaしか使えないから!

コードはgithubからちょうだいしました。

github.com

 

この辺の細かい説明ができるほどの技術力は持ち合わせていないので、プログラミングの話はここまでにします。

反響あったりしたら頑張って解説したいとは思います!

ただ、実装したコード自体は難しいことは全くやっていません。

若干、めんどくさかったのは取得した板情報や資産情報をJsonからそれぞれの値に変換するのがめんどくさかったです。

Listに詰め直してindexOfで欲しい情報を探す感じです。

自分のセンスの無さに脱帽!

 

売買ロジック

自動売買プログラムを組むにあたって売買のロジックを決めなければいけません。

注文はプログラムが高速で出してくれるので、ちょっとでも利益が出るようだったらすぐ売りに出します。

値幅が小さくても何回も売買を行うことで利益を積み上げるシステムです。

薄利多売みたいなノリですね。

なので、売りは単純に買値のプラス10円で指値を出すようにしました。

買ったら速攻プラス10円で売り!です。

問題は買いです。

ビットコインは上がるときはバンバン上がりますが突然でかい下げがやってきます。

下がる直前で買ってしまうと損切りしない限りは塩漬けになってしまいます。

せっかく自動売買させるのだから時間が無駄になる塩漬けは避けたい。。。

かといって損切りもしたくない。。。

と、悩んだ結果、1秒ごとにビットコインの価格を取得しそれぞれの差を求め、プラスだったら買い注文を入れるようにしました。

例えば、1秒前の価格と10秒前の価格を比較して1秒前の方が高くなっていれば買い注文を入れる、といった感じです。

これを買い注文を入れる条件に細かく加えていけば、よほど唐突な下げでない限り買い注文は入れないはずです。(..入れない...はず....)

本来はもう少し価格取得の感覚を短くしたかったのですが、タイムラグが大きく正確な情報を取得できませんでした。

 

まとめます!

 

① 直近の価格情報を見てどんどん価格が上がっていれば買い注文を入れる

② 数秒たって買えなかったら注文をキャンセルし再度価格情報チェックを行う

③ ①, ②を繰り返し買えたら買った価格のプラス10円で売りに出す

 

これをひたすら繰り返します。

利幅は小さいですがめちゃくちゃ売買してくれることで利益積み重ねるで〜って戦法!

高値掴みしても損切りはせずに戻るのを待ちます。

 

で、結果は?

ここからは3日ほど試した結果をまとめていきます。

 

まず、実際に売買した結果はこちら

 

f:id:sizimi24:20170628041335p:plain

 

6/25(日)のお昼頃のスクショです。

約2分間で5回の売買が成立しました。

売りは買値プラス10円で出していましたが、たまたま成行買いとぶつかったようで指値よりも大きいところで売れたりしました。

この時間帯は最終的に12:00に高値掴みして終了でした笑

まだロジックがポンコツすぎて上げトレンドが終了すると高値を掴んじゃうことが多いです。

利益は約200円ほどです。

1万円分しか投入していないので実際の利益はもっと少ないですが、1BTC分投入していればコツコツ稼いでいけそうです。

また、唐突な下げによる高値掴みは避けられていませんが、明らかにガンガン下がっている時にプログラムを起動させてもちゃんと買い注文を出さずに静観してくれました。

 

上げトレンドで利幅を稼ぎ、高値を掴んで終了

戻ったところで売りが成立し売買再開

こんな感じで動いてくれています。

たまに、下げトレンドでも一瞬上がる場面を察知して小銭を稼いでくれたりもします。

ただ、昨日からめちゃくちゃ下げているのでずっと止まったままです笑

もう少し上げてくれれば売買再開できそうな感じですね。

 

とりあえず現時点で言えるのは儲かりそう!

 

問題点

コインチェック内の出来高があまり多くないことが気になります。

現時点は少額なので売買が簡単に成立していますが、1BTCを超えると高速で売買できないんじゃないか疑惑があります。

poloとか使えば解決しそうですが、僕の英語力はとんでもなく低いのでおそらく無理(200点満点のセンター試験で25点を叩き出したレベル)

あと下落時のロジックがポンコツすぎるのも問題

今はボックス相場っぽいので高値で掴んでも待ってれば売れますが、2度と戻らないような高値で掴んだ時はやばそう....

そもそも、上げトレンドでしか利益を上げられないのであれば自動売買にする必要があまりない気もする.....

とりあえず、売買ロジックは超重要課題なので今後も修正していきます。

 

まとめ

自動売買儲かりそう!

でもポンコツロジックしか組めないので誰か助けて!

あと、プログラミングやAPIについて連絡いただければ頑張って答えますので興味ある方はぜひ〜

また、経過は報告して行きます!

 

つづきはこちら!

sizimi24.hatenablog.com

 

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin