「自動売買を試してみたいけれど、プログラムは書けない」「そのたびに外部の開発者へお願いするのは、費用も時間もかかる」
外国為替証拠金取引(FX)やCFD(差金決済取引)の取引ツールを提供している、あるいはこれから提供を考えている事業者の方から、こうした声をよく聞くようになりました。

MetaTrader 5(メタトレーダー5、以下 MT5)は、世界中の個人投資家に使われている取引プラットフォームです。MT5では「自動売買プログラム」(一般にエキスパートアドバイザーと呼ばれます)を動かせますが、これを自分で作るには MQL5 という専用のプログラミング言語の知識が必要でした。ここにAIを組み込むと、プログラムに詳しくない利用者でも、自分の考えた売買ルールを言葉で伝えるだけで、たたき台を作れるようになってきています。

この記事では、投資・トレード支援サービスを運営する、あるいは企画している事業責任者・サービス企画の方を想定して、MT5の自動売買にAIを組み込むとできる5つのことを、発注を考えるときの目線でやさしく整理します。

ざっくり言うと:自動売買プログラムを作るAIは、外国語が話せる通訳さんのようなものです。あなたが日本語で「こういう時に買って、こうなったら売りたい」と伝えると、MT5が理解できる言葉(プログラム)に訳してくれる。ただし、訳した内容が本当に意図どおりかは、最後に人が確かめる必要があります。ここを外さないことが、今回いちばん大事なポイントです。

利用者の言葉を自動売買プログラムに翻訳するAIのイメージ
言葉から自動売買プログラムへの翻訳(イメージ)

AIで何ができるのか

1. 言葉で書いた売買ルールを、自動売買プログラムに翻訳する

利用者が「移動平均線が上向きに変わったら買い、下向きに変わったら売る」「含み損が一定額を超えたら決済する」といった売買のルールを日本語で書くと、AIがそれを MT5 用のプログラム(MQL5)のたたき台に変換します。プログラミングの知識がなくても、まずは形にできるのが大きな変化です。

注意したいのは、これはあくまで「たたき台」だということです。利用者の言葉が曖昧なら、できあがるプログラムも意図とずれます。「買う」が成行なのか指値なのか、何枚(どのくらいの数量)なのか、といった細かい部分は、サービス側で確認の質問を挟む設計が効いてきます。

2. すでにあるプログラムの中身を、日本語で説明する

過去に作った、あるいは配布されている自動売買プログラムを読み込ませると、「このプログラムはどんな条件で売買するのか」「どこにリスクがありそうか」を、平易な日本語で説明させることができます。中身がわからないまま動かしてしまう、という不安を減らすのに役立ちます。

3. エラーやうまく動かない箇所の原因を一緒に探す

プログラムが思ったとおりに動かないとき、エラーメッセージや該当する部分を渡すと、AIが原因の候補と直し方を提案します。開発者にとっては当たり前の作業ですが、これを利用者向けの画面に組み込めば、「動かないので問い合わせる」前のセルフ解決を後押しできます。

4. 戦略のアイデアを言葉で整理する手伝いをする

「下落が続いた相場で使いたい」といった曖昧な考えを、AIと対話しながら、売買の条件・タイミング・損切りのラインといった具体的な項目に分解していく使い方です。頭の中のイメージを、プログラムにする一歩手前まで整える補助役と考えるとよいでしょう。

ここで一点、強く意識しておきたいことがあります。AIにさせるのは「利用者が決めた考えを整理する」ところまでです。「いま何を買うべきか」のような個別の投資判断にAIを踏み込ませると、後述する法令上の論点が出てきます。

5. 過去データでの検証(バックテスト)の準備を助ける

作ったプログラムを過去の値動きで試すことを、バックテスト(過去データでの検証)と呼びます。AIは検証の設定項目の意味を説明したり、結果の見方を一緒に整理したりできます。「過去にうまくいったか」を確かめる作業のハードルを下げ、いきなり実際のお金で動かす前のワンクッションを置きやすくなります。

利用者の入力が自社サーバーとAIを経てMT5のプログラムになる流れ
自動売買支援AIの実装イメージ

実装のイメージ

MT5の自動売買を支援するAI機能は、大きく4つの部品の組み合わせで作ります。

「外部のAIを利用者にそのまま見せる」のではなく、真ん中に自社のサーバーを挟んで、自社サーバーがAIに問い合わせる形が一般的です。利用者の取引ルールや資産の状況はセンシティブな情報なので、AIに渡す前にどこまで伏せるか、どの情報は渡さないかを細かく設計する必要があります。AIへの指示文の組み立て方は プロンプトの解説 もあわせてどうぞ。

AIが生成した自動売買プログラムを人が確認する様子
生成プログラムの人による確認(イメージ)

導入時に気をつけたいこと

AIが書いたプログラムは、人の目で確かめる

AIはそれらしいプログラムを自信たっぷりに書きますが、たまに意図と違う動きをするコードを書くこともあります(業界用語ではハルシネーションと呼ばれます。ハルシネーションの解説もあわせてどうぞ)。実際のお金を動かす前に、デモ口座や過去データで十分に試す流れをサービスに組み込んでおくことが欠かせません。「生成された=そのまま使える」と利用者に誤解させない画面設計が大切です。

「自動売買なら儲かる」とは伝えない

相場の先を完全に読み切ることは、誰にもできません。過去データでうまくいったプログラムでも、将来の利益を約束するものではありません。サービスの説明文で「勝てる」「確実に利益が出る」といった断定的な表現を使うと、景品表示法(消費者に誤解を与える表示を規制する法律)の観点で問題になりかねません。あくまで「利用者のアイデアを形にする道具」として、効果をうたいすぎない表現を心がけたいところです。

投資助言にあたらないか、専門家に確認する

利用者一人ひとりの状況に合わせて「この通貨ペアを買うべき」のような個別具体的な助言をAIにさせると、金融商品取引法(金融商品の取引を公正にするための法律)が定める投資助言にあたる可能性があります。ツールとして「利用者が決めたルールをプログラムに変換する」範囲にとどめるのか、必要な登録などの対応をとるのか。サービス設計の早い段階で、弁護士など専門家に相談しておくのが安心です。

作って終わりではない運用コスト

AIへの問い合わせは、使うほど費用がかかる従量課金が一般的です。利用者が何度もプログラムを作り直すサービスでは、想定より費用がふくらむことがあります。料金プランや回数制限の設計も含めて、公開後にかかり続けるコストを見込んでおきましょう。詳しくは AI機能は「作って終わり」ではない も参考にしてみてください。

過去データで自動売買プログラムを検証する様子
バックテスト(過去データでの検証)のイメージ

まとめ

MT5の自動売買にAIを組み込むときは、すべてを任せるのではなく、翻訳・説明・整理をAIが、最終確認と判断は人がという分担で考えると、現実的な落としどころが見えてきます。

この5つを、自社サービスの中身と照らし合わせて「どこから始めるか」を決めるのが第一歩です。人による最終確認の仕組み、効果をうたいすぎない表現、法令上の論点。この3点をおさえながら、まずはひとつの機能を小さく試すところから始めてみてください。