EA入門(Expert Advisor Basics)

MetaTrader用の自動売買プログラムEAの基礎を、仕組み・準備・最小のサンプルコードから学びます。

EAとは

EA(Expert Advisor)は、MetaTrader 4/5 上で動作する自動売買プログラムです。
売買ロジックを MQL4/MQL5 で記述し、チャートに適用するだけで、売買の監視・発注・決済などを自動化できます。

  • 決めたルール通りに売買(感情に左右されにくい)
  • バックテストでロジック検証が可能
  • 24時間の監視・自動実行ができる(VPS利用で安定運用)

基本的な仕組み

  1. EAはチャートにセットされ、OnInit(初期化)、OnTick(価格更新毎)などのイベント関数で動作します。
  2. インジケーター値や価格を読み取り、売買条件を判定します。
  3. 条件一致で新規注文・決済注文を発行し、ポジション管理を行います。

ヒント:最初は「ログ出力だけ」から始め、発注ロジックを段階的に追加すると安全です。

準備(環境構築)

  • MetaTrader 5 をインストール(ブローカーまたは公式サイト)
  • 付属の MetaEditor を起動し、新規→Expert Advisor (テンプレート) を作成
  • コンパイル(F7)し、エラーが無いことを確認
  • ストラテジーテスターでバックテスト(初期はビジュアルモード推奨)

最小のサンプル(MQL5)

初期化とティック毎にログを出すだけの最小EAです。

//+------------------------------------------------------------------+
//|                                                HelloEA.mq5       |
//+------------------------------------------------------------------+
#property copyright ""
#property version   "1.00"

int OnInit()
{
  Print("EA initialized");
  return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
  Print("EA deinitialized, reason=", reason);
}

void OnTick()
{
  double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
  Print("Tick: ", _Symbol, " bid=", DoubleToString(bid, _Digits));
  // 条件を満たしたら発注ロジックを追加していきます。
}
注:ブローカー仕様やシンボル仕様により挙動は異なります。デモ口座で検証してから実運用へ移行してください。

注意点・ベストプラクティス

  • バックテストだけでなくフォワードテストで再現性を確認
  • スプレッド・スリッページ・取引時間・約定仕様の差異を考慮
  • ロットサイズ・最大ドローダウンなどのリスク管理を徹底
  • VPSでの稼働や、障害時の自動復旧も検討
本コンテンツは情報提供のみを目的としており、投資助言ではありません。取引は自己責任で行ってください。