EA入門 -FX・自動売買初心者はまずはここから-

このページではFX自動売買プログラム(EA)の基礎やFX口座開設の方法などをFX・自動売買の初心者でもわかるように丁寧に解説しています。

筆者が実際に使っているコードも無料で配布しているので、手順に従って進めるだけで誰でもFXの自動売買を始めることができるようになります。

細かい用語の説明はいいからとにかく自動売買がやりたい!という人は「実践」セクションへお進みください。手順に沿うだけで自動売買がすぐに始められます。

※PRを含みます

EAとは

FXを始めたばかりの方の中には、
「EAって何?」「自動売買ってどういう仕組みなの?」と思っている方も多いと思います。

EAとは、Expert Advisor(エキスパート・アドバイザー)の略で、 MT4(メタトレーダー4) などの取引プラットフォームで動作する自動売買プログラムのことです。

つまり、EAとはあなたの代わりに、
チャートを分析し、売買のタイミングを判断し、注文・決済まで自動で行ってくれるFXトレードのロボット」のような存在です。

EAの仕組み

EAは「MQL4(またはMQL5)」というプログラミング言語で作られています。中身には以下のようなロジックが入っています。

  • 5分足の移動平均線が上向きなら買い
  • ATRが一定以上なら損切りを広く取る
  • 利益が〇pips出たら決済する

このようなルールベースの売買判断を、コンピュータが24時間淡々と実行します。人間のように感情に左右されず、常に同じルールで取引してくれるのがEAの大きな強みです。

EAの種類

EAには目的や手法の違いによって、いくつかのタイプがあります。

種類 特徴
トレンドフォロー型 上昇・下降トレンドに乗って利益を伸ばす
スキャルピング型 数分〜数秒の短期売買で小さな利益を積み重ねる
ナンピン・マーチン型 逆行したらポジションを追加して平均値を調整
グリッド型 一定間隔で注文を並べてレンジ相場で利益を取る

それぞれメリット・デメリットがあり、「どの相場に強いか」「リスクの大きさ」も異なります。

EAを使うメリット

  • ✅ 感情に左右されない(冷静なトレードができる)
  • ✅ チャートをずっと見ていなくてもOK
  • ✅ ルール通りの売買が可能
  • ✅ 24時間チャンスを逃さない

EAの注意点

もちろんEAにもリスクがあります。万能ではなく、「常に勝てるEAは存在しない」ことを理解しておくことが大切です。

  • 相場環境が変わると成績が悪化することがある
  • 過去データで好成績でも、未来で同じ結果になるとは限らない

まとめ

ポイント 内容
EAとは? MT4などで動く自動売買プログラム
メリット 感情に左右されず、24時間ルール通りに取引
注意点 相場によって勝てないこともある。過信は禁物。

自動売買を始めるにあたって必要なもの

では実際にEAを使って自動売買を始めるには、何が必要なのでしょうか? 結論から言うと、以下の3つが最低限必要です。

必要なもの 役割
① FX口座(MT4対応のもの) EAで取引を行うための口座
② MT4(MetaTrader4) EAを動かすプラットフォーム
③ EAファイル(.ex4) 実際に自動売買を行うプログラム本体

それに加えて、24時間稼働させるためのVPS(仮想サーバー)を用意する人も多いです。

それぞれ詳しく見ていきましょう。

① FX口座(MT4対応のもの)

EAを使うには、MT4に対応したFX業者の口座を開設する必要があります。日本国内では「FXTF(ゴールデンウェイ・ジャパン)」「楽天MT4口座(楽天証券)」などが代表的です。

ポイントは「MT4(メタトレーダー)対応」であること。なぜなら、EAはMT4上で動作するプログラムだからです。

MT4非対応の口座では、EAを動かすことはできません。

② MT4(MetaTrader 4)

MT4(メタトレーダー4)は、世界中のトレーダーが利用しているFX取引プラットフォームです。EAの設定やバックテスト(過去データでの検証)もすべてこのソフトで行います。

通常は、口座を開設したFX業者のホームページからその業者専用のMT4をダウンロードします。

  • 例:「FXTF MT4」「楽天MT4」など

※共通のMT4ではなく、各業者のサーバーに接続する専用版を使います。

③ EAファイル(.ex4)

EAの実体は、拡張子が .ex4 のファイルです。このファイルをMT4の「Experts」フォルダに入れることで、MT4上で自動売買を有効化できます。

EAは次のような方法で入手できます。

  • 無料配布されているEAをダウンロード
  • 有料EAを購入(販売サイトやマーケットプレイスなど)
  • 自分で作る(MQL4でプログラミング)

(+α)VPS(仮想サーバー)

自動売買は24時間動かす必要があるため、自分のPCをつけっぱなしにする代わりにVPS(仮想専用サーバー)を利用するのが一般的です。

  • PCの電源を切ってもEAは動き続ける
  • ネット回線が切れてもサーバー側で稼働
  • 安定した取引が可能

国内では「ABLENET VPS」などが人気です。

準備の流れ要約

  1. MT4対応のFX口座を開設
  2. 各業者専用のMT4をインストール
  3. EAファイル(.ex4)を設置して動作確認
  4. 安定稼働のためにVPSを契約(任意)

まとめ

準備項目 内容
FX口座 MT4対応の業者を選ぶ
MT4 EAを実行する取引ソフト
EAファイル 実際に自動売買を行うプログラム
VPS 24時間稼働を安定させる環境(任意)

口座について(MT4対応の業者選び)

EAを運用するには、MT4(MetaTrader 4)に対応したFX口座が必要です。
口座の仕様は成績や安定性に影響するため、以下のポイントを押さえて選びましょう。

主な国内ブローカー(例)

業者名 MT4対応 通貨ペア数 最小ロット スプレッド(米ドル/円) 取引手数料
ゴールデンウェイ・ジャパン FXTF 30ペア 1000通貨 0.2銭 無料
JFX MATRIX TRADER △(分析のみ・EA使用不可) 41ペア 1000通貨 0.2銭 無料
楽天証券 楽天MT4口座 24ペア 1000通貨 0.2銭 無料
外為ファイネストMT4 29ペア 1000通貨 0.0~1.1銭 無料
OANDA証券 MT4 40ペア 1000通貨 0.4銭 無料

※2025/11現在。最新の取引条件は各社サイトでご確認ください。

コスト(スプレッド・手数料)

  • スプレッド:売値と買値の差。狭いほど有利(スキャルは特に重要)。
  • 取引手数料:国内では基本無料の業者が多いです。ただしEAを使用する場合に特別な手数料がかかる場合などがあります。

例)USD/JPYでスプレッド1.0pipsの場合、1ロットあたり約1000円相当のコスト。
スキャルピングEAでは、この差が成績を大きく左右します。

口座開設の流れ(一般例)

  1. 本人確認書類・マイナンバーを準備
  2. Web申込み(氏名・住所・投資経験など)
  3. 審査・本人確認(数日)
  4. ログイン情報の受領(メール・郵送)
  5. 業者専用のMT4をインストール
  6. ログインして接続確認(デモ→本番の順が安心)

選び方チェックリスト

チェック項目 目安/ポイント
MT4対応 EAを使うなら必須
スプレッド/手数料 戦略に合う総コストの低さ
約定力・滑り 指標時の挙動・口コミも参考に
取引時間/仕様 両建て/スキャル可否・最低距離など
サポート/安定性 障害対応・メンテ情報の透明性

まとめ

EA運用ではMT4に対応しているか、総コスト・約定品質が要点です。まずは少額・デモで動作確認し、問題がなければ段階的に資金を増やしましょう。

口座について(MT4対応の業者選び)

EAを運用するには、MT4(MetaTrader 4)に対応したFX口座が必要です。
口座の仕様は成績や安定性に影響するため、以下のポイントを押さえて選びましょう。

主な国内ブローカー(例)

業者名 MT4対応 通貨ペア数 最小ロット スプレッド(米ドル/円) 取引手数料
ゴールデンウェイ・ジャパン FXTF 30ペア 1000通貨 0.2銭 無料
JFX MATRIX TRADER △(分析のみ・EA使用不可) 41ペア 1000通貨 0.2銭 無料
楽天証券 楽天MT4口座 24ペア 1000通貨 0.2銭 無料
外為ファイネストMT4 29ペア 1000通貨 0.0~1.1銭 無料
OANDA証券 MT4 40ペア 1000通貨 0.4銭 無料

※2025/11現在。最新の取引条件は各社サイトでご確認ください。

コスト(スプレッド・手数料)

  • スプレッド:売値と買値の差。狭いほど有利(スキャルは特に重要)。
  • 取引手数料:国内では基本無料の業者が多いです。ただしEAを使用する場合に特別な手数料がかかる場合などがあります。

例)USD/JPYでスプレッド1.0pipsの場合、1ロットあたり約1000円相当のコスト。
スキャルピングEAでは、この差が成績を大きく左右します。

口座開設の流れ(一般例)

  1. 本人確認書類・マイナンバーを準備
  2. Web申込み(氏名・住所・投資経験など)
  3. 審査・本人確認(数日)
  4. ログイン情報の受領(メール・郵送)
  5. 業者専用のMT4をインストール
  6. ログインして接続確認(デモ→本番の順が安心)

選び方チェックリスト

チェック項目 目安/ポイント
MT4対応 EAを使うなら必須
スプレッド/手数料 戦略に合う総コストの低さ
約定力・滑り 指標時の挙動・口コミも参考に
取引時間/仕様 両建て/スキャル可否・最低距離など
サポート/安定性 障害対応・メンテ情報の透明性

まとめ

EA運用ではMT4に対応しているか、総コスト・約定品質が要点です。まずは少額・デモで動作確認し、問題がなければ段階的に資金を増やしましょう。

口座について(MT4対応の業者選び)

EAを運用するには、MT4(MetaTrader 4)に対応したFX口座が必要です。
口座の仕様は成績や安定性に影響するため、以下のポイントを押さえて選びましょう。

主な国内ブローカー(例)

業者名 MT4対応 通貨ペア数 最小ロット スプレッド(米ドル/円) 取引手数料
ゴールデンウェイ・ジャパン FXTF 30ペア 1000通貨 0.2銭 無料
JFX MATRIX TRADER △(分析のみ・EA使用不可) 41ペア 1000通貨 0.2銭 無料
楽天証券 楽天MT4口座 24ペア 1000通貨 0.2銭 無料
外為ファイネストMT4 29ペア 1000通貨 0.0~1.1銭 無料
OANDA証券 MT4 40ペア 1000通貨 0.4銭 無料

※2025/11現在。最新の取引条件は各社サイトでご確認ください。

コスト(スプレッド・手数料)

  • スプレッド:売値と買値の差。狭いほど有利(スキャルは特に重要)。
  • 取引手数料:国内では基本無料の業者が多いです。ただしEAを使用する場合に特別な手数料がかかる場合などがあります。

例)USD/JPYでスプレッド1.0pipsの場合、1ロットあたり約1000円相当のコスト。
スキャルピングEAでは、この差が成績を大きく左右します。

口座開設の流れ(一般例)

  1. 本人確認書類・マイナンバーを準備
  2. Web申込み(氏名・住所・投資経験など)
  3. 審査・本人確認(数日)
  4. ログイン情報の受領(メール・郵送)
  5. 業者専用のMT4をインストール
  6. ログインして接続確認(デモ→本番の順が安心)

選び方チェックリスト

チェック項目 目安/ポイント
MT4対応 EAを使うなら必須
スプレッド/手数料 戦略に合う総コストの低さ
約定力・滑り 指標時の挙動・口コミも参考に
取引時間/仕様 両建て/スキャル可否・最低距離など
サポート/安定性 障害対応・メンテ情報の透明性

まとめ

EA運用ではMT4に対応しているか、総コスト・約定品質が要点です。まずは少額・デモで動作確認し、問題がなければ段階的に資金を増やしましょう。

MT4とは?基本の使い方とEAの導入手順をわかりやすく解説

MT4(メタトレーダー)とは?

MT4(MetaTrader 4)は、世界中で最も利用されているFX取引プラットフォームです。MetaQuotes社が開発し、チャート分析・手動取引・自動売買(EA運用)などを一つのアプリで行えます。

EAを動かすための「土台」となるソフトで、FX自動売買を始める人にとって必ず通るステップです。

MT4でできる主なこと

機能 内容
チャート分析 ローソク足・インジケーターを使った相場分析
手動トレード 自分で発注・決済を行う取引
自動売買(EA) EAを稼働させて自動取引を行う
バックテスト EAを過去データで検証し、性能をチェック
カスタム指標 独自のインジケーターを追加して分析

特に「自動売買(EA)」「バックテスト」の2つが、EA運用者にとって重要です。

MT4のインストール方法

MT4は、口座を開設したFX業者の公式サイトからダウンロードします。共通のMT4を使うのではなく、各業者ごとに専用のサーバーが用意されています。

例:

  • ゴールデンウェイ・ジャパン FXTF MT4
  • 楽天MT4
  • 外為ファイネスト MT4

ダウンロード後、インストールして起動するとログイン画面が表示されます。ここで、口座開設時に送られてきた サーバー名・ログインID・パスワード を入力して接続します。

MT4の基本画面の見方

画面名 役割
チャートウィンドウ 相場の動きを表示(ローソク足)
ナビゲーター EAやインジケーター、口座情報などを管理
ターミナル 取引履歴・保有ポジション・ログなどを確認
ツールバー 新規注文や時間足変更などのボタン

最初は情報量が多く感じますが、EA運用では主に「ナビゲーター」「チャート」だけ使います。

EA(自動売買)の導入方法(既にEAファイルがある場合)

  1. MT4を開く
  2. 「ツール」→「オプション」→「エキスパートアドバイザ」の「自動売買を許可する」にチェック
  3. 「ファイル」→「データフォルダを開く」
  4. 「MQL4」→「Experts」にEAファイル(.ex4/.mq4)をコピー
  5. MT4を再起動
  6. 「ナビゲーター」→「エキスパートアドバイザ」にEAが表示
  7. EAをチャートへドラッグ→設定で「自動売買を許可する」にチェック
チャートの右上にスマイルアイコンが表示されていればEAが正常に稼働中です。スマイルアイコン以外が表示されている場合は設定を見直しましょう。

EAのバックテスト(検証)

  1. 下部メニュー「ストラテジーテスター」を開く
  2. テストするEAを選択
  3. 通貨ペアと期間を設定
  4. 「スタート」をクリック

過去のチャート上で自動売買をシミュレーションします。損益・勝率・ドローダウンなどを見て調整しましょう。

バックテストで好成績だからといって、実際のトレードで必ずしも同じ結果になるとは限りません。慎重に運用しましょう。

よくある初心者の疑問

Q:公式サイトのMT4ではダメ?

A:共通サーバー用で実取引不可。各業者のMT4を使いましょう。

Q:1つのチャート上で複数EAは動かせる?

A:いいえ。1チャート1EAのみ実行することができます。

Q:EAが動かない!

A:自動売買OFF/設定ミス/時間外などが原因。

まとめ

ポイント 内容
MT4とは 取引・分析・EA運用の統合プラットフォーム
重要機能 EA稼働・バックテスト・取引管理
導入手順 業者MT4をDL→EA設置→自動売買ON
注意点 各業者専用MT4を使用すること

VPSとは?自動売買を安定稼働させる方法

VPS(仮想専用サーバー)って何?

自動売買(EA)を始めるなら「24時間ずっと稼働していてほしい」と誰もが思います。しかし、家庭のPCを常時稼働させると 電源・回線・停電 などのリスクがあります。

そこで VPS(Virtual Private Server/仮想専用サーバー) の出番。インターネット上にある 常時稼働のリモートPC です。

  • 自分のPCをシャットダウンしても MT4+EA が動き続ける
  • ネット回線トラブルや停電の影響を受けにくい
  • EA運用に適した 安定環境 を確保できる

本格的にFX自動売買を運用したいなら VPS は ほぼ必須インフラ と言えます。

ABLENETの例

VPSを提供している会社は多種多様ありますが、今回は国内で知名度のある ABLENET VPS を例に、EAを運用するためのVPSの選び方のポイントを整理します。

ABLENETにはVPSプランとWindowsプランがあります。VPSプランではCentOSUbuntuなど無料OSを使用することができ、WindowsプランはWindows Serverがインストール済で使い慣れたWindowsパソコンと同じように、直感的に操作可能です。どちらでも自動売買を行うことは可能ですが、使い慣れたWindows環境を希望する場合はWindowsプランを選択するといいでしょう。

Windowsプランの仕様を確認すると以下のようになっています。

  • プラン:Win1〜Win7(仮想CPU / メモリ / ストレージが段階的に増加)
  • 例:Win1 = 仮想CPU2コア + メモリ2GB相当(増量中)
  • OS:Windows Server 2025 / 2022 / 2019 / 2016 など選択可能
  • 料金:Win1 月額 約1,931円~

※ 最新の仕様・料金は公式サイト「VPSプラン」「Windowsプラン」で確認してください。

どのプランを選べばいい?

上記に示したように、ABLENET VPSの場合、Win1~Win7までの異なる性能ごとのプランがあります。

細かいスペックを見てもどれを選べばいいかよくわからない方が多いかと思います。

そこでどのプランを選ぶべきかを運用規模ごとに下記の表にまとめました。

運用規模 推奨プラン 理由
軽め / EA1本程度 Win1(2GB相当) 処理が少なくコストを抑えられる
中規模 / EA3本程度 Win2〜Win3(3.5〜6GB相当) 複数EAでCPU・メモリ負荷増大
大規模 / 複数口座・多数EA Win4以上(8GB〜) 高負荷トレード・複数MT4同時起動

このページをご覧になっている方は自動売買を初めて行おうとしている方がほとんどかと思いますので、実際にはWin1プランを選べば十分かと思います。慣れてきて複数のEAを同時に運用したいと思った場合には後からでもプラン変更が可能ですので安心してください。

実践手順:ABLENETで MT4+EA を動かす

  1. ABLENET公式でプランを契約
  2. 管理画面でVPS初期設定 → Windows Serverテンプレート選択
  3. リモートデスクトップ(RDP)でVPSへ接続
  4. 業者専用MT4をダウンロード・インストール
  5. EA(.ex4)を「MQL4/Experts」に配置 → MT4再起動
  6. MT4で「自動売買を許可」オン → チャートにEAセット
  7. ログ(ターミナル・ジャーナル)で注文/決済が記録されるか確認

注意点

  • 料金・キャンペーン等は変動するため最新情報を確認してください
  • Windows Severを利用する場合は別途RDSライセンス料金(人数分)が別途必要です

まとめ

  • VPSはEAを 安定稼働 させるための重要インフラ
  • 運用規模に応じてスペック・プラン選択する

FX自動売買は自己責任!安全に運用するための5つの心得

EA(自動売買)は「自動で稼ぐ魔法のツール」ではない

EA(エキスパートアドバイザー)は便利です。自分の代わりに相場を見てロジック通りに取引してくれます。しかしそれは勝つことを保証するものではありません

FXは常にリスクを伴う投資であり、EAはそのリスクを自動化する仕組みに過ぎません。だからこそ、正しい理解・準備・自己責任の姿勢が不可欠です。

1. FXは元本保証ではない

FX(外国為替証拠金取引)は元本保証ではありません。資金が減ることも、状況次第では全額失う可能性もあります。

どれほど高性能なEAでも、急変動(ニュース・要人発言・地政学リスク・災害など)には対応しきれない場面があります。「EAだから安心」ではなく、常に最悪のケースを想定しましょう。

2.定期的にチェックする

EAは自動で取引するだけであり、自動で全リスクを避けるわけではありません

  • 相場急変時の想定外スリッページ
  • VPS停止や通信障害
  • MT4/MT5の不具合や強制終了
  • EA内部ロジックのバグ

定期的にログ(ジャーナル / エキスパートタブ)やポジション状況を確認する習慣を持ちましょう。

3. 「余剰資金」で運用する

生活費と混在させず、必ず余剰資金で運用しましょう。EAが期待通りに動かなくても生活に影響が出ない金額で始めるのが鉄則。

初心者はまずは10万円以下・EA1本でテスト → 特性を理解し段階的に増額していくのがおすすめです。自分でEAを開発できるようになるのも面白いかもしれません。

4. EAを信じすぎず「検証」する

性能把握には以下のステップが有効です:

  1. バックテスト: 過去データで損益・ドローダウン・勝率を確認
  2. デモ口座運用:リアルな市場での取引タイミング・スリッページ挙動を観察
  3. リアル口座: 実際の約定品質を確認

何度も書きますが、必ず勝てるEAは存在しません。なるべく勝率をあげ、利益を伸ばし、損失を最小限に抑える努力が重要です。「必ず勝てるEA」「月間利回り〇%保証EA」といった甘い文言で販売されている悪質なEAには注意しましょう。

5. セキュリティと環境を守る

  • 強力なパスワードを使用する(VPS / MT4 / 各サービス)
  • 不審なEAやスクリプトを入れない
  • SNSや信用できないサイト配布のEAは避ける
  • 定期的なVPSスナップショット / MT4設定バックアップ

EAはプログラムです。悪意あるコード混入リスクを常に意識してください。信頼できる配布元から入手、または自作が基本です。

まとめ

心構え 内容
自己責任 どんなEAも損失リスクあり
監視 放置せず定期チェック
小額運用 余剰資金・段階的増額
検証 バックテスト+デモ+少額リアル
安全 セキュリティと環境保全
EA運用は「勝つための最短ルート」ではなく、相場と上手に付き合うためのツールです。冷静な検証と継続的改善を心がけましょう。

FX自動売買(EA)運用実践!

ここからは実際に本番口座(またはデモ口座)を使用して、EAを実際に動かす手順を説明します。

実際に筆者が使用しているEAも無料公開しているので、そのまま使用することができます。

FXは元本保証ではない

既に上記の心得で説明したことの繰り返しになりますが、FX(外国為替証拠金取引)は元本保証ではありません。資金が減ることも、状況次第では全額失う可能性もあります。ここから先の内容はすべて自己責任であることを理解した上で読み進めてください。

実践の流れ

今回はVPSを使用して以下のステップで実装していきます。既に口座開設がお済の方やVPSが不要な方はMT4の設定までスキップしてください。

  1. 口座開設:今回はゴールデンウェイ・ジャパン FXTFで口座を開設します
  2. VPS契約・初期設定:24時間自動売買を実行させ続けるために使用します。今回はABLENET VPSのWindowsプランを契約します
  3. MT4の設定:開設した口座に対応したMT4をダウンロードし、EAを導入していきます

口座開設

今回はゴールデンウェイ・ジャパン FXTFで口座を開設します。リンクにアクセスし、個人口座開設申込ページに進みます。以下のようなページが表示されます。個人の方は個人にチェックを入れましょう。

FXTF 口座開設ページ

下のほうにスクロールしていくと「FXTF MT4(標準コース)も一緒に申し込む」というチェックボックスがあります。MT4で自動売買を行うためには必須ですので、こちらも必ずチェックを入れてください。追加で料金がかかるなどはありません。

FXTF 口座開設ページ

規約・約款に同意し、氏名・住所などの個人情報を入力し、手順に沿って本人確認書類をアップロードしたら口座開設のお申し込みは完了です。

通常は数日後にログインID、パスワードが記載された【口座開設完了のお知らせ】が登録した住所宛に簡易書留郵便で届きます。これで通常の取引をする準備は整いました。

VPS契約・初期設定

次は自動売買を24時間動かし続けるためのVPSを契約し、設定していきます。今回はABLENET VPSの中でも一番価格の安いWin1プランを使用していきます。ストレージはHDDかSSDか選べますが、容量はそこまで必要ないかと思いますので、今回は速度重視のSSDにします。

少し下にスクロールすると利用規約がありますので、確認して同意するにチェックを入れて、「契約期間の選択へ進む」をクリックします。

ABLENET VPS プラン一覧

期間の選択ページではオプションとしてRDSライセンスとMicrosoft Office SALの選択があります。

今回はMicrosoft Office SALは必要ないので0のままにします。

RDSはMT4を使用して自動売買を行わせる場合、必須です。VPSを使用する人数分契約してください。一人で行う方は1でOKです。

サーバー契約期間・オプション「見積画面へ進む」をクリックして契約内容の確認を行います。

ABLENET VPS オプション

見積画面では契約内容の確認に加えて、初期OSを選択します。

特にこだわりはありませんが、今回はWindowsServer2019を選択します。WindowsServer2025はWin2以上推奨とあるので、Win1プランを契約した方は選択しないほうがいいでしょう。

次のページで住所・氏名などの契約者情報を入力し「注文を確定する」をクリックしたらVPSのお申し込みは完了です。

ABLENET VPS 見積画面

契約が完了すると、少ししてからVPS設定完了通知が登録したメールアドレス宛に届きます。

ABLEパネルID初期パスワードが記載されていますので、ABLEパネルにアクセスし、ログインします。

ABLEパネル ログイン画面

ABLEパネルにログインすると下のような画面が表示されます。

赤枠内のWindows画面をクリックすると実際にリモートのWindowsを操作できるコンソール画面が開きます。

ABLEパネル コンソール画面

コンソール画面を開いたら、右上の「SendCtrlAltDel」をクリックすると、リモートのWindowsのユーザー名とパスワードの入力ができるようになります。

ABLEパネルIDなどが記載されたVPS設定完了通知内にWindowsServer設定情報も記載されているので、そこにある初期パスワードを入力するとログインできます。ABLEパネルのパスワードとは別物ですので間違えないように注意してください。

ABLEパネル コンソール画面

ログインが完了したら見慣れたWindowsのデスクトップ画面が表示されます。

ABLENET Windows デスクトップ画面

初期状態ではインターネットエクスプローラーの「セキュリティ強化の構成」が有効になっており、Webブラウザでファイルのダウンロードができないなどの制限があります。今回は自動売買のためにMT4をダウンロードする必要があるので、この設定を変更します。

スタートメニューで「server」などと検索すると「サーバーマネージャー」が表示されるのでクリックして開きます。

サーバーマネージャー

ローカルサーバーをクリックし、プロパティウィンドウ内の「IEセキュリティ強化の構成」の「有効」をクリックします。

IEセキュリティ強化の構成設定

セキュリティ強化の構成が表示されますのでAdministrators、Users共に「オフ」に変更してください。OKをクリックし、設定を反映させてください。

IEセキュリティ強化の構成設定

次にインターネットエクスプローラーを開き、右上の歯車のアイコンをクリックして「インターネットオプション」を選択します。

IE インターネットオプション

セキュリティタブ内の「保護モードを有効にする」のチェックを外し、ブラウザを再起動することで、セキュリティ制限が緩和され、ファイルのダウンロードができるようになります。

IE インターネットオプション

MT4の設定

ここからはVPSを利用する方もそうでない方も共通の作業になります。

まずは開設した口座に対応するMT4をダウンロードしていきます。今回はFXTFで口座を開設したので、そちらの公式サイトで配布しているMT4をダウンロードします。https://www.fxtrade.co.jp/にアクセスし、「FX>MT4>取引システム」をクリックしてください。

別の業者で口座を開設した方はご自身の口座に対応するMT4をダウンロードしてください。(一般的には公式サイト内で配布しています)

FXTF 公式サイト MT4ダウンロードページ

下のような画面が表示されるので、「PCインストール版」のダウンロードをクリックして、インストーラーをダウンロードします。

FXTF MT4 PCインストール版ダウンロード

インストーラーを実行すると下の画像のような画面が表示されます。少し待つとMT4のインストールが完了し、MT4が自動で起動します。(自動で起動しない場合はデスクトップからアイコンをクリックして起動してください)

MT4 インストール画面

MT4初回起動時には下の画像のように取引サーバーを選択する画面が表示されます。

デモ口座で行いたい方はFXTF-Demo、本番口座で行いたい方はFXTF-Liveを選択して、「次へ」をクリックします。

デモ口座の場合はその場で新しくデモ口座を作成します。本番環境でおこなう方は口座開設後に届いた【口座開設完了のお知らせ】に記されているMT4用のログインIDとパスワードで本番口座にログインしてください。

※FXTF GXとFXTF MT4はログイン情報・口座管理が別々となりますのでご注意ください。

MT4 取引サーバー選択画面

ここからはいよいよEAを作成していきます。

ナビゲーターウィンドウの「エキスパートアドバイザ」を右クリックし、「MetaEditorで新規作成」をクリックします。

MetaEditorで新規作成

「MetaEditor」という付属のテキストエディタが起動します。

下画像のようなウィンドウが立ち上がるので、エキスパートアドバイザーを選択して「次へ」をクリックします。

MetaEditor MQLウィザード1

名前、著作者、リンクなどの入力欄がありますが、個人で利用するだけであれば適当で問題ありません。デフォルトのままや空欄でもOKですが、名前だけは必ず入力する必要があります。今回はトレンドフォロー型EAを使用するので、名前は「TrendRide」としました。

設定が完了したら「次へ」をクリックします。

MetaEditor MQLウィザード2

最初にファイルに追加するコードを設定できますが、今回は完成済みのコードを使用するので、すべてチェックを外します。最後に「完了」をクリックします。

MetaEditor MQLウィザード3
MetaEditor MQLウィザード4

初期状態のテンプレートコードが作成されます。今回は完成済みのコードがあるので、一度すべて削除します。

MetaEditor テンプレートコード

使用するEAコード

今回は下記のEAを使用していきます。シンプルで堅牢なトレンドフォローEAです。

EAコード(クリックでコードを表示/非表示)
//+------------------------------------------------------------------+
//| シンプルで堅牢なトレンドフォローEA
//| 機能: 
//|  - 移動平均(MA)を使ったシンプルなトレンド検出 (fastMA / slowMA)
//|  - ATRを利用した動的なストップロス・テイクプロフィット設定
//|  - 口座残高の%に基づくリスク管理(ロット自動計算
//|  - トレーリングストップ機能
//|  - フィルタ機能(最大スプレッド、取引時間、金曜取引制限など)
//+------------------------------------------------------------------+
#property copyright "Created by codelabsjp"
#property version   "1.00"
#property strict

//==============================
// 入力パラメータ(ユーザー設定可能)
//==============================
input int    FastMAPeriod      = 20;      // 短期移動平均の期間
input int    SlowMAPeriod      = 50;      // 長期移動平均の期間
input ENUM_MA_METHOD MA_Method = MODE_SMA; // MAの種類(SMA, EMAなど)
input ENUM_APPLIED_PRICE MA_Price = PRICE_CLOSE; // MA計算に使用する価格

input double RiskPercent      = 1.0;     // 1回の取引でリスクに晒す資金割合(%)
input double ATR_Multiplier   = 2.0;     // ATRに対するSL倍率(例:2なら2×ATRをSLに設定)
input int    ATR_Period       = 14;      // ATRの計算期間
input int    Slippage         = 3;       // スリッページ許容値(ポイント単位)

input bool   UseTrailingStop  = true;    // トレーリングストップを有効にするか
input int    TrailingStartPips= 30;      // 利益がこのpipsを超えたらトレール開始
input int    TrailingStepPips = 10;      // トレーリング幅(pips)

input double MinLot           = 0.01;    // 最小ロット
input double LotStep          = 0.01;    // ロット刻み幅
input double MaxLot           = 1.0;     // 最大ロット

input int    MagicNumber      = 20251107; // このEA専用の識別番号
input double MaxSpreadPoints  = 50;      // 許容スプレッドの最大値(ポイント単位)
input bool   TradeOnFriday    = false;   // 金曜日の取引を許可するかどうか

//--- 変数宣言
datetime lastTradeTime=0; // 最後に取引を行った時間(連続発注防止用)

//==============================
// 初期化処理
//==============================
int OnInit()
    {
     return(INIT_SUCCEEDED);
    }

//==============================
// 終了処理
//==============================
void OnDeinit(const int reason)
    {
    }

//==============================
// 毎ティック呼ばれるメインループ
//==============================
void OnTick()
    {
     // --- 取引できる状態かチェック(曜日・データ数・連続取引制限など)
     if(!CanTradeNow()) return;

     // --- テクニカル指標の計算
     double fastMA = iMA(NULL,0,FastMAPeriod,0,MA_Method,MA_Price,0);
     double slowMA = iMA(NULL,0,SlowMAPeriod,0,MA_Method,MA_Price,0);
     double atr     = iATR(NULL,0,ATR_Period,0);

     // --- スプレッドチェック(広すぎる場合はスキップ)
     double spread = (MarketInfo(Symbol(),MODE_ASK)-MarketInfo(Symbol(),MODE_BID))/Point;
        if(spread>MaxSpreadPoints) return;

     // --- 現在ポジション数を確認(マジックナンバーと通貨ペアで絞る)
     int totalPos = CountOpenOrdersForMagic();

     //=========================================================
     // ① エントリー判定(ポジションがない場合のみ発注)
     //=========================================================
        if(totalPos==0)
         {
            // --- 買いシグナル:短期MA > 長期MA
            if(fastMA>slowMA)
                {
                 double stopLossPrice = NormalizeDouble(Bid - ATR_Multiplier*atr,Digits);
                 double takeProfitPrice = NormalizeDouble(Ask + ATR_Multiplier*atr*2,Digits);
                 double lot = CalculateLotSize(ATR_Multiplier*atr);
                if(lot>=MinLot) SendOrder(OP_BUY,lot,Ask,stopLossPrice,takeProfitPrice);
                }

            // --- 売りシグナル:短期MA < 長期MA
            else if(fastMA<slowMA)
                {
                 double stopLossPrice = NormalizeDouble(Ask + ATR_Multiplier*atr,Digits);
                 double takeProfitPrice = NormalizeDouble(Bid - ATR_Multiplier*atr*2,Digits);
                 double lot = CalculateLotSize(ATR_Multiplier*atr);
                if(lot>=MinLot) SendOrder(OP_SELL,lot,Bid,stopLossPrice,takeProfitPrice);
                }
         }

     //=========================================================
     // ② トレーリングストップの管理
     //=========================================================
     else
         {
            if(UseTrailingStop) ManageTrailingStop();
         }
    }

//==============================
// トレード可能か判定(曜日・データ数など)
//==============================
bool CanTradeNow()
    {
     // 金曜日の取引を禁止する設定
     if(!TradeOnFriday)
         {
            int day = TimeDayOfWeek(TimeCurrent()); // 0=日曜, 5=金曜
            if(day==5) return(false);
         }

     // チャートのデータが足りない場合はスキップ
        if(Bars<SlowMAPeriod+10) return(false);

     // 同一分内での重複エントリー防止
     if(TimeCurrent()==lastTradeTime) return(false);

     return(true);
    }

//==============================
// 現在のシンボル+マジック番号のポジション数をカウント
//==============================
int CountOpenOrdersForMagic()
    {
     int count=0;
         for(int i=OrdersTotal()-1;i>=0;i--)
         {
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                {
                 if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
                        count++;
                }
         }
     return(count);
    }

//==============================
// ロットサイズ自動計算(リスク%ベース)
//==============================
double CalculateLotSize(double stopDistance)
    {
     // stopDistance は価格単位なので、pips換算へ変換
     double pipValue = Point;
     if(Digits==3 || Digits==5) pipValue = Point*10; // 3桁/5桁ブローカー対応

     double stopPips = stopDistance / pipValue;
        if(stopPips<=0) stopPips=10; // フォールバック安全値

     // リスク許容額(例:口座残高の1%)
     double equity = AccountEquity();
     double riskAmount = equity * (RiskPercent/100.0);

     // 1ロットあたりの1pipsの価値を取得
     double valuePerPip = MarketInfo(Symbol(),MODE_TICKVALUE);
        if(valuePerPip<=0) valuePerPip = 1.0;

     // リスク金額 ÷ (ストップ距離×1pips価値) = ロット数
     double lots = riskAmount / (stopPips * valuePerPip);

     // ロットサイズを制限範囲内に調整
     lots = MathMax(lots,MinLot);
     lots = MathMin(lots,MaxLot);

     // ロット刻みに合わせて丸め
     double steps = MathRound(lots/LotStep);
     lots = steps * LotStep;
     lots = NormalizeDouble(lots,2);

     return(lots);
    }

//==============================
// 注文送信(発注処理)
//==============================
void SendOrder(int cmd,double lots,double price,double sl,double tp)
    {
     // 再度スプレッドとロット確認
     double spread = (MarketInfo(Symbol(),MODE_ASK)-MarketInfo(Symbol(),MODE_BID))/Point;
        if(spread>MaxSpreadPoints) return;
        if(lots<MinLot) return;

     int ticket;
     if(cmd==OP_BUY)
         ticket = OrderSend(Symbol(),OP_BUY,lots,price,Slippage,sl,tp,NULL,MagicNumber,0,clrBlue);
     else
         ticket = OrderSend(Symbol(),OP_SELL,lots,price,Slippage,sl,tp,NULL,MagicNumber,0,clrRed);

         if(ticket<0)
         Print("OrderSend failed: ",GetLastError());
     else
         {
            Print("Order opened: ",ticket," lot=",DoubleToStr(lots,2));
            lastTradeTime = TimeCurrent(); // 重複防止用に記録
         }
    }

//==============================
// トレーリングストップの管理
//==============================
void ManageTrailingStop()
    {
         for(int i=OrdersTotal()-1;i>=0;i--)
         {
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                {
                 if(OrderMagicNumber()!=MagicNumber || OrderSymbol()!=Symbol()) continue;

                 // --- 買いポジションのトレール処理
                 if(OrderType()==OP_BUY)
                     {
                        double profitPips = (Bid - OrderOpenPrice())/Point;
                        if(Digits==3||Digits==5) profitPips/=10.0;

                            if(profitPips>=TrailingStartPips)
                            {
                             double newSL = Bid - TrailingStepPips*Point;
                             if(Digits==3||Digits==5) newSL = Bid - TrailingStepPips*Point*10.0;
                             newSL = NormalizeDouble(newSL,Digits);

                                if(newSL>OrderStopLoss())
                                 {
                                    bool res = OrderModify(OrderTicket(),OrderOpenPrice(),newSL,OrderTakeProfit(),0,clrBlue);
                                    if(!res) Print("Trailing modify failed: ",GetLastError());
                                 }
                            }
                     }

                 // --- 売りポジションのトレール処理
                 else if(OrderType()==OP_SELL)
                     {
                        double profitPips = (OrderOpenPrice() - Ask)/Point;
                        if(Digits==3||Digits==5) profitPips/=10.0;

                            if(profitPips>=TrailingStartPips)
                            {
                             double newSL = Ask + TrailingStepPips*Point;
                             if(Digits==3||Digits==5) newSL = Ask + TrailingStepPips*Point*10.0;
                             newSL = NormalizeDouble(newSL,Digits);

                                if(newSL<OrderStopLoss() || OrderStopLoss()==0)
                                 {
                                    bool res = OrderModify(OrderTicket(),OrderOpenPrice(),newSL,OrderTakeProfit(),0,clrRed);
                                    if(!res) Print("Trailing modify failed: ",GetLastError());
                                 }
                            }
                     }
                }
         }
    }
    

一言でこのEAを表すと、「シンプルなMAトレンドフォロー × ATRで安全管理 × ロット自動調整 × スプレッド&曜日フィルタ搭載EA」です。

コード中にもなるべく細かく処理内容を表すコメントを入れていますので、具体的な実装が気になる方は確認してみてください。

成績

ちなみにこのコードのバックテスト(過去の相場データを使ったシミュレーション)結果は以下の通りです。

ぱっとみで右肩上がりに資産が増えているのがわかるかと思います。

結果グラフ

こちらは2020年8月11日~2025年11月25日(更新日現在)までの過去データで行った結果になります。

結果取引履歴1
結果取引履歴2

今回は設定できるパラメーターはすべて初期値のままで、USD/JPYの1時間足に対して売り買い両方のポジションを行う設定で10000USD(約150万円)スタートで行いました。

パラメーター設定
テスト設定

最終的な結果の詳細は以下になります。

純益(総利益ー総損失)が22534.91ドル(約350万円)で勝率は58.2%という結果でした!

売りポジションでも買いポジションでもほぼ同様の勝率となっており、かなり優秀な結果でした。無料公開しているからと侮ることなかれ!(あくまで過去データでの検証です。VPSを使用して現在リアルタイムでこのEAを動かしています。(2025年11月現在)結果も更新中なので気になる方は下のほうで確認してみてください!)

結果詳細
実装

それでは実装していきましょう。上記コードをすべてコピーしてまっさらな状態のエディタに貼り付けます。基本的には上記テストと同じ設定で行っていきます。

VPSを使用している方はVPS内のブラウザで当サイトにアクセスし、コードをコピー・貼り付けしてください。

メニューバーの「コンパイル」をクリックして、画像のように「0 errors」と詳細エリアに表示されていればEAの作成は成功です。

MetaEditor コード貼り付け画面

エディターを閉じて、MT4のナビゲーターウィンドウを確認すると、エキスパートアドバイザの下に先ほど作成したEAの名前(TrendRide)が表示されているはずです。

MT4 ナビゲーターウィンドウ

MT4の初期設定では自動売買が許可されていません。自動売買を有効にするために「ツール>オプション」をクリックし、「エキスパートアドバイザ」タブで「自動売買を許可する」にチェックを入れてください。

MT4 オプション画面1
MT4 オプション画面2

EAを実行したい通貨ペア・時間足をチャートに表示します。今回はUSD/JPYの1時間足を使用します。

MT4 チャート表示

ナビゲーターウィンドウのエキスパートアドバイザから作成したEAをチャートにドラッグ&ドロップします。

MT4 エキスパートアドバイザ ドラッグ&ドロップ

EAの設定ウィンドウが開くので、「全般」タブで「自動売買を許可する」にチェックが入っていることを確認してください。

MT4 EA設定ウィンドウ 全般タブ

「パラメーターの入力」タブではEAのパラメーターをできます。

MT4 EA設定ウィンドウ パラメーターの入力タブ

今回は一回当たりの取引の最大ロットを初期状態で「1」にしていましたが、初期資金10万円程度でも証拠金不足に陥りづらくするために、「0.1」に変更しました。それ以外は初期状態のままです。

今回はデモ口座を使用しており、デモ口座の初期資金は100万円なので、十分すぎる余裕がありますが、実際の口座では10万円程度から始める方が多いかと思ったので、この設定にしました。

MT4 EA設定ウィンドウ パラメーター入力

少し画像が小さくてわかりづらいかもしれませんが、チャート右上のEA名の隣に画像のようなスマイルアイコンが表示されていれば成功です。EAが正常に動作しています。

MT4 スマイルアイコン

タイミングによりますが、今回はEAを実行したタイミングでさっそく取引が発生しました。一番下の取引タブでEAがどのような取引を行ったかを確認できます。(赤枠内)

MT4 取引タブ

チャートを確認してみると、利確ポイントと損切ポイントもしっかり設定されているのが確認できます。あとは放置しているだけで、EAがルールに従って自動売買を行い続けてくれます。

EAチャート確認

※MT4を閉じてしまうと自動売買も終了してしまうので、自動売買を行い続けたい間はずっとMT4も開いておく必要があります。自分のPCで24時間ずっと電源をつけてMT4を実行し続けるのは現実的ではないので、VPSを契約するのが一般的です。VPSとのアクセスが切れてもVPS上ではずっとMT4が実行されているので、自分のPCの電源を入れ続けておく必要はありません。

お疲れさまでした!

以上でVPSを使用したEAによる自動売買の設定は完了です。当サイトでは上記手順で設定したEAを実際に運用し続けています。取引結果は随時更新していくので、気になる方はこのページをブックマークして定期的に確認してみてください!(2025/11/19 運用開始)

リアルタイム検証結果

以下は筆者が実際にこちらのページで紹介しているEAをリアルタイムで実際に運用している結果です。過去データで検証を行うバックテストとは異なり、よりリアルなEAの性能を知ることができます。

デモ口座なので100万円スタートですが、リアル口座で10万円スタートだったとしても無理がないように1取引の最大ロット数を0.1に抑えた設定にしています。

2025年11月25日更新

運用開始から約1週間が経過しました。12件のトレードが発生し、19,693円の純益がでています。現在のところ順調に利益を積み上げています。現時点ではVPS費用(約1500円)を差し引いても利益がでていますね。今後も引き続き経過を見守っていきたいと思います。

リアルタイム検証 2025年11月25日