本に書いた検証を、そのまま MetaTrader 5 で走らせるソースコードです。 全文を公開しています。改造も再配布も自由です。 儲けるためのEAではありません——本の主張が正しいかどうかを、 あなた自身が疑うための道具です。
MQL5\Experts\ に .mq5 を置く◯◯_ReproKit を選び、期間と時間足を決めて スタート
共通の基本設定は、時間足 H1、期間 2020.01.01〜2025.12.31、InpHoldBars = 24 です。
詳しい設定値は、各キットに同梱の README.md にあります。
本に載っている数字と、まったく同じ値は出ません。 本の表は10通貨ペアをまとめ、ペアごとに順位化した結果です。キットは1ペアぶんを回します。 確かめてほしいのは数字の一致ではなく、手続きのほうです。 この手続きさえ自分で回せるようになれば、本で扱っていない指標にも同じことができます。
MACD線とシグナル線のクロス/ゼロラインクロス/ヒストグラムの比較を、同じ手続きで測ります。
| 入力 | 役割 |
|---|---|
InpUsage | ①GC/DC ②ゼロラインクロス ③ヒストグラム×シグナル線/MACD線/(確認用)ゼロクロス |
InpUseFilter1/2 | 条件を2個目・3個目と足していく |
InpReportIncrement | 増分検定を実行する(既定 true) |
逆張り/順張りの2つの使い方と、「バンドウォーク」という言い伝えを、数で確かめます。
| 入力 | 役割 |
|---|---|
InpUsage | 逆張り(下band割れで買い)/順張り(上band超えで買い) |
InpPeriod / InpDev | バンドの期間(既定20)とσの倍数(既定2.0) |
InpReportBandWalk | バンドウォークの継続確率を出す(既定 true) |
「買われ過ぎ」という言葉が、実際には何を言っているのか。言い換えの検定と、結果で選別すると成績がどう見えるかの実演を含みます。
| 入力 | 役割 |
|---|---|
InpUsage | 80/20水準/%K×%D クロス |
InpReportRestatement | %K と直近騰落率の関係を出す(既定 true) |
InpShowSelectionBias | 結果で選別した場合との差を出す教材用の機能。既定は false。①全部/②戻ったものだけ/③戻らなかったもの、の3通りで集計します |
教科書どおりの3つの使い方に加えて、振り返る本数を2本から96本まで動かした地図と、それを年で割ると何が起きるかを出します。このシリーズで初めて「コストを超えたもの」が出た巻です。
| 入力 | 役割 |
|---|---|
InpUsage | H1(70/30逆張り)/H2(50クロス)/H3(RSI(2) 10-90) |
InpRsiPeriod | RSIの n。2 にすれば第3章、14 なら第2章 |
InpLookbackMap | 第5章の地図を出す。この巻の本体です |
InpSplitByYear | 第6章の年別を出す。良い数字が出たとき、最初にやるべきこと |
InpSmoothing | 平滑を Wilder ↔ 単純移動平均で切り替える。同じ「RSI」でも値がずれることを、その場で確かめられます |
先に InpSplitByYear を回してください。
多くの手法は、年で割ると印象が変わります。それを一度体験しておくと、他人の成績表の読み方が変わります。
設定画面のつまみ3つ(何を平均するか・どう平均するか・何本を平均するか)を、1つずつ分けて測ります。そのうち2つは、ほとんど動きませんでした。
SMMA(n) は EMA(2n−1) と同じ式であること| 入力 | 役割 |
|---|---|
InpFast / InpSlow | 短期・長期の期間。第2章は 25/75 |
InpMethod | SMA/EMA/SMMA/LWMA(第4章) |
InpPrice | 終値/始値/中値/代表値/加重終値(第3章) |
InpShowLag | 遅れを測る。直線を入れて、重みの重心が何本ぶんかを出します |
InpPeriodMap | 第5章の地図を出す。8通りの期間を一度に回します |
InpCountTrials | 第6章。何通り試したかを数え、その回数で基準を厳しくして測り直します |
InpPeriodMap と InpCountTrials は、必ずセットで回してください。
地図だけ見て「1つ当たった」で終わるのが、この巻の落とし穴そのものです(既定で InpCountTrials は有効にしてあります)。
指標が1つ増えるたびにキットを足しています。次はADXの予定です。
キットの不具合報告・改善案も、どちらでも受け取っています。2026-09-09に第3巻キットの教材用機能を差し替えました(InpPeekFuture → InpShowSelectionBias)。
まず期間・時間足・保有本数を確かめてください(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、および利用規約をご確認ください。