【保存版】MT4バックテストの「pips vs points」完全ガイド ゴールドは10ポイント=1pips」は本当?
なぜEAが入らない?犯人は“スプレッドの単位ズレ”
EAが正常でも、テスターの「スプレッド」欄をpipsだと思い込むと実質コストが想定より何倍にも膨らみ、スプレッドガードに常時ひっかかります。
MT4の入力はpipsではなくpoints(最小刻み)。
さらにpoints→pipsの換算は**Digits(小数桁)**で変わります。
まずはこの“単位の整合”を取ることが、安定したバックテストと実運用の出発点です。
「points」ってなに?pipsと何が違うのかを一度で理解
points=その銘柄の最小価格刻み、pips=取引慣習上の幅の単位。MT4のテスターはSpreadをpointsで入力します。
pipsへ直す式は簡単で、pips = points ÷ PointsPerPip。
この「PointsPerPip」はDigitsで決まり、5桁/3桁は10、4桁/2桁は1が一般則。
式を一つ覚えるだけで、どの銘柄でも瞬時に換算できます。
5桁/3桁ルール:1 pip = 10 points(ユーロ/円など)
価格が1.23456(5桁)や123.456(3桁)の銘柄は1 pip=10 points。
テスターにSpread=15と入れたら1.5 pipsです。
小数第5位(または第3位)が最小刻み=1 pointで、1 pip幅(第4位や第2位)を作るのに10ポイント必要、という構造になっています。
4桁/2桁ルール:1 pip = 1 point(旧4桁/金の2桁など)
価格が1.2345(4桁)や2350.12(2桁)の銘柄は1 pip=1 point。
Spread=20なら20 pips。最小刻みそのものがpips幅なので、pointsとpipsが一致します。
ここを5桁/3桁と混同すると、コストの読み違いが一気に拡大します。
ゴールド(XAUUSD)は“2桁”と“3桁”で世界が変わる
XAUUSDはブローカーにより2桁(0.01刻み)と3桁(0.001刻み)の両方が存在します。
2桁なら1pt=1pipで、Spread=20は20pips。3桁なら10pt=1pipなので、同じSpread=20でも2.0pipsです。
ネット記事の「金は10ポイント=1pip」は3桁前提で、2桁では当てはまりません。
まずDigitsを確認するのが最優先です。
まずは30秒チェック:Digits/Pointの見方(失敗の9割はここで防げる)
バックテスト前にテスター右側の「通貨ペアのプロパティ」で**Digits(小数桁)とPoint(最小刻み)**を確認しましょう。
価格の見た目でも判定可。
2350.12なら2桁、2350.123なら3桁。ここを見ずにSpreadに数値を入れると、points→pips換算を誤って“実質超高コスト”で検証してしまう落とし穴にハマります。
テスターのSpreadはpoints入力――こう読めば二度と迷わない
Spread欄はpoints。pipsに直すにはpips = points ÷ PointsPerPipを適用します。
例を4つ覚えると実務が早くなります。
-
EURUSD(5桁):Spread=15 → 1.5 pips(15÷10)
-
USDJPY(3桁):Spread=12 → 1.2 pips(12÷10)
-
XAUUSD(2桁):Spread=20 → 20 pips(20÷1)
-
XAUUSD(3桁):Spread=20 → 2.0 pips(20÷10)
-
この読み替えをガード閾値(MaxSpreadPips)と合わせれば、EAの“入らない”が激減します。
一般定義で安心運用:EAはAuto設定+起動ログで答え合わせ
「標準(一般的)な定義で運用したい」なら、EAパラメータはPipModel=0(Auto)、PipOverridePoints=0でOK。
初回だけPipDiag=1にして起動ログを確認し、PtPerPip と Spread=20(=2.00p)のようにpoints→pips換算が意図通りかを一度だけ確かめましょう。
例外的なCFDだけManualで固定すれば十分です。
それでもエントリーしない?詰まりを外すチェックリスト
まずスプレッドガード:実測pips(points÷PointsPerPip)がMaxSpreadPipsを超えていないか。
次に時間帯:UTC換算(TZMode/UTC_OffsetHours)のズレ有無。ワンポジ(OnePosition)やクールダウン(ReentryCooldownMin)、ATR最小(ATR_MinPips)も確認。順に潰すと、ほぼ必ず原因に到達します。
暗算で即わかる「points→pips」早見表(印刷推奨)
実務でよく使う組み合わせだけを厳選。Spread=20の読み替えも併記しています。貼っておくと入力ミスが激減します。
| 区分 | 表示桁 | PointsPerPip | Spread=20 のpips |
|---|---|---|---|
| 通貨(5桁) | 5 | 10 | 2.0 pips |
| 通貨(3桁) | 3 | 10 | 2.0 pips |
| 旧4桁通貨 | 4 | 1 | 20 pips |
| XAUUSD(2桁) | 2 | 1 | 20 pips |
| XAUUSD(3桁) | 3 | 10 | 2.0 pips |
よくある誤解をここで解消:ミニQ&A
初心者がつまずきやすい論点を一問一答で整理。短時間で“危険な思い込み”を潰せます。
Q. テスターのSpreadはpips入力? → いいえ、pointsです。
Q. 金は10pt=1pip? → 3桁表示ならYes、2桁表示なら1pt=1pipです。
Q. 一般定義で使うには? → Autoにして起動ログでPtPerPipを確認。
Q. EAが入らない最頻原因は? → スプレッドの単位ズレ。次いでUTC設定のズレ。
まとめ:points入力を正しくpips換算すれば、EAは素直に動く
テスターはpoints入力、pips換算はDigits依存。
-
5桁 / 3桁→ 1 pip = 10 points(= Spread[pips] は points÷10)
例:EURUSD 1.23456、USDJPY 123.456、XAUUSD 3桁表示 -
4桁 / 2桁→ 1 pip = 1 point(= Spread[pips] は points÷1)
例:旧4桁通貨、XAUUSD 2桁表示
この一点を守るだけで、スプレッドの思い違いによる「EAが入らない」を根こそぎ減らせます。
一般定義で運用したいならAuto+起動ログ確認が最短経路。最初の1分でDigitsと換算を確かめる習慣が、バックテストの信頼性とEAの安定性を大きく引き上げます。
