この記事でできるようになること
- 本スクール共通教材のサンプル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が正しく計算されるようにしてある |
8-4-01.pnginput変数(外部パラメータ)の説明
この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つずつ変えていきます。
8-4-02.png使い方(3ステップ)
ステップ1 MetaEditorに貼り付けて保存する
- 「04_サンプルEA/MA_Cross_Sample.mq4」をメモ帳などで開き、全文をコピーする([Ctrl]+[A] → [Ctrl]+[C])
- MT4で[F4]を押してMetaEditorを開く
- 「新規作成」→「エキスパートアドバイザ(テンプレート)」→ 名前を「MA_Cross_Sample」にして進む(4-1と同じ)
- 自動生成されたコードを全消しして、コピーしたコードを貼り付ける
- [Ctrl]+[S]で保存する
.mq4 ファイルを直接「MQL4」→「Experts」フォルダにコピーしても構いません。その場合はMetaEditorでファイルを開いてから次のステップに進みます。
8-4-03.pngステップ2 コンパイルする
[F7]を押します。下部の「エラー」タブが「0 error(s), 0 warning(s)」になれば成功です要確認。エラーが出た場合は、コピーが途中で切れていないか(最後の行まで貼れているか)を確認してください。それでも直らない場合は付録Cへ。
8-4-04.pngステップ3 バックテストで動作を確認する
[Ctrl]+[R]でストラテジーテスターを開き、5-2の手順で設定します。例として次の設定で動かすと、結果が出ることを確認できます(数値はあくまで例で、この設定で利益が出ることを示すものではありません)。
| 設定項目 | 例 |
|---|---|
| エキスパートアドバイザ | MA_Cross_Sample |
| 通貨ペア | USDJPY |
| 時間足 | H1 |
| モデル | 全ティック |
| 期間 | 直近1〜2年 |
| スプレッド | 現在値、または20(ポイント) |
| 初期証拠金 | 100,000(円口座の場合) |
結果の読み方は5-3、疑う視点は5-4を参照してください。
8-4-05.pngこのEAをどう活用するか
- ChatGPTに作らせたEAと比べる: 3-3の実例1(移動平均線クロス)のプロンプトでChatGPTに作らせたコードと、このサンプルを見比べると「AIが省略した部分」「違う書き方をした部分」に気づけます
- 改善の練習台にする: 第6章の「時間帯フィルター追加」「トレーリングストップ追加」を、まずこのサンプルで試すと安全です
- 説明してもらう: 付録Bの「5. コードの内容を説明してもらうプロンプト」にこのコードを貼ると、各部分が何をしているか日本語で読めます
このサンプルEAは学習用です。特定の通貨ペア・期間・設定で利益が出ることを保証するものではありません。実際の運用はバックテスト → デモ → 少額リアルの順を守ってください(第7章)。