noteのタイトル画像

[Puppeteer] <初めてのPuppeteer> ドテン君を作ろう♪(1回目)

本日のお題「ドテン君」

さて、本日のお題は「ドテン君」です。

仮想通貨界隈の方であれば「ドテン君」という言葉を一度は聞いたことがあるでしょう。
かく言う私も仮想通貨売買に興味を持った頃に初めて聞いた自動売買botの名称が「ドテン君」でした。

ドテン君はnoteで販売できる最高額で売り出されていましたが、かなりの数の人が購入したと聞いています。
(儲かったかどうかは知りませんが)

その後派生品も出てくるようになり、かなり盛り上がったbotの一つでしょう

当時の私は仮想通貨で一山当てようというよりも「同じようなロジックを早く作れるようになりたい」という一心で勉強していました。

「node.js+JavaScript」環境で実装を始め、その後しばらくクライアントサイドの技術である「Vue.js」に浮気し、AI/機械学習ブームに乗って「Python」に手を出して現在に至ります。

もともとは8080系CPUや68000系CPUのアセンブラでプログラムを作成していた時代からのエンジニアなので、本当はC++/C#/Javaが一番得意なのですが、昨今はそんなことを言っていられません。
Rubyだろうが、JavaScriptだろうが、Pythonだろうが設計して実装できないと置いていかれる(笑)

で、最近のお気に入りプログラミング言語のPythonでドテン君を再現してみたいと思います。(上記のドテン君もPythonで実装されていたと聞いています)

もちろん実装する上で利用するプラットフォームはPuppeteer(傀儡師)です。

世界の始まりから

まずはPuppeteerをインストールしましょう。

Puppeteerは仮想通貨自動売買botを動かすためのフレームワークです。
Pythonというプログラミング言語で記述されています。
MITライセンスで公開していますので、「誰でも無料」でご利用いただけます。

インストール方法は

もしくは

のドキュメントを参照ください。
動作環境はAmazon Web ServiceのCloud9を想定しています。

もちろんそれ以外のローカルPC(Windows/Mac/Linux)でもインストールは可能ですが、環境に起因するトラブルを避けるためにもCloud9を使用するのが良いと思います。

ドテン君の原理

今更ながらですがおさらいです。
ドテン君は「チャネルブレイクアウト戦略」を使ったbotです。
では、チャネルブレイクアウト戦略って?ってことですが、以下のサイトに詳しく解説されています。

要は「チャネル」から上下どちらかに大きくブレイク(跳ねた)時にブレイク側にエントリーするということらしいです。

プログラミングの観点から言うと実装は「めちゃくちゃ」簡単です。

仮想通貨が今のようなbot戦国時代では無かった頃には、このような簡単なロジックも大手を振って闊歩できていたのでしょう。

プログラミング的には簡単な実装でも、チャネルをどの足でどれくらいの期間で計算し、ブレイク判定のK値をいくらにするかで挙動がかなりかわります。

足を1時間足にするか、2時間足にするか、はたまた4時間足、いや逆に30分とか15分とか。。
bitmexのチャート機能を使ってそれぞれの足を表示してみてください。
上記の足を切り替えると風景(トレンド)がガラッと変わって見えることでしょう。

私はもともとプログラミングが好きなので、とにかく「こんなロジックなら面白いんじゃ?」とか「ここをこうしてみたらどんな動きになるのか?」が楽しくて実装してはトライしています。

少しでもプログラミングの楽しさを共有できたらと思っていますので、
応援頂ければ嬉しいです。(スキをポチッとお願い致します)

早すぎる次回予告(笑)

次回から実際にドテン君を作っていってみましょう。

楽しいbotライフを!


ソフトウェア・エンジニアを40年以上やってます。 「Botを作りたいけど敷居が高い」と思われている方にも「わかる」「できる」を感じてもらえるように頑張ります。 よろしくお願い致します。