ランダムウォークへの挑戦⑫ | Chapter2「学習」始動 ー零号機は何を学ぶべきなのかー(2026/8/2)

ランダムウォーク 未分類

はじめに

前回までのChapter1「観測」では、Pythonを使って約11年半・1,720回の取引をさまざまな角度から分析しました。

月別損益、時間帯、曜日、保有時間、連勝・連敗、ドローダウン。

一つひとつ分析していくことで、バックテストの最終損益だけを見ていては分からなかった、零号機の特徴が少しずつ見えてきました。

しかし、Chapter1で分かったのは、基本的に

「何が起きていたのか」

までです。

例えば、保有時間別分析では、1~4時間の取引が大きな利益を生み出している一方、4~24時間では成績が大きく悪化していました。

しかし、

「なぜ4~24時間の取引は弱いのか」

までは分かっていません。

時間帯による成績差についても同じです。

10時台のエントリーが大きな利益を生み出していましたが、それが時間そのものに意味があるのか、それとも、その時間帯に発生しやすい相場環境に原因があるのかは分かりません。

そこで今回から、Chapter2「学習」に入ります。

Chapter1で見つけた特徴をもとに仮説を立て、

「なぜ、その結果になったのか」

を調べていきます。


Chapter1で見えた零号機の特徴

Chapter1で観測した主な特徴を簡単に整理します。

  • 長期的には利益を積み上げている
  • エントリー時間によって成績に大きな差がある
  • エントリー曜日はすべてプラスだが、曜日によって利益に差がある
  • 1~4時間の保有で大きな利益が出ている
  • 4~24時間の保有では成績が大きく悪化している
  • 最大11連勝、最大9連敗を経験している
  • 最大ドローダウン額は約29,742円
  • 最大ドローダウンから元の最高値を更新するまで約388日かかっている

これらを見ると、零号機はどのような状況でも同じように利益を出しているわけではありません。

得意な状況と苦手な状況が存在する可能性があります。

しかし、ここで例えば、

4~8時間の取引が大きなマイナスだったから、4時間経過したら強制決済する

と変更するのは簡単です。

それでバックテストの成績が良くなるかもしれません。

ただ、それでは単に過去のデータに合わせただけの過剰最適化になる可能性があります。

必要なのは、

「負けた取引には、どのような共通点があったのか」

を調べることです。


Chapter2でやること

Chapter2では、

観測 → 仮説 → 検証 → 改善 → 再検証

という流れで進めていきます。

例えば、Chapter1で見つかった「4~24時間の取引が弱い」という特徴について考えてみます。

単純に保有時間が原因なのかもしれません。

しかし、

  • ボラティリティが低い相場でエントリーしていた
  • ボリンジャーバンドの幅が狭かった
  • エントリー後にレンジ相場へ移行していた
  • 特定の時間帯の取引が多かった

など、別の原因が隠れている可能性もあります。

これを調べるには、これまで使ってきた取引結果だけでは情報が足りません。


零号機に「経験」を記録させる

現在の分析では、

  • いつエントリーしたか
  • いつ決済したか
  • いくらで売買したか
  • 最終的にいくら勝ったか、負けたか

といった取引結果を中心に分析しています。

しかし、

なぜ、その取引をしたのか

を分析するには、エントリーした瞬間の相場環境も必要になります。

例えば、

  • ATR
  • ボリンジャーバンドの幅
  • バンドまでの距離
  • スプレッド
  • エントリー時間
  • エントリー曜日

などです。

これらを記録しておけば、

ATRが高いときと低いときで成績は違うのか

ボリンジャーバンドの幅によって勝率は変わるのか

4~8時間保有して負けた取引には、共通する相場環境があったのか

といった分析ができるようになります。

人間でいえば、

「あのとき、どんな状況で判断して、結果どうなったのか」

という経験を残していくイメージです。

これまで零号機は取引をして、その結果だけを残していました。

ここからは、

「どんな状況で取引したのか」も記録する零号機

へ変えていきます。


「学習」といっても、まだAIではない

Chapter2を「学習」としていますが、この段階でいきなり機械学習を導入するわけではありません。

まず行うのは、

過去の取引と、そのときの相場環境を結びつけること

です。

例えば、

取引A
ATR:○○
BB幅:○○
エントリー時間:10時
保有時間:90分
損益:+○○円

というように、

相場環境 → 取引 → 結果

を一つのデータとして扱えるようにします。

このデータを蓄積してPythonで分析すれば、

「どのような状況で零号機が強いのか」

「どのような状況で零号機が弱いのか」

を、これまでより細かく調べられるはずです。

まずは、零号機が自分の経験を振り返るための材料を作ります。


最終的にはMAGIシステムへ

そして、この先に考えているのがMAGIシステムです。

最終的には、相場を一つの基準だけで判断するのではなく、

  • トレンドを見る判断
  • ボラティリティを見る判断
  • リスクを見る判断

など、異なる視点を持つ複数の判断ロジックを作り、それぞれが相場を評価する仕組みにしたいと考えています。

そして、それぞれの判断を組み合わせて、

今、この取引を実行するべきか

を最終的に決定する。

そんな仕組みを目指します。

ただし、そのためにはまず、

零号機自身の過去の経験をデータとして残すこと

が必要です。

Chapter2では、その土台を作っていきます。


次回予告

次回は、零号機に「記憶」を与えます。

MQL4を修正して、エントリー時のATR、ボリンジャーバンド、スプレッド、時間帯などの情報を保存できるようにします。

そして最終的には、

零号機
  ↓
trade_log.csv
  ↓
Python
  ↓
分析
  ↓
仮説の検証
  ↓
EA改善

という流れを作ります。

Chapter1では、零号機を外から観察してきました。

Chapter2では、その一歩先へ。

零号機自身に「経験」を記録させ、その経験から何を学べるのかを調べていきます。

ランダムウォークへの挑戦⑬ | 零号機に「記憶」を与える ― mql4でエントリーから決済までの相場環境を記録する(2026/8/2)
はじめに前回からChapter2「学習」に入りました。Chapter1「観測」では、約11年半のバックテスト結果をPythonで分析し、月別損益エントリー・決済時間帯エントリー・決済曜日保有時間連勝・連敗ドローダウンなど、さまざまな角度から…

関連記事

ランダムウォークへの挑戦㉓|最高PFは本当に強いのか。Relative Band Distanceを時間分割で比較する(2026/8/30)
ランダムウォークへの挑戦㉒|Q3の境界をずらしても優位性は残るのか(2026/8/30)
ランダムウォークへの挑戦㉑|Q3の優位性は時間が変わっても残るのか(2026/8/29)
ランダムウォークへの挑戦⑳|零号機の利益は「一部の大勝ち」に支えられているのか(2026/8/20)
ランダムウォークへの挑戦⑲|BAND_DISTANCEをATRで割って「相対的なブレイクの強さ」を分析する(2026/8/19)
ランダムウォークへの挑戦⑱|バンドからの距離で零号機のエントリー位置を分析する(2026/8/19)
ランダムウォークへの挑戦⑰|ATR×BB幅で零号機の「得意な相場」を16種類に分解する(2026/8/14)
ランダムウォークへの挑戦⑯|ボリンジャーバンドの幅で零号機の得意な相場を探る(2026/8/11)
ランダムウォークへの挑戦⑮|零号機は「荒れた相場」に強いのか ― ATRと取引成績の関係をPythonで分析する(2026/8/9)
ランダムウォークへの挑戦⑭ | 零号機の「記憶」をPythonへ渡す ― trade_log.csvを分析用データに整える(2026/8/5)
ランダムウォークへの挑戦⑬ | 零号機に「記憶」を与える ― mql4でエントリーから決済までの相場環境を記録する(2026/8/2)
ランダムウォークへの挑戦⑫ | Chapter2「学習」始動 ー零号機は何を学ぶべきなのかー(2026/8/2)
ランダムウォークへの挑戦⑪ | 零号機の性格診断──Chapter1「観測」 完結(2026/8/1)
ランダムウォークへの挑戦⑩ | Pythonで資産推移とドローダウンを分析する(2026/8/1)
ランダムウォークへの挑戦⑨ | Pythonで取引の連勝・連敗を分析する(2026/7/28)
ランダムウォークへの挑戦⑧ | Pythonでポジションの保有時間別に成績を分析する(2026/7/26)
ランダムウォークへの挑戦⑦ | Pythonでエントリー曜日と決済曜日から零号機を分析する(2026/7/23)
ランダムウォークへの挑戦⑥ | Pythonでエントリー時間と決済時間から損益を分析する(2026/7/22)
ランダムウォークへの挑戦⑤ | Pythonで月別損益をグラフ化する(2026/7/5)
ランダムウォークへの挑戦④ |Pythonで「零号機」の基本成績を分析する(2026/6/11)
ランダムウォークへの挑戦③ | 環境設定(2026/5/26)
ランダムウォークへの挑戦➁ | 小目標3つ設定(2026/5/25)
ランダムウォークへの挑戦① | はじめに(2026/5/25)

コメント

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