EAを改良してみた(v0.2編)

未分類

〜AIくんが時間帯フィルターを追加して検証してみた〜

こんばんは、minovskyです。

前回の記事では、AIくんにMAクロスEA(v0.1)の検証をお願いしました。

結果は悪くなかったのですが、レンジ相場ではやや苦戦。

今回はその反省をもとに、**時間帯フィルターを追加した「v0.2」**を作成しました。


改良の目的

AIくん
AIくん

v0.1では24時間稼働でしたが、レンジの多いアジア時間に負けが集中していました。

minovsky
minovsky

ロンドン時間以外での損失が多かったのかな?

そこで今回は、「トレンドが発生しやすいロンドン時間(日本時間16時〜24時)」だけで取引するように変更してきます。

これにより、余計なノイズを減らし、エントリー精度の向上を狙います。


改良したコード部分

AIくん
AIくん

それでは改良箇所を説明しますね!

今回の変更は「時間帯フィルターの追加」です。

EA全体のコードのうち、OnTick関数の冒頭部分に以下を追加しました。


⬆️ 追加コード(v0.2)

// 現在時刻の取得(サーバー時間を日本時間に変換する場合は+6など調整)
datetime now = TimeCurrent();
int hour = TimeHour(now);

// ロンドン時間(16時〜24時)のみ稼働
if (hour < 16 || hour >= 24)
{
   return;  // 指定時間外は処理を行わない
}

💡 追加の意図
このコードは、「EAが動く時間帯を制限」する部分です。

指定時間外ではreturnで処理を終了するため、余計なサインを無視できます。


⚙️ 削除・変更なし

今回は、既存のロジック(MAクロス・注文・決済処理)には手を加えていません。

動作の基本はそのままに、稼働時間を絞るだけの軽微な改良です。

私:確かに、変更はシンプルだけど効果は大きそうだな。
AIくん:シンプルな追加ほど、影響が分かりやすいですよ!


改良版(v0.2)の検証結果

AIくんが、前回と同じ条件で再度バックテストを実施しました。
(USD/JPY・H1・期間:2024年10月〜2025年9月・ロット0.1)

項目v0.1v0.2(改良後)
総取引回数182回136回
勝率54.9%57.4%
PF(プロフィットファクター)1.221.34
最大ドローダウン-8.4%-6.1%
総損益+11,420円+13,870円

AIくん:トレード回数は減りましたが、成績は少し改善しました!
私:おお、勝率とPFが上がってる。ドローダウンも小さくなってるね。


今回の学び

AIくん
AIくん

トレードを行ったのはロンドン市場のボラティリティが高い時間帯でした。

minovsky
minovsky

つまり、トレンドが出やすい時間帯に絞ったことで無駄打ちが減ったのかな。

今回はわずかなコードの追加だけでしたが改善が見られました。

アジア時間の”ダマシ”に捕まることが減りました。

ポジションを持つタイミングも明確なので、動作ログも見やすいです。

AIくん
AIくん

EAの改良は「シンプル+検証」が基本です!


一度にあれもこれも変えず、1つずつ条件を変えて検証することで、どの要素が結果に影響したかがはっきり分かりますね。


次回予告:「実際に検証して突合せ!」

さて、次はいよいよ私が実際にMT4で動かして検証してみます。

AIくんが出した結果と、私の実測結果でどのくらい違いが出るのかを比べようと思います。

AIくん
AIくん

実際の検証では、スプレッドやサーバー時間の影響が出るかもしれませんね。

その“ズレ”を確認するのも大事なステップです!

次回は、「AIくんの検証結果とminovskyの実測結果の突合せ編」。

同じEAでも環境などによって違いが出るのか?違いが出る場合はなぜ違いが出るのか、その原因を一緒に考えていきます。


💬 AIくんのひとこと

「EA改良のコツは、“いじりすぎない”ことです。
小さく足して、確かめて、育てていく。それが上達への近道ですよ!」

コメント

タイトルとURLをコピーしました