研究所TOP / 再現キット
書籍『何を測っていたのか』シリーズ — 再現キット

本に載せた数字を、
あなたの手で確かめるための道具

本に書いた検証を、そのまま MetaTrader 5 で走らせるソースコードです。 全文を公開しています。改造も再配布も自由です。 儲けるためのEAではありません——本の主張が正しいかどうかを、 あなた自身が疑うための道具です。

REGISTRATION
登録は不要
メールアドレスも会員登録も要りません。本文で「隠しているものは何もありません」と書いた本が、コードを渡すのに個人情報を求めるわけにはいかないからです。
LICENSE
MIT・改変自由
著作権表示を残す以外に条件はありません。自分の戦略に組み込んでも、中身を全部書き換えても構いません。ただし無保証です。
SOURCE
全文公開
コンパイル済みの .ex5 だけでなく、.mq5 のソースを丸ごと同梱しています。中で何をしているかは、読めば分かります。

使い方(5分)

  1. MT5 を開き、ファイル → データフォルダを開く
  2. MQL5\Experts\ に .mq5 を置く
  3. MetaEditor で開いて コンパイル(F7)
  4. MT5 に戻り 表示 → ストラテジーテスター(Ctrl+R)
  5. エキスパートに ◯◯_ReproKit を選び、期間と時間足を決めて スタート
  6. 「操作ログ」タブに結果が出ます

共通の基本設定は、時間足 H1、期間 2020.01.01〜2025.12.31、InpHoldBars = 24 です。 詳しい設定値は、各キットに同梱の README.md にあります。

先に言っておきます

本に載っている数字と、まったく同じ値は出ません。 本の表は10通貨ペアをまとめ、ペアごとに順位化した結果です。キットは1ペアぶんを回します。 確かめてほしいのは数字の一致ではなく、手続きのほうです。 この手続きさえ自分で回せるようになれば、本で扱っていない指標にも同じことができます。

キット一覧

第1巻 — MACD

MACDは、何を測っていたのか

MACD線とシグナル線のクロス/ゼロラインクロス/ヒストグラムの比較を、同じ手続きで測ります。

このキットで確かめられること

  • 第2章 教科書どおりの3つの使い方が、コストを引く前の時点でどうなるか
  • 第4章 条件を足すと取引数がどう減り、プラスになった設定の割合がどう動くか
  • 第5章 増分検定——ATRを揃えたとき、ヒストグラムが差を生むかどうか
  • 共通 テスターが提示したスプレッドと、実測コスト 2.00 pip の差

主な入力

入力役割
InpUsage①GC/DC ②ゼロラインクロス ③ヒストグラム×シグナル線/MACD線/(確認用)ゼロクロス
InpUseFilter1/2条件を2個目・3個目と足していく
InpReportIncrement増分検定を実行する(既定 true)
第2巻 — ボリンジャーバンド

ボリンジャーバンドは、何を測っていたのか

逆張り/順張りの2つの使い方と、「バンドウォーク」という言い伝えを、数で確かめます。

このキットで確かめられること

  • 第2章 逆張りと順張り、どちらがどうなるか
  • 第3章 バンドウォークの検定——上band超えのあと、それが続く確率
  • 第4章 条件を足していったときの取引数と成績
  • 共通 テスターが提示したスプレッドと、実測コスト 2.00 pip の差

主な入力

入力役割
InpUsage逆張り(下band割れで買い)/順張り(上band超えで買い)
InpPeriod / InpDevバンドの期間(既定20)とσの倍数(既定2.0)
InpReportBandWalkバンドウォークの継続確率を出す(既定 true)
第3巻 — ストキャスティクス

ストキャスティクスは、何を測っていたのか

「買われ過ぎ」という言葉が、実際には何を言っているのか。言い換えの検定と、結果で選別すると成績がどう見えるかの実演を含みます。

このキットで確かめられること

  • 第2章 80/20水準と %K×%D クロス、それぞれの結果
  • 第3章 言い換えの検定——%K と直近の騰落率が、どれだけ同じことを言っているか
  • 第3章 3-6b 結果による選別の実演——同じルールでも「戻ったものだけ」を後から数えると、どう見えるか
  • 共通 テスターが提示したスプレッドと、実測コスト 2.00 pip の差

主な入力

入力役割
InpUsage80/20水準/%K×%D クロス
InpReportRestatement%K と直近騰落率の関係を出す(既定 true)
InpShowSelectionBias結果で選別した場合との差を出す教材用の機能。既定は false。①全部/②戻ったものだけ/③戻らなかったもの、の3通りで集計します
第4巻 — RSI

RSIは、何を測っていたのか

教科書どおりの3つの使い方に加えて、振り返る本数を2本から96本まで動かした地図と、それを年で割ると何が起きるかを出します。このシリーズで初めて「コストを超えたもの」が出た巻です。

このキットで確かめられること

  • 第2章 70/30の逆張りと50クロス、それぞれの結果
  • 第3章 RSI(2) を 6本/12本/24本/48本 保有で測り直すと、符号が変わること
  • 第5章 本数の地図——2・3・5・8・14・24・48・96本を一度に回し、生の騰落率と RSI(n) を並べる
  • 第6章 年で割る——符号が変わる年があるかどうか
  • 第1章 平滑を単純移動平均に変えると、同じ「RSI」の値がどれだけずれるか
  • 共通 テスターが提示したスプレッドと、実測コスト 2.00 pip の差

主な入力

入力役割
InpUsageH1(70/30逆張り)/H2(50クロス)/H3(RSI(2) 10-90)
InpRsiPeriodRSIの n。2 にすれば第3章、14 なら第2章
InpLookbackMap第5章の地図を出す。この巻の本体です
InpSplitByYear第6章の年別を出す。良い数字が出たとき、最初にやるべきこと
InpSmoothing平滑を Wilder ↔ 単純移動平均で切り替える。同じ「RSI」でも値がずれることを、その場で確かめられます

先に InpSplitByYear を回してください。 多くの手法は、年で割ると印象が変わります。それを一度体験しておくと、他人の成績表の読み方が変わります。

第5巻 — 移動平均

移動平均は、何を測っていたのか

設定画面のつまみ3つ(何を平均するか・どう平均するか・何本を平均するか)を、1つずつ分けて測ります。そのうち2つは、ほとんど動きませんでした。

このキットで確かめられること

  • 第1章 平滑の遅れ——直線を入れて測ると、同じ「期間25」でも遅れが 8本〜24本と3倍ちがう
  • 第3章 適用価格を5通り変えても、ほとんど変わらないこと
  • 第4章 計算方法を4通り変えると大きく変わること。ただし SMMA(n) は EMA(2n−1) と同じ式であること
  • 第5章 期間の地図——8通りを一度に回す
  • 第6章 試した回数で補正する——「1つだけ当たった」が残るかどうか
  • 共通 テスターが提示したスプレッドと、実測コスト 2.00 pip の差

主な入力

入力役割
InpFast / InpSlow短期・長期の期間。第2章は 25/75
InpMethodSMA/EMA/SMMA/LWMA(第4章)
InpPrice終値/始値/中値/代表値/加重終値(第3章)
InpShowLag遅れを測る。直線を入れて、重みの重心が何本ぶんかを出します
InpPeriodMap第5章の地図を出す。8通りの期間を一度に回します
InpCountTrials第6章。何通り試したかを数え、その回数で基準を厳しくして測り直します

InpPeriodMap と InpCountTrials は、必ずセットで回してください。 地図だけ見て「1つ当たった」で終わるのが、この巻の落とし穴そのものです(既定で InpCountTrials は有効にしてあります)。

数字が合わないとき

まず期間・時間足・保有本数を確かめてください(2020.01.01〜2025.12.31/H1/24本)。 そのうえで、上に書いたとおり本と同じ値は出ません。10通貨ペアをまとめた結果と、1ペアぶんの結果だからです。

それでも手続きまで含めて食い違うなら——本が間違っている可能性があります。 そのときは連絡をください。確認し、間違っていれば訂正して、その旨をこのページで公開します。 本の第4章に書いたとおり、私はすでに一度、自分の集計ミスを見つけています。二度目がない保証はありません。

連絡先

urban.flux.official@gmail.com
1冊ぶんにならなかった検証や棄却の記録は note と 研究記録 で公開しています。 「次はこの指標を測ってほしい」という要望も、ここで受け取っています。

このキットについて: 実注文を出しません。1取引=1単位の仮想売買として値動きだけを集計します。 実注文にすると結果がロット・証拠金・ブローカーの約定仕様に左右され、書籍の数字と比較できなくなるためです。 また、形成中のバー(インデックス0)を一切使いません。判定は確定済みのバーだけで行います。 ここを間違えると未来を先読みしてしまい、実際にはありえない好成績が出ます。 例外はありません。第3巻の InpShowSelectionBias も先読みはしません。 あれは「その時点の情報だけで実行できるルール」の結果を、あとから結果で選り分けて数えるとどう見えるか、を出す教材用の機能です。 好成績のバックテストで実際に起きているのは、先読みよりもこちらのほうが多いと考えています。

免責: 本ページおよび配布するソフトウェアは、検証プロセスと棄却記録の開示を目的とした教育・情報提供のためのものです。 投資助言ではありません。特定の金融商品・取引業者の利用を推奨するものではありません。 バックテスト結果は過去データに基づくものであり、将来の利益を保証するものではありません。FX取引には元本割れのリスクがあります。 本ソフトウェアは【無保証】であり、使用によって生じたいかなる損失についても、著者および Urban Flux は責任を負いません。 実際の資金での運用は、利用者ご自身の判断と責任で行ってください。 詳細は同梱の LICENSE.txt、および利用規約をご確認ください。