龍権のオフィシャルブログ龍権のオフィシャルブログ独立を目指しているITエンジニア龍権ですMenu龍権のオフィシャルブログホーム登山サイトマッププロフィール問合せフォームホーム登山サイトマッププロフィール問合せフォームホームビットコインbitFlyerで取引額を収集するプログラムを作った–自動売買への道(3)bitFlyerで取引額を収集するプログラムを作った–自動売買への道(3)2017-12-042019-11-01ビットコイン龍権TwitterFacebookはてブPocketPinterestLINEこんにちは、ビットコインの自動売買ツールを開発している龍権(@ryuken_biz)です。この前は「bitFlyer」のAPIを使ってみていい感じだったので、その続きを開発中です。前の記事をまだ読んでいない方は、是非お読みください。自動売買への道(2)前回と前々回はbitFlyerのAPIを使ってみて、更にソースを実装して動作確認までしています。今回は、実際ソースコードを使って自動売買のための一部の機能を実装したので、その中身をご紹介しましょう。まとめ何を作ったの?まず、作ったのはデータを収集するプログラムです。プログラム名が「collect」なので、「コレクター」と呼ぶことにしましょう。あなたいやいや、自動売買プログラムを作ったんじゃないの?龍権そうなんです。ゴールは自動売買プログラムですが、そのためにはまずデータを収集しないといけないので。何を収集するの?収集しているのは、bitFlyerで取引される最終取引額です。最終取引といっても常に取引されているので、常に収集する必要があります。この最終取引額を見ると、相場が上がっているのか下がっているのかが分かります。価格が常に上下しているチャートを眺めているのと同じことをしているわけです。あなたが取引する時は、どうしていますか。何も見ないで思いつきで、買ったり売ったりしてないですよね。取引するためには過去データが必要なんです。bitFlyerで取引する時は過去チャートが見れますが、自動売買プログラムには過去チャートが見えません。過去データを集めておいて、取引プログラム内でチャートのように使う必要がでてきます。これでなぜ過去データを収集しているか、お分かりですよね。やって保存してるの?説明を簡単にするために、チャートの時間足を例にしましょう。データは常に収集していますが、欲しいのは1時間あたりの四本値だけです。保持しておけば良いのです。この4つの値をMySQLのデータベースに下記のように保存しています。データを常に取得しているのは、高値と安値がいつ更新されるか分からないからです。|+---------------------+---------+---------+---------+---------+どうやって使うの?僕はなるべくシンプルなルールで取引するようにしています。ある指標を見ても混乱するので、基本移動平均線しか見ません。自動売買プログラムでは、僕が普段取引している方法をそのまま実装したいと思っております。5時間移動平均、25時間移動平均、75時間移動平均線を使って、それらの上げ下げで取引タイミングを決めています。そのためには、1時間ごとの5時間移動平均、25時間移動平均、75時間移動平均も保持しないといけないので、「コレクター」で次のような移動平均データも作っています。Partnersの指数平滑移動平均を参考にしました。|+---------------------+----------+----------+----------+実際に取引プログラムでは、この移動平均データを見ることになります。5時間移動平均と25時間移動平均がゴールデンクロスしたら「買い」、デッドクロスしたら「売り」という具合で注文を出せば良いんです。まとめこれで自動売買するためのデータはすべて揃いました。後は、売買ルールを決めればいいだけですが、この売買ルールが一番の肝になります。売買ルール次第では、利益も損失もあり得るので、最初はシンプルなルールで小さく取引していこうと思います。ルールが固まったところで細かい調整をしたり、サイズを増やしたりして利益を狙いたいと思います。「bitFlyer」での自動売買プログラムの完成版を紹介した記事も、合わせてご覧ください。東京でITエンジニアをやってます。毎日自転車で通勤してます。views水泳パーソナルレッスンを受けてきた。