プログラマーが副業を探すなら、EA開発が穴場でおすすめかもしれない3つの理由

公開日:

このページはプロモーションを含みます

プログラマーとして副業を探していると、どこか似たような案件ばかりが目に入ってくるものです。

確かに開発スキルは活かせるけれど、どれも「時間を対価に働く」構造から抜け出せない…。そんな閉塞感を抱いたことがある人は少なくないでしょう。

 

一方、FXの自動売買プログラムExpert Advisor(通称EA)を開発するという副業(?)は、プログラミングとクリエイティブと投資が同居した、まったく違う景色が広がっています。

 

投資経験がなくても始めることができ、開発したEAの著作権は基本的に開発者に帰属します。販路を広げて、上手く販売することができれば、本業以上の収入を目指すことも可能です。

 

EAの開発とはどういうものなのか、どうして副業として狙い目なのか、EAの開発をするには何から着手すればいいのか、一つずつ見ていきましょう。

プログラマーの副業がどれも同じに見えてしまう理由

副業サイトを眺めていると、確かに案件数は多くて選択肢はよりどりみどりな印象です。

でも、しばらく眺めているとあることに気がつきます。「どれも同じ構造をしているな」と。

時給労働になりやすい

プログラマー向けの副業案件の多くは、システム開発や機能追加などの受託型です。

そこには明確なビジネス要件があり、納品物に対して報酬が支払われます。もちろん誠実な働き方なのですが、構造としては時給労働です。時間を積み重ねない限り、収入も積み上がりません。

スキルが資産として残りにくい

どれだけ工夫を凝らしたコードであっても、一度納品してしまえばそれは依頼主のものであり、自分の資産にはなりません。

プログラミングという創作行為は本来積み上がっていくものですが、副業ではその積み上げが意外と難しいのです。

 

どれだけ美しいコードを書いても、納品してしまえば終わり。自分の作品として残らず、積み重なっていきません。

自分のプロダクトを作って収益化する道が少ない

副業で「自分の作品を作りたい」という思いはあっても、たとえばアプリ開発は企画・UI・マーケティングなど、技術以外の壁が大きい分野。結果として、受託以外の選択肢がなかなか見えません。

 

以上のような状況で、コードを書いて「自分の作品」を作れる副業として、EA開発が選択肢として浮上してくるのです。

EA開発という穴場副業

FXのトレード戦略をプログラミングする「EA開発」というジャンル。

トレード経験が豊富じゃないと参入できないと思っている人が多いのですが、実はそんなことはありません。プログラマーだからこそ、最初の一歩が非常にスムーズに踏み出せる領域でもあります。

FX未経験でも全く問題ない

投資やFXの経験がある方が有利なのは間違いありませんが、未経験だからといって身構える必要はありません。

FXのトレード経験は豊富だけどプログラミングの知識がゼロの人と、FXの知識はないがプログラムを組める人がいたら、いち早くEAを開発できるのは間違いなく後者です。

 

EAはチャートを「データ」として扱い、トレードの判断を「条件式」で記述します。

「価格が高値を更新したら買う」「価格が移動平均線の上にあるなら買い目線」といった、人がチャートを見て思った感覚を、if文として書き表すだけの話です。

 

  • 価格が高値を更新したら買う → if(high[0] > high[1])

 

自分でトレードの判断を下す裁量トレーダーが感覚で行っていることを、プログラマーは最初から論理として理解できる。ここに相性のよさがあるのです。

MQL4/MQL5はC系と高い親和性があり、違和感がない

EA開発で使われるプログラミング言語のMQL4/MQL5の文法はC言語に近く、変数宣言・if文・for文の構造はほぼそのまま使えます。

 

if (close[0] > close[1]) {

   // 条件成立

}

 

このような見慣れたソースコードなので、プログラミングの学習に関してはストレスなくできるでしょう。

「FX×テクノロジー」という希少スキルを獲得できる

EAの開発者になるとどのようなスキルを獲得できるのでしょうか? 

FXのことを知らないとピンとこないかと思いますが、かなり希少な人材となることができます。

 

FXのスキル

FXの知識があり、為替相場のランダムな動きの中からエッジ(統計的な優位性)を抽出してトレード戦略(手法)を考案できるスキル。

このスキルがあればトレーダーとして生計を立てられるかも?

 

テクノロジーのスキル

すでに持っているプログラマーとしてのスキルです。MQL4・MQL5でプログラムを作成でき、為替相場から抽出したエッジをもとにEAを作れるようになることを目指します。

 

後者のスキルだけでもEA開発はできます。市場規模に対して開発者が少ないため、プログラマーは参入するだけで希少なスキルの持ち主になれます。

そして、もしFXのスキルも習得して両方を兼ね備えることができたなら…。EAの販売収益やEA運用による投資収入など、副業の収入が本業を上回るのも時間の問題といえるでしょう。

EA開発を副業にする3つのメリット

ちょっと夢を見過ぎのような気がしてきましたが、EA開発を副業にすることのメリットはいくつもあるため、決して夢物語というわけでもありません。

ここからはメリットについて大きく3つに整理してみます。

① コードがそのまま作品になり、資産として残る

EAは一度作れば終わりではなく、実行させ、改良し、また動かし…と、作品のように育てていくことができます。

受託案件と違って自分の手を離れないですし、成長し続ける「自分の資産」になります。この感覚は、他の副業では得られない、EA開発という副業ならではの醍醐味です。

②EA販売でストック型収益を作れる

作ったEAを販売し、その売上が副業としての収益になるのですが、販路は色々あるので心配しなくても大丈夫です。

EAを出品することができるECサイトがいくつかあります。

販売価格は2〜5万円くらいが多いようです。筆者が知っているEA開発者の方は10年前に5万円で販売したEAがずっと売れ続けて、2,000人以上に購入されたそうです。

 

ちなみにECサイトでは購入した方へ配布するEAは、コンパイル済みのex4/ex5形式が一般的。ソースコードが守られ開発者の資産性が保たれます。

③FX理解が深まり、投資の武器となる

EAの開発を学んでいく段階では、トレードルールは書籍やネット上で探してきて、それをコードに落とし込んでいくことになるかと思います。

最初はなんのことやら全くわからないのですが、何個もサンプルを作っていくうちに、どんな条件のときに統計的に勝ちやすいか(エッジ)が見えてくるようになるはずです。

 

また、バックテストの各種データを見ながら検証、改善をしていくと、結局FXのことを調べながらやるようになるため、必然的にFXやトレードについて造詣が深くなっていきます。

 

いずれはその知識をフル活用して、自身で裁量トレードをしたり、EAで資産運用できるようにもなっていくでしょう。

プログラマーがEA開発を始めるための最初の3ステップ

ここからはプログラミングのスキルがある人がEAを開発するための流れ(入口部分)を解説していきます。

読んだ方が「これならできそう!」と思えるくらい簡単に書いていますが、実際にやってみたら本当にそう思ってもらえるはずです。

①まずはMT4/MT5を動かしてみる

EAを導入するチャートツールのMT4(もしくはMT5)を実際に触ってみましょう。

MT5の方が新しいのですが、流通しているEAの数はMT4の方が圧倒的に多いです。

 

どちらを選ぶかですが、まずはMT4が無難でしょう。MQL4は情報量が多く、構文もシンプル。

学習コストが低いため、EA開発の最初の1本を作りやすいからです。

 

FX会社のMT4口座を持っていなくてもMT4自体は無料で起動できます。

まずはMT4を色々触ってみて、ネットに出回っているサンプルEAを動かして、EAを使ったトレードがどのようなものなのかを体感してみましょう。

 

ちなみに、FX会社のMT4対応のデモ口座を開設すれば、実際のお金を使わずにEAの動作テストも行いやすくなります。

②サンプルEAを読み解いてみる

EAのサンプルコードは、ネット検索すると簡単に見つけられます。

実際のコードを触りながら「これは何を判断しているのか?」と紐解く作業を続けていくと、徐々にプログラムの全体像が見えてきます。

③正しく動くEAを作る

EA開発の最初のゴールは、正しく動くものを作ることです。

別に利益が出てなくても構いません。そこから改良 → 検証 → 最適化という、プログラマーが慣れた流れを繰り返して自分だけのロジックが育っていきます。

まとめ

EA開発は、プログラマーが持つ論理性・検証力・構造化思考をそのまま活かせる副業です。

そして学びながら、投資の理解まで深まっていき資産運用も視野に入ってきます。

もしも今、副業の選択肢がマンネリ化しているのなら、EA開発という世界を一度覗いてみてはいかがでしょうか。

 

執筆者紹介

FX情報誌『外国為替』編集長

鹿内 武蔵

FX情報誌『外国為替』編集長 投資専門ライター&編集者集団、株式会社tcl代表取締役
FX情報誌『外国為替』編集長 投資専門ライター&編集者集団、株式会社tcl代表取締役

注意・免責事項

  • ・記載の内容は個人の見解に基づくものであり、実際の投資にあたっては、お客様ご自身の責任と判断においてお願いいたします。
  • ・本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。
  • ・また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。
  • ・なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。
  • ・各レポートに記載の内容は、GMOインターネット株式会社の事前の同意なく、全体または一部を複製、配布を行わないようお願いいたします。

OTHERその他の記事