AI EA スクール
0記事中 0記事 読了
カリキュラム 付録 付録 付録D サンプルEA
D

付録D サンプルEA

読み終わるまでの目安 約15分

この記事でできるようになること

  • 本スクール共通教材のサンプルEA「MA_Cross_Sample.mq4」が何をするEAかを説明できる
  • input変数(外部パラメータ)の意味が分かり、自分で値を変えられる
  • サンプルEAを自分のMT4に入れて、バックテストまで動かせる

サンプルEAの概要

本スクールの第4章以降では、**移動平均線クロスEA「MA_Cross_Sample.mq4」**を共通教材として使います。「ChatGPTに作らせたコードがうまくいかない」ときの比較対象としても、「まず動くものを見てみたい」ときの練習台としても使えます。

ファイルの場所: プロジェクトの「04_サンプルEA/MA_Cross_Sample.mq4」

コードの全文はこの記事には載せません。「04_サンプルEA」フォルダのファイルをそのままコピーして使ってください。記事にコードを貼ると、コピーの途中で切れたり、表示の都合で文字が変わったりして、コンパイルエラーの原因になるためです。

カリキュラム構成案では「MAクロス/RSI/BBの3本」を予定していますが、現在「04_サンプルEA」に入っているのはMAクロスの1本です要確認。RSI逆張り・ボリンジャーバンド順張りのEAは、3-3の実例プロンプトでChatGPTに作ってもらえます。

売買ルール

このEAは、第1章で学んだ「移動平均線(MA)」を2本使います。

項目 内容
使う指標 短期移動平均線(初期値: 20本)と長期移動平均線(初期値: 50本)。どちらも単純移動平均(SMA)、終値ベース
買いエントリー 短期MAが長期MAを下から上に抜けたとき(ゴールデンクロス)
売りエントリー 短期MAが長期MAを上から下に抜けたとき(デッドクロス)
決済 利確(初期値: 50pips)、損切り(初期値: 30pips)。または反対のクロスが出たら成行で決済
判定のタイミング 確定足のみ。新しいローソク足ができた瞬間に、1本前と2本前の足でクロスを判定する
同時ポジション数 1つまで。ポジションがあるときは新規エントリーしない
通貨ペア・時間足 コード内では固定していない。乗せたチャートの通貨ペア・時間足で動く。スクールではUSDJPY・H1を例にしている
対応する業者 小数点3桁/5桁表示の業者(HFMを含む)でも、1pipsが正しく計算されるようにしてある
ここに画面写真を入れてくださいUSDJPY H1 のチャートに短期MA(20)と長期MA(50)を表示し、ゴールデンクロスとデッドクロスに印をつけた図8-4-01.png

input変数(外部パラメータ)の説明

このEAの設定値は、すべて input 変数になっています。コードを触らずに、MT4のEA設定画面「パラメーターの入力」タブ、またはストラテジーテスターの「エキスパート設定」から変更できます。

変数名 初期値 意味 変えるときの注意
FastMAPeriod 20 短期移動平均線の期間(本数) SlowMAPeriodより小さくする。第6章の最適化で調整する対象
SlowMAPeriod 50 長期移動平均線の期間(本数) FastMAPeriodより大きくする
TakeProfitPips 50 利確の幅(pips) 0にすると利確なし(反対クロスでのみ決済)。あくまで初期値は例
StopLossPips 30 損切りの幅(pips) 0にすると損切りなし。初心者は0にしないことを強くおすすめします
Lots 0.1 1回の注文のロット数 リアル口座では0.01(最小ロット)に変える(7-2)。バックテストでは0.1のままでよい
MagicNumber 12345 このEAの注文を見分ける番号 同じ口座で複数のEAを動かすときは、EAごとに違う番号にする
Slippage 3 許容するスリッページ(ポイント) 「off quotes」が頻発する場合は少し大きくする(例: 10)。普段は変えなくてOK

「変えるときの注意」にあるように、最初に変えるのはLotsだけで十分です。他の値は第6章の改善サイクルの中で、1回に1つずつ変えていきます。

ここに画面写真を入れてくださいEA設定画面「パラメーターの入力」タブに7つのinput変数が並んでいる状態8-4-02.png

使い方(3ステップ)

ステップ1 MetaEditorに貼り付けて保存する

  1. 「04_サンプルEA/MA_Cross_Sample.mq4」をメモ帳などで開き、全文をコピーする([Ctrl]+[A] → [Ctrl]+[C])
  2. MT4で[F4]を押してMetaEditorを開く
  3. 「新規作成」→「エキスパートアドバイザ(テンプレート)」→ 名前を「MA_Cross_Sample」にして進む(4-1と同じ)
  4. 自動生成されたコードを全消しして、コピーしたコードを貼り付ける
  5. [Ctrl]+[S]で保存する

.mq4 ファイルを直接「MQL4」→「Experts」フォルダにコピーしても構いません。その場合はMetaEditorでファイルを開いてから次のステップに進みます。

ここに画面写真を入れてくださいMetaEditorにサンプルEAのコードを貼り付けた状態8-4-03.png

ステップ2 コンパイルする

[F7]を押します。下部の「エラー」タブが「0 error(s), 0 warning(s)」になれば成功です要確認。エラーが出た場合は、コピーが途中で切れていないか(最後の行まで貼れているか)を確認してください。それでも直らない場合は付録Cへ。

ここに画面写真を入れてくださいコンパイル成功時の「エラー」タブ(0 error、0 warning)8-4-04.png

ステップ3 バックテストで動作を確認する

[Ctrl]+[R]でストラテジーテスターを開き、5-2の手順で設定します。例として次の設定で動かすと、結果が出ることを確認できます(数値はあくまで例で、この設定で利益が出ることを示すものではありません)。

設定項目
エキスパートアドバイザ MA_Cross_Sample
通貨ペア USDJPY
時間足 H1
モデル 全ティック
期間 直近1〜2年
スプレッド 現在値、または20(ポイント)
初期証拠金 100,000(円口座の場合)

結果の読み方は5-3、疑う視点は5-4を参照してください。

ここに画面写真を入れてくださいサンプルEAのバックテスト結果グラフとレポート画面8-4-05.png

このEAをどう活用するか

  • ChatGPTに作らせたEAと比べる: 3-3の実例1(移動平均線クロス)のプロンプトでChatGPTに作らせたコードと、このサンプルを見比べると「AIが省略した部分」「違う書き方をした部分」に気づけます
  • 改善の練習台にする: 第6章の「時間帯フィルター追加」「トレーリングストップ追加」を、まずこのサンプルで試すと安全です
  • 説明してもらう: 付録Bの「5. コードの内容を説明してもらうプロンプト」にこのコードを貼ると、各部分が何をしているか日本語で読めます

このサンプルEAは学習用です。特定の通貨ペア・期間・設定で利益が出ることを保証するものではありません。実際の運用はバックテスト → デモ → 少額リアルの順を守ってください(第7章)。