こんにちは、ビットコインの自動売買ツールをやっと完成させた龍権(@ryuken_biz)です。

これまで、「bitFlyer」で自動売買するためにAPIを試した記事や、自動売買するためのデータを集める「コレクター」を開発した記事を書きました。
関連記事1:bitFlyerのAPIを使ってみた – 自動売買への道(1)
関連記事2:bitFlyerのAPIを使ったソースコードを実行してみた – 自動売買への道(2)
関連記事3:bitFlyerで常に取引額を収集するプログラムを作ってみた – 自動売買への道(3)

そして、やっと一通り動く自動売買プログラムが完成できたので、ご紹介します。

どんなプログラムなの?

ビットコインの自動売買ができるプログラムです。
プログラム名は「trader」なので、「トレーダー」と呼びましょう。

このプログラムも常に起動しており、売買のチャンスが訪れたら売買するようになっています。
売買では、前回紹介した「コレクター」が集めたデータを使っています。
他に、リアルタイムで収集している最終取引額も使っています。

イメージとしては、過去チャートを眺めながら、常に売買タイミングを図っているようなものです。
bitFlyerで使える注文方法はいろいろありますが、プログラムではシンプルに成行注文を出すようにしています。
つまり、買いのタイミングが来たら成行買い注文、売りのタイミングが来たら成行売り注文を出しています。

一応システムなので異常終了するリスクはありますが、そんな場合は1分以内に自動で再起動できるようになっています。
つまり、ほぼ24時間365日稼働できるようになっていますので、タイミングの逃れはほぼないと思って良いでしょう。

どんな売買ルールなの?

一言でいうと、上昇が始まりそうなところで買って、ある程度下落したら売るというルールです。
もちろん、買う時損切りラインも決まっていて、最悪損失を抑えて取引を終えることもできます。
取引では1時間足の指数平滑移動平均のみ使っています。

細かくいうと以下のルールで売買しています。
買いだけを例にしていますが、売りの場合も同様です。

買いのルール

  • 今の時間帯の5日・25日・75日移動平均線が全て上向き、且つ5日<25日<75日
  • 今の時間帯の移動平均線間の幅が、前の時間帯の移動平均線間の幅より大きい
  • 現在値が前の時間帯の高値より高い

要するに、強い上昇サインが出たら買うということです。

決済のルール

  • 買った後の高値から30%下落したら決済、ただし、現在の利益が初期のリスクより小さければ売らない
  • 価格が25日移動平均を下回ったら決済
  • 最初に決めておいた損切りラインを下回ったら決済

ある程度利益を確保しつつ、最悪損失で終わっても損失を抑えたいということです。

自動売買のいいところ

別に自動売買すれば利益が出せるというわけではありません。
自動売買の命は売買ルールにあります。
ルール次第では損失が出てもおかしくありません。

僕が思っている自動売買の一番良いところは、買いのタイミングを逃さないことです。
僕は昼は会社に勤めているので、どうしても取引できる時間帯が夜の数時間だけになります。
その数時間もずっと相場に張り付いているのは辛いので、なかなか買いのタイミングを掴めるのは難しかったです。

自動売買では買いのタイミングが来れば、プログラムが買ってくれますし、更に僕にメールで知らせてくれます。
ポジションを持っていることが分かれば安心ですよね。

決済ルール決めは結構悩みました。
相場には色んなチャートパターンがあるので、万能な決済ルールは多分存在しないと思っています。
とりあえずいつくか決済ルールを決めて実装していますが、様子を見ながら見直していくつもりです。

記念すべき初取引

なんと、自動売買プログラムを動かして翌朝記念すべき初取引が行われました。
買った時のチャートがこちらです。
bitflyer-api-trade1

相場が上がり始めた青い◯のところで買ってくれたんです。
上で紹介した買いのルールと照らし合わせてみたら、分かりやすいでしょう。
その後相場は相当上がってから下落を始めたんですが、ある程度下がったところで自動決済されました。

決済の時のチャートはこちらです。
bitflyer-api-trade2

ということで、記念すべき初取引では利益を出すことができました。

自動売買ツールの開発は終わったの?

bitFlyer」で一通り動くものはできていますが、これで開発が終わったわけではありません。
一定期間動かしてみて、損失ばかり出ていれば利益を出せるようにルールの見直しが必要でしょう。
利益が出ていれば、なるべく利益を最大化するための改良が必要になるでしょう。

要は常に見直しが必要なんです。
時代によって、取引ルールは変わってきていますので、過去に最高パフォーマンスを出した取引ルールが未来でも最高とは限らないからです。
まずは、損失より利益を、更に利益を最大化することを目指していきます。

bitFlyer」で自動売買を3ヶ月間続けた結果も書いていますので、合わせてご覧ください。
関連記事:bitFlyerで自動売買を3ヶ月間続けてみた-自動売買への道(5)