ChatGPTFX自動売買(EA)の作り方MQL5Python

生成AI × FX自動売買「GPT-EA」の初期設定と稼働方法についての完全ガイド

※アフィリエイト広告を利用しています

広告

以下の記事では、MetaTraderとPythonを連携しつつ、生成AI(GPT)を活用して売買判断を行い、FX取引を自動的に繰り返すエキスパートアドバイザー(EA)を作成し、その実行用ツールとバックテスト用ツールを配布しています。

このページでは、リンク先の記事で紹介されている生成AI連動型EAであるGPT-EA(Generative Pre-trained Transformer Expert Adviser)を稼働させるために必要な環境構築と、MetaTrader5(MT5)にGPT-EAをセットして実際に動かす方法について、初心者にもわかりやすい形で詳しく説明していきます。

具体的には、

  • VPSのセットアップ
  • デモ口座の開設手順
  • MT5のインストール方法
  • Python環境設定方法
  • OpenAIのAPIキー取得方法
  • MT5にGPT-EAをセットする方法
  • MT5でGPT-EAを稼働させる方法

といった、GPT-EAを運用するために必要となる工程を一つ一つ丁寧に解説します。環境構築や操作方法に不安がある方は、ぜひこのページを参考にしてください。

広告

VPSの必要性

「バーチャル・プライベート・サーバー(Virtual Private Server、VPS)」は、あたかも自分専用の仮想PCがあるかのように機能するサーバーです。これは、GPT-EAにおいて重要な役割を果たします。生成AI(GPT)とも定期的に自動連携を行いつつ、安定したFX自動売買を行うためには、24時間365日安定した環境が必要だからです。

FX売買専用VPS「お名前.com デスクトップクラウド」の紹介

FX売買専用VPSとは、特にFX自動売買のために設計されたVPS(バーチャル・プライベート・サーバー)です。ここで紹介するFX売買専用VPS【お名前.com デスクトップクラウド】は、デスクトップ利用に特化しており、サーバーの運用に不慣れな初心者でも簡単に使用できるように設計されています。


MT5の利用

「お名前.com」のFX売買専用VPSを使用すると、世界中で広く利用されているMetaTrader5(MT5)というFX取引プラットフォームを活用することができます。これらのプラットフォームは、高度なチャート機能やインジケーターを備えており、GPT-EAのようなFX自動売買を実行するのに特に重要です。

Pythonの利用

FX専用VPS「お名前.com デスクトップクラウド」は、デスクトップPCと同様に扱うことができます。ユーザーは、通常のPCで行うように簡単にPythonをインストールすることができます。この機能は、GPT-EAを運用するための必須事項です。

VPSの環境設定

VPSを契約して立ち上げた後、GPT-EAを実際に動かすためにはいくつかの環境設定を行うことが必要です。ここでは、FX売買専用VPS【お名前.com デスクトップクラウド】を例に進めます。

VPSのプランの選び方ですが、FX売買専用VPSにおいてはメモリが最低限のプランでも、GPT-EAの稼働は可能なことは確認しております。

まず、FX売買専用VPS上のブラウザで以下のURLにアクセスしてください。

https://nanpin-martin.com/gpt-ea_preparation/
これは、まさにあなたが今閲覧しているページのURLです。VPS上で直接このページを開くことで、VPS環境内で実際に作業を行いながら、必要な情報を確認することができます。この方法は、VPSの環境設定に関する指示に従いながら進めるのに最適です。
以降は、FX売買専用VPSのブラウザ上でこのページを閲覧している前提で話を進めます。

GPT-EA用のデモ口座の開設

今回は、XM(エックスエム)のKIWAMI極口座を利用する前提で話を進めます。このKIWAMI極口座は、スタンダード口座よりもスプレッドが小さくてお得なのですが、さらにスワップフリーで使いやすい口座です。

まずは、KIWAMI極口座のカスタムデモ口座を100万円の金額を設定して開設することにします。リアル口座のように実際に投資資金を用意しなくてもGPT-EAを運用してみることが可能です。

XMの会員登録ページにアクセス

まずは、下のページからXMの会員登録を行います。

以下のように、必要な情報を入力していきます。

カスタムデモ口座の開設

会員登録後、会員ページにログインして、追加口座開設からカスタムデモ口座を選んで進んでください。

取引口座の設定

以下の通り、MetaTraderのバージョンはMT5口座タイプはKIWAMI極を選択します。

残りの選択は、以下のように設定します。

取引口座のパスワードを作成

以下の条件にしたがった任意のパスワードを設定します。

口座開設のメールを確認

必要な情報を入力して手続きが完了すると、口座開設のメールがすぐに送付されてくるはずです。

このとき、「お客様のMT5のID」と、「サーバー名(XMTrading-MT5 3など)」という情報が記載されていることを確認しておいてください。

この後、IDとサーバー名がMT5にログインする際に必要になります。

Meta Trader 5(MT5)のインストール

XMで取引する場合は、基本的にXMのサイトからMT5をインストールする必要があります。

古いバージョンのMT5だとKIWAMI極口座に対応してないこともあるので、改めて最新のMT5をインストールしましょう。

以下のリンクからXMのMT5ダウンロード画面に進みます。

画面の中からダウンロードを選択し、ダウンロードとインストールを行います。

MT5を起動し、取引口座にログイン

インストールしたMT5を起動し、取引口座にログインします。

メールに記載された「お客様のMT5のID」と「サーバー名(XMTrading-MT5 3など)」、ご自身で設定したパスワードでログインします。

GOLD#の表示

GPT-EAは、GOLD#(KIWAMI極口座ですと、取引対象の名称の後に「#」が付きます)を取引対象とする前提の設定になっています。

MT5の初期設定状態では、GOLD#がデフォルトの表示リストに出てこないこともあるかもしれません。MT5の上の方のタブの「表示」→「銘柄」から、以下の通り、GOLD#を「非表示」から「表示」に変更します。

これで、GOLD#が表示可能になりました。

GOLD#のチャートを表示

続いて、MT5の上の方のタブの「ファイル」→「新規チャート」から、以下のように「Derivatives > Metals KIWAMI > GOLD#」と選択し、GOLD#のチャートを表示させます。

すると、GOLD#のチャートが表示されたと思います。デフォルトだと時間足はH1かもしれませんが、そのままでも構いませんし、お好きな時間足に変えても結構です。

今回導入するEAは、どの時間足にセットしてもロジックは変わらないからです。導入するEAによっては、セットする時間足を指定している場合もあるのでご注意ください。

Python環境の設定方法

生成AI(GPT)とのやり取りはPythonを利用して行うので、FX専用VPSにPythonもインストールする必要があります。さらに、必要なライブラリもインストールしておく必要があります。以下の流れに沿ってください。

Anacondaのインストール

まず、こちらのリンクにアクセスします。

メールアドレスの入力欄がありますが、単純にAnaconda環境を構築したい場合には、「Skip registration」をクリックすることで、メールアドレスを入力せずにダウンロード画面に移動できます。

Anacondaのダウンロード

Windowsのインストーラーをダウンロードします。

この画面における最新のバージョンは、Python 3.12です。

Anacondaのセットアップ

以下、セットアップ画面を順番に紹介します。

この画面と同じように選択や入力を行えば、GPT-EAを運用するための最低限の環境を整えることはできます。

[ユーザー名]は、FX売買専用VPSの場合は「MT4ver2-XXX-XXXXXX」などです。ご自身の環境に合わせたものを選択してください。

以上で、Anacondaのインストールが完了です。

OpenAIのPythonライブラリをインストール

Anacondaのインストールが完了すると、スタート画面からAnaconda promptが起動できるはずです。

Anaconda promptにて、以下をコードをコピペして実行します。

pip install openai
「Successfully installed openai」のような表示が出れば無事インストール完了です。これで、OpenAIのAPIにアクセスできるようになります。

Python環境のテスト

Python環境の準備が正しく完了しているかを確認してみましょう。これは、GPT-EAでも使用している「バッチファイルからPythonスクリプトを実行する仕組み」が問題なく動作するかの確認も兼ねています。

ユーザー名について

FX売買専用VPSでは、ユーザー名が「C:\Users\MT4XXX-XX-XXXXX」のように「MT4〜」という形式で設定されていることが多いですが、これは各環境によって異なります。

以降の説明では、パスを「C:\Users\[ユーザー名]」のように[ユーザー名]部分は置き換えて表現しますので、ユーザー名はご自身のものに置き換えてください。

テスト用Pythonスクリプトの作成

  1. 「C:\Users\[ユーザー名]」フォルダを開き、右クリックして「新規作成 > テキスト ドキュメント」を選択し、新しいテキストファイルを作成します。
  2. 作成したテキストファイルのファイル名を「test.py」に変更します。これにより、ファイルがPythonスクリプトとして認識されます。
  3. 「test.py」を右クリックして、「Edit with IDLE」を選択します。これによりPythonの統合開発環境であるIDLEが開きます。
  4. 以下のテスト用のPythonコードをIDLEにコピペします。コードをコピーした後、ファイルメニューから「保存」を選択し、IDLEを閉じます。
# 必要なライブラリをチェックするスクリプト
import sys

def try_import(library_name):
    try:
        __import__(library_name)
        print(f"ライブラリ '{library_name}' のインポートに成功しました。")
    except ImportError:
        print(f"エラー: ライブラリ '{library_name}' をインポートできませんでした。インストールが必要です。")

# チェックするライブラリのリスト
libraries = [
    "pandas",
    "openai"
]

# 各ライブラリをチェック
for lib in libraries:
    try_import(lib)

# スクリプト終了
sys.exit(0)

テスト用バッチファイルの作成

  1. 「C:\Users\[ユーザー名]」フォルダで右クリックし、「新規作成 > テキスト ドキュメント」を選択して新しいテキストファイルを作成します。
  2. 作成したテキストファイルのファイル名を「test.bat」に変更します。これにより、ファイルがバッチファイルとして認識されます。
  3. 「test.bat」を右クリックして、「編集」を選択します。これによりテキストエディタが開きます。
  4. 以下のバッチファイルのコードをテキストエディタにコピペします。ここでの[ユーザー名]は、各自の環境に合わせて適切に置き換える必要があります。コードをコピーした後、ファイルメニューから「保存」を選択し、テキストエディタを閉じます。
@echo off
C:\Users\[ユーザー名]\anaconda3\python.exe C:\Users\[ユーザー名]\test.py
pause
[ユーザー名]は2箇所あります。また、Anacondaを使用しない場合は、各々のPython環境に合わせたpython.exeの場所を指定してください。

テストの実施

作成した「test.bat」は、Pythonスクリプト「test.py」を実行するためのバッチファイルです。そしてこの「test.py」は、特定のPythonライブラリがシステムにインストールされているかを確認するためのスクリプトです。

「test.bat」をダブルクリックすると、「test.py」が実行され、コマンドプロンプトのウィンドウが開きます。以下のライブラリ(GPT-EAで実際に使用するもの)をチェックするプログラムです。

  • pandas
  • openai

    失敗した場合は「エラー: ライブラリ ‘ライブラリ名’ をインポートできませんでした。インストールが必要です。」というメッセージが表示されますので、該当のライブラリのインストールを確認してください。

    OpenAIのAPIキーの発行

    GPT-EAを実際に稼働させるためには、OpenAIのAPIキーが必要です。

    こちらのページから、OpenAIのAPIページに進みます。

    アカウントを作成してからログインしてください。ChatGPTのアカウントがある場合は、同じアカウントでログインが可能です。

    ログイン後、画面右上の歯車アイコン(Settings)をクリックしてください。

    そして、左のメニューから「Billing」を選択します。
    残高がゼロの場合は、「Add to credit balance」から、残高をチャージしておく必要があります。
    「Payment method」にクレジットカード情報を登録して、支払いを行います。

    ChatGPTの有料プランを利用している場合でも、API利用のためのコストは別でチャージしておく必要があります。最初は5$や10$など少ない金額をチャージして試してみると良いでしょう。

    チャージが完了したら、「Billing」の画面で、以下のように「Credit balance」にいくらか残高があることを確認します。

    続いて、左のメニューから「API keys」を選択します。

    「Create new secret key」から、APIキーを発行します。細かい設定がよく分からなければ、ひとまず以下の画面のようにして、「Create new secret key」をクリックします。

    すると、以下のような画面になりますので、ここでAPIキーをコピーしてどこかに保存しておきます。

    ここに書いてある英語の説明を翻訳すると以下の通りです。

    シークレットキーは二度と見ることができませんので、安全な場所に保存してください。あなたのAPIキーを持っている人は、あなたの代わりにリクエストを行うことができますので、安全に保管してください。万が一紛失した場合は、新たに生成する必要があります。
    つまり、この画面を閉じると二度とコピーすることはできません。もしコピーしそびれた場合は、新たにAPIキーを発行し直しましょう。

    GPT-EAの設置と稼働

    さて、いよいよ実践です。GPT-EAに必要なファイルを設置して動かす工程に進みます。必要なファイルは以下の記事から用意してください。

    GPT-EAを稼働するためには、以下の3つのファイルを設置する必要があります。

    • GPT-EA_note.ex5(MT5用のEA)
    • get_gpt_reply.bat(get_gpt_reply.pyを動かすためのバッチファイル)
    • get_gpt_reply.py(GPT APIにアクセスするためのPythonスクリプト)

    mq5ファイルからEAをコンパイル

    まずは、ダウンロードした「GPT-EA_note.mq5」から、「GPT-EA_note.ex5」を作成します。

    特にコードを変更せずにコンパイルするだけのEA作成手順は、以下の通り比較的簡単です。

    1. 「GPT-EA_note.mq5」を、「MQL5 -> Expertsフォルダ」に保存する。

    2. 「GPT-EA_note.mq5」をダブルクリックすると、MetaEditorが起動する。

    3. 「コンパイル」をクリックすると、Expertsフォルダに「GPT-EA_note.ex5」が保存される。

    「MQL5 -> Expertsフォルダ」の確認方法

    MT5あるいはMetaEditorの「ファイル」->「データフォルダを開く」をクリックします。


    すると、以下のMQL5のパスが確認できますが、そこのExpertsフォルダに「GPT-EA_note.mq5」や「GPT-EA_note.ex5」が保存されていれば準備は完了です。

    ここの[ユーザー名]と[ターミナルID]は後ほどのPythonスクリプトの設定でも使用しますので、控えておいてください。
    ※[ユーザー名]と[ターミナルID]はご自身の環境によって異なります。

    バッチファイルとPythonスクリプトの設置

    以下の2つのファイルは、「C:\Users\[ユーザー名]」フォルダの直下に置いてください。

    • get_gpt_reply.bat(get_gpt_reply.pyを動かすためのバッチファイル)
    • get_gpt_reply.py(GPT APIにアクセスするためのPythonスクリプト)

    バッチファイルの編集

    「get_gpt_reply.bat」を右クリックして、「編集」を選択します。これによりテキストエディタが開きます。そして、以下のコードの[ユーザー名](2箇所)をご自身のものに置き換えます。

    Pythonスクリプトの編集

    「get_gpt_reply.py」を右クリックして、「Edit with IDLE」を選択します。これによりPythonの統合開発環境であるIDLEが開きます。そして、以下の[ユーザー名]と[ターミナルID]をご自身のものに置き換えます。

    [ユーザー名]は、「MT4ver2-XXX-XXXXXX」など、[ターミナルID]は、32桁の英数字などです。以下のMQL5のパスでご確認ください。

    ユーザー名の変更

    [ユーザー名]部分をご自身のユーザー名に置き換えます。

    ユーザー名がMT4ver2-XXであれば、user_name = ‘MT4ver2-XX’のようにします。

    ターミナルIDの変更

    [ターミナルID]部分をご自身のターミナルIDに置き換えます。

    APIキーの変更

    [APIキー]部分を、OpenAIのAPIページで発行したAPIキーに置き換えます。

    GPTモデルの選択

    ‘gpt-3.5-turbo’や’gpt-4o’などを選択して入力します。

    ひとまず’gpt-3.5-turbo’の方が少し安いのでそちらで試してみることをオススメします。各モデルの料金設定はこちらのページからご確認ください。

    始めのうちは少し試してみて、実際にどれくらいの料金が発生しているか確認するようにしましょう。OpenAIのAPIページの「Settings > Usage」から、実際の発生状況を確認できます。

    GPT-EAのパラメータ設定から起動まで

    今回は、XMでGOLD#の取引を行う想定で進めます。

    チャートにEAをセット

    MT5を開いたら、以下のように「ファイル > 新規チャート > Derivatives > Metals KIWAMI > GOLD#」からGOLD#のチャートを表示させます。

    そして、エキスパートアドバイザ内の「GPT-EA.ex5」を、GOLD#のチャートにドラッグ&ドロップします。

    “仕様”タブ

    以下のような画面が立ち上がりますので、「仕様」タブで「DLLの使用を許可する」にチェックを入れます。

    “共有”タブ

    また、共有タブで「アルゴリズム取引を許可」にチェックが入っているかを確認します。

    “インプット”タブ

    あとはインプットの設定ですが、ここの”ユーザー名”についてもご自身の環境の[ユーザー名]を入力してください。

    その他の設定は、デモ口座で試してみる程度であればひとまずデフォルトのままで問題ないです。

    許容スプレッド(point)は、取引通貨ペアに応じて設定する必要があります。ここではXM KIWAMMI口座のGOLD#を想定した設定になっていて、通常時はスプレッドが0.20前後ですので、20に設定しています。このpointとは、MQL5のPoint関数が返す値を意味していて、GOLD#の場合は1point=0.01です。

    EAを稼働(自動売買を開始)

    MT5のチャートの上の方にある「アルゴリズム取引」というボタンをクリックすると、稼働開始します。以下のように、「アルゴリズム取引」のボタンのところが緑色の▷になっていることを確認してください。

    稼働停止中(自動売買オフ)

    稼働中(自動売買オン)

    このEAは、バッチファイル(get_gpt_reply.bat)が実行されて、Pythonスクリプト(get_gpt_reply.py)も実行されると、実際にOpenAI APIにアクセスすることになるので料金が発生します。稼働する際は十分ご注意ください。

    GPT-EAの動作確認

    このGPT-EAは、起動時(EAセット時)にバッチファイル(get_gpt_reply.bat)が実行される仕組みになっています。したがって、EAをセットしてDLLの使用やアルゴリズム取引を許可していて、ユーザー名を正しく入力している状態であれば、コマンドプロンプトが立ち上がって、ターゲット価格(target_prices.txt)が更新されます。

    この記事と同じ設定にしていれば、target_prices.txtが保存される場所は以下のExpertsフォルダと同じ場所のFilesフォルダです。

    もしコマンドプロンプトが上手く立ち上がらない場合は、改めてEAをセットし直してみてください。

    それでも上手くいかない場合は、「get_gpt_reply.bat」の3行目に”pause”と入力して保存した後、「get_gpt_reply.bat」をダブルクリックしてみてください。上記のPython環境のテストにおいて、「test.bat」に入れている”pause”と同じです。
    問題がある場合は何かしらのエラーメッセージが表示されますので、その状況に応じて対応する必要があります。

    ダミーファイルの設定

    確認のために何度か起動し直したりすると、Pythonスクリプト(get_gpt_reply.py)が正常に稼働している状態であればAPI料金が発生します。何度も起動し直したりする場合は十分ご注意ください。

    Pythonスクリプト(get_gpt_reply.by)中身を以下の記載にして保存しておけば、APIにアクセスせずに稼働確認を行うことができます。

    # ユーザー名の設定
    user_name = '[ユーザー名]'
    
    # ユーザーパス
    user_path = f'C:\\Users\\{user_name}'
    
    # ターミナルIDの設定
    terminal_ID = '[ターミナルID]'
    
    # ターミナルパスの設定
    terminal_path = f'{user_path}\\AppData\\Roaming\\MetaQuotes\\Terminal\\{terminal_ID}\\MQL5\\Files'
    
    # 処理完了フラグファイルの作成
    with open(f'{terminal_path}\\process_done.txt', 'w') as file:
        file.write('')
    この場合は、target_prices.txtが更新されませんので、手動でtarget_prices.txtの数値と修正するなどしてEAの稼働確認を行うことが可能です。

    まとめ

    以上、GPT-EAをダウンロードした方々に向けて、VPSのセットアップからMT5のインストール、Pythonの設定、OpenAIのAPI設定、そして GPT-EAを実際に稼働させるための方法までをご紹介しました。

    改めて、GPT-EAのロジックやコード詳細については以下の記事をご参照ください。

    タイトルとURLをコピーしました