StrategyQuant には、バックテスト精度に関する設定が2つ存在します。
Data → Test parameters → Precision

と
Cross checks(robustness) → Higher backtest precision

です。
パッと見は似ていますが、
機能・目的・役割がまったく違います。
この記事では、公式マニュアルと Petrさん(SQサポート)の回答を組み合わせ、
初心者でも迷わないよう 完全に整理して説明します。
■ まず最初の結論(最重要)

- Data → Precision は“メインのバックテスト精度”
- Cross-check → Higher backtest precision は“耐久テスト(ロバストネス検査)”
つまり:
- Precision → EAの基礎品質を決める
- Higher precision → EAの壊れやすさを検査する
役割が根本的に違います。
■ 1. Data → Test parameters → Precision とは?
Precision は「バックテストの再現精度」を決める設定。
成行中心なら最速の Selected timeframe で十分。
Stop/Limit を使うなら 1 minute tick simulation が必須。
Precision は「バックテストの再現精度」を決める設定。

■ Precision(精度)で選べるのは現在この2つだけ
SQX Build 142 では、Precision は以下の2択に整理されています。
● 1) Selected timeframe only(fastest)
バーの OHLC(始値・高値・安値・終値)だけを使う
→ とにかく速い。大量生成向き。
・H1なら H1 の1本の値だけで計算
・Stop/Limit を多用する戦略では誤差が出やすい
・「成行がメイン」のEAなら基本これで問題なし
● 2) 1 minute data tick simulation(slow)
1分足の中の動きを Tick として再現
→ Selected timeframe より正確。ただし遅い。
・Stop/Limit のヒット精度が上がる
・逆指値系を使う戦略は必ずこちら
・計算量が増えるため Builder の速度は落ちる
■ Precision の本質
Precision は EA の“土台になる精度” を決める。
精度を下げれば速く大量に作れるが、ズレやすい。
精度を上げると時間が増えるが、初期の品質が安定する。
■ どんな戦略ならどちらを選ぶべきか?
★ 成行オンリーの戦略(Stop/Limit を使わない)
理由:
成行注文中心の戦略では、Tick レベルの intrabar 動きを正確に再現するメリットがほとんどありません。
ただし、どの精度を選んでもスプレッドは常に変動するため、バックテストが現実と1:1で一致することはない点には注意。
★ Stop / Limit を頻繁に使う戦略
→ Selected timeframe only(最速)
→ 1 minute data tick simulation(より正確)
理由:
指値・逆指値が「触れた/触れていない」判定は戦略結果に大きく影響するため、
1分足ベースでも Tick 動きを再現する精度が必要。
ただし、これもあくまでバックテスト精度が高くなるだけで、
“現実のスプレッド変動と完全一致するわけではない”点を理解して使う。
■ 2. Cross checks → Higher backtest precision とは?
★ Builder や Retester の後で実行される「耐久テスト(ロバストネス検査)」
公式ドキュメントでは、次のように説明されています:
It backtests the strategy again on the same data,
but with higher precision.
(同じデータを使い、より高い精度で再テストする)
つまり Cross-check では:
「メインのバックテスト(Main)」の精度とは異なる設定で再テストし、
そのときの動きの変化を見ることで EA の安定性(ロバストネス)を確認する
という役割を担います。
● Cross-check の基本的な考え方
- Main(低精度)で好成績の EA が
- Higher precision(高精度)で再テストしたときに
結果が 大きく変わる ようであれば、
→ 「この EA は、特定の精度・特定のバー形状に依存している可能性が高い」
→ = 過剰最適化(Curve fitting)の疑いが強くなる
という判断材料になります。
● ただし「乖離=カーブフィット」と断定はできない
Petr が強調した重要ポイントです:
- 結果が 似ていれば、安定している可能性は高い
- 結果に 乖離があれば、注意すべきシグナルではある
- しかし それだけでロバストネスは判定できない
Petr の言葉:
Using only this comparison to determine robustness is insufficient.
A strategy can pass the high-precision cross-check and still be curve-fit.
つまり:
Cross-check は“参考指標のひとつ”であり、
単独で最終判断を下すためのものではない。
● Cross-check の役割まとめ
- EA が 精度を変えても安定しているか を見る検査
- Builder の精度設定とは目的がまったく違う
- 「精度の違いに弱い EA」=壊れやすい EA を早期に発見できる
- ただし“通ったから完全に安全”でもない点に注意
● つまり役割はこう分かれる
- Main(Data → Precision)
→ EA を “作る” ときに使う基礎精度 - Cross-check(Higher backtest precision)
→ EA が “精度を変えても壊れないか” を確認する追加テスト
■ 3. 両者の違いを一言で
| 項目 | Data → Precision | Cross-check → Higher precision |
|---|---|---|
| 目的 | EAを“作る”精度 | EAを“検査する”精度 |
| タイミング | Builderで毎回 | フィルター通過後だけ |
| 回数 | 全EAに適用 | 生き残ったEAのみ |
| 効果 | EA品質の土台を作る | 過剰最適化EAを排除する |
| メリット | スピード or 精度の選択可能 | 追加の品質保証 |
| デメリット | 低精度は品質が下がる | 時間がかかる |
■ 4. Petr のアドバイスの意図
Petr が強調していたポイントは、
“Builder を速く回すこと=良い戦略が多く作れる” ではない
という点です。
彼の言葉:
“Quick does not always equate to quality”
(速さは必ずしも品質を意味しない)
つまり、Precision を低くして Builder を高速化すると、
確かに EA は大量に生成できますが、その分だけ 品質は不安定になる可能性が高いということです。
● Precision を低くして量産した場合の問題点
Selected timeframe only(最速)でEAを作ると、
- バーの中の価格変動が再現されない
- 利確・損切りが「刺さる/刺さらない」の判定がズレやすい
- Stop/Limit を含む戦略では特に誤差が大きくなる
その結果:
Cross-check(高精度)でテストすると成績が崩れる EA が大量に出る。
これは Petr が「速さ=品質ではない」と言った理由です。
● Precision を上げて作った場合のメリット
Builder で最初から Precision を “1-minute data tick simulation” にすると:
- 価格の再現性が高まり、
- 利確・損切り判定のズレが減り、
- EA の初期品質が向上し、
- Cross-check で落ちる EA の数も自然と減る
結果として:
生成スピードは遅くなるが、後のふるい落としが圧倒的に楽になる。
● ただし「高精度=完璧」ではない
Petr の重要な補足:
- スプレッドは現実では常に変動する
- バックテストのスプレッドは固定
- よって どの精度を使っても“現実と1:1にはならない”
つまり:
高精度は「より正確に近づく」だけであって、完全な再現ではない。
● Petr のアドバイスを要約するとこうなる
速さを優先して低精度で量産すると、
後で大量の不安定EAを捨てることになる。
一方、
Precision を高めて作れば、生成量は減るが、最初から質の良いEAが残りやすい。
そして最終判断には、
Cross-check(Higher precision)を併用することが不可欠。
■ 5. 結局、どう使い分ければよいのか?(完全版)
EAを作るときの「Precision」と、
完成したEAを検査する「Higher backtest precision」。
この2つは目的が違うため、
どう組み合わせるかで“量産型”にも“高品質型”にも調整できます。
以下では、Petr のアドバイスに基づく 推奨ワークフロー をまとめます。
● パターン①:とにかくEAを量産したいとき(初心者〜中級者向け)
Data → Precision
Selected timeframe only(最速)
Cross-check(Builder または Retester)
Higher backtest precision をON
(= M1/Tick 精度で再テスト)
Retester
通過したEAのみ再検査
この方法の特徴:
- Builder が高速に回せる
- EA を大量に生成できる
- ただし 低精度ゆえに不安定EAも多く混ざる
- 結果、Retester や Cross-check で大量に落ちる
- 根気と時間が必要
こんな人向け:
「とにかく量を回したい」「あとでふるい落とす前提で作りたい」
● パターン②:質を重視したいとき(中級者〜上級者向け)
Data → Precision
1-minute data tick simulation(またはTick)
Cross-check
Higher backtest precision をON
(BuilderでもRetesterでも良い)
この方法の特徴:
- 最初から価格再現性が高い
- EAの初期品質が高くなりやすい
- Builder の速度は遅くなる
- しかし Cross-checkでの脱落数が激減する
- 結果としてトータルの時間は短くなることも多い
こんな人向け:
「EAの精度と安定性を優先したい」「量より質で攻めたい」
● Petr の推奨フロー(実務的ベストバランス)
Petr がメールで示した内容を整理すると、
最もおすすめなのは以下のワークフローです:
- Builderは Selected timeframe only で高速生成
- 初期フィルターを通過したEAだけを抽出
- そのEAに対して、M1 Tick(またはTick)で再テスト
- Cross-check → Higher precision で精度違いテスト
これは:
- 最初の回転を速くして
- 後で「質」をしっかり確認する
という 効率と品質の両立を目指す方法 です。
● 注意:高精度=完璧ではない
Precision を上げても:
- スプレッドは現実のように変動しない
- 実運用とは1:1で一致しない
- Tick精度=完全な再現 ではない
高精度はあくまで “より正確に近づく手段” であり、
“完全再現” と誤解しないことが大切です。
■ 6. まとめ(完全版)
Data → Precision
= EA を“作るときの基礎精度”
(速さ or 正確さの選択)
Cross-check → Higher backtest precision
= EA を“精度を変えても壊れないか確認する検査”
(ロバストネス確認)
● 最重要ポイント
- 両方必要
- 片方だけではEAの品質は安定しない
- Precision は「生成の質」
- Higher precision は「耐久性の検査」
- 一致・乖離は“参考指標のひとつ”であり、単独で判断しない
● 最終的な結論
速さだけを追うと、後で大量の不合格EAを捨てることになる。
精度だけを追うと、Builder が遅すぎて回らない。
だからこそ:
「低精度で作る → 高精度で検査する」
が、Petr の推奨する最も合理的な使い分け。

