1️⃣ ヒストリーデータの準備
- MT5 を起動し、JP225 の M1 チャートを開く
- メニューから 「ツール」→「ヒストリーデータセンター」 を選択
- シンボルで JP225 (M1) を選択
- 十分な本数をダウンロード
- BBPeriod=120 の場合は最低 200~300本以上のM1データ が必要
- 推奨: 500本以上(EA起動後すぐに計算できるようにする)
- ダウンロード後、MT5 を再起動してデータを反映
2️⃣ テスター設定
- 「ストラテジーテスター」 を開く
- EA を選択、シンボルは JP225、時間足は M1
- モデル: 「全ティック」または「コントロールポイント」
- 使用可能な最大履歴を使用
- 「開始」前に「全履歴使用」にチェック
- スプレッド固定(任意)
- 期間: ヒストリーがある範囲を設定
- Visual Mode(視覚モード) を ON にすると BB の描画を確認しやすい
3️⃣ EA内部の初期化待ちチェック(既に追加済み)
- EA 内で BB Upper=Middle=Lower が同値の場合は 処理スキップ
- 十分な履歴が揃うまでエントリーしない
if(bbUpper==bbMiddle && bbMiddle==bbLower)
{
Print("BB not ready yet, skipping tick");
return;
}
4️⃣ BBPeriod を短くして動作確認(推奨)
- 初期テストでは BBPeriod=20~50 くらいに設定
- ±2σ が表示されることを確認
- 正常に動作することを確認後に BBPeriod=120 に戻す
5️⃣ 確認方法
- M1チャートで インジケータ「ボリンジャーバンド」 を同期間で表示
- テスターの Visual Mode で EA を走らせる
- ログに BB の値が出力されることを確認
Print("BB Upper=", bbUpper, " Middle=", bbMiddle, " Lower=", bbLower);
- このログで ±2σ が正しい値になっていれば、EA は正しく動作可能
💡 ポイントまとめ
- MT5 テスターでは 十分な履歴がないと BB は全て同値になる
- 「待てば表示される」わけではなく、事前に履歴をロードする必要あり
- 初期化待ちチェックを入れることで、履歴が揃うまで EA はエントリーしない
- テスト用に BBPeriod を短くして確認すると成功率が上がる