自宅のMacを9日間眠らせずに、botを飼っている


『FX自動売買 実装ノート』第6話 / 全6話

ここまで、乗り方・守り方・止まらせない仕組みと書いてきました。最後に、そもそもこれがどこで動いているかの話をします。地味ですが、ここが実は全部の土台です。

家のMac miniを、サーバーということにしている

正直に言うと、この一式は自宅のMac miniで動いています。専用のサーバーでも、クラウドでもありません。机の上にある普通のパソコンです。

そのパソコンに、7つのサービス(bot本体・guardian・番犬・約定取得・通知・派生戦略ふたつ)を常駐させて、24時間走らせている。そして一番象徴的なのがこの設定です。

sleep  0     ← 本体を絶対に眠らせない

パソコンは放っておくと省エネで眠ろうとします。眠られるとbotも止まる。なので**「眠るな」を強制**しています。今このMacの連続稼働時間を見たら、こうでした。

up 9 days

9日間、一睡もせず起きっぱなし。画面だけは消しても、中身はずっと動き続けている。要するに、家庭用のパソコンを、無理やり止まらないサーバーとして酷使している状態です。

苦労の何割かは、置き場所のせいだった

ここで白状すると、この連載で書いてきた「止まらせない」ための苦労——番犬で叩き起こす、接続が切れたら張り直す、眠らせない呪文をかける——その何割かは、そもそも家のパソコンをサーバー代わりにしているから発生しています。

  • パソコンのOSは、本来サーバーではありません。放っておけば眠りたがるし、アップデートで再起動を促してくる。その本能と毎日戦っている。
  • 家のネット回線は、データセンターの回線ではありません。前回の Telegram の「No route to host」も、要は家の回線がときどき不機嫌になるという話でした。
  • 電源も一系統。家がブレーカーを落とせば、全部いっぺんに止まります。
  • しかもこのMacは、他の作業にも使う共用機です。うっかり重い処理を走らせれば、botの反応も鈍る。

つまり、脆さのいくらかは戦略のせいでも運の悪さのせいでもなく、置き場所のせいでした。

本当はVPSに置くべきです

24時間動かし続けるものは、本来は手元のパソコンではなく、VPS——ネット上の、常時稼働前提の小さなサーバー——に置くのが正解です。

VPSなら、そもそも眠りません。データセンターの電源と回線で動くので、家のブレーカーや不機嫌な回線とは無縁。デスクトップOSのように「再起動しませんか」と急かしてもこない。共用機ではないので、他の作業に足を引っ張られることもない。この連載で戦った問題の半分くらいは、置き場所を変えるだけで最初から存在しなくなります。

ちなみに、いま読んでいるこのブログ(寄り道ラボ)自体も、ConoHa というVPSの上で動いています。月あたりの費用は、外食一回ぶんくらい。24時間動かす前提のものを一つでも持つなら、持っておいて損はありません。

それでも、まだMacで粘っている

じゃあお前は移したのか、と言われると——まだ移していません。 家のMacで9日間眠らせず動かし続けています。

理由は、正直、大したものではありません。Macはもう机にあって、電気代以外は追加でかからない。目の前で動いているとすぐ様子を見られる安心感がある。そして何より、動いているものを移すのが面倒で、後回しにしている。全部、理由というより言い訳です。

なので結論は、自分のことは棚に上げて言います。これから同じことを始める人は、最初からVPSに置いてください。 眠らせない呪文も、置き場所由来の脆さと戦う時間も、丸ごと省けます。私はその「Macで動いちゃってるから、まあいいか」の見本として、9日目の起きっぱなしを更新し続けます。


これで『FX自動売買 実装ノート』は、乗り方から置き場所まで一周しました。核はたった百数十行で、しかも素のままでは勝てなくて、稼いでいるのは今も人間で、置き場所も本当は間違っている。それでも、止まらず回っています。完璧じゃないものを、完璧じゃないまま動かし続ける——自動売買の実際は、たぶんそういう地味な粘りの積み重ねです。