[MT4] pips とpoint の使い分け
Metatrader の point(s) と pip(s) の使い分け方について私見ですが書いてみようと思います。
まずは簡単に違いから。
詳しい違いについては以下を参考にしてください
MT4のpoint(ポイント)とpips(ピップス)の違い | MT4ラボ|メタトレーダーの使い方/EA・インジケーター検証
pip
pip(s) は為替取引で使われる単位で、一般的には 以下で表されます。
- 対円 0.01円 = 1pip
- その他 0.0001 = 1pip
ただし、ブローカーによっては、変動の最小単位(後に説明する Point と同等)を pip として扱っているところがある(らしい)ので注意が必要。
参考
point
point(s) は Metatrader 独自の単位です1。 各通貨ペアで扱える最小変動幅を指します。
たとえば、以下の例だと
- EURUSD $0.00001 = 1 point
- USDJPY 0.001円 = 1 point
となります。
重要なのは、この Point の値が ブローカーによって異なる ということ。 上記の数値は他のブローカーに接続すると変わる可能性があるのです。
どう使い分けるべきか
あくまで私個人の意見ですが、基本的に MQL プログラムの中では pip は使わず point で統一するのが良いかと思います。 Metatrader の中に pip という概念はなく、全てが point で処理されているからです。
もちろん、一度 pip に変換することによってブローカー間の差分を吸収することが出来るというメリットはあります。 ただ、私個人は数年間 Metatrader を使ってきてそのメリットを感じたことがありません。 というのも、以下のルールを守っているからです。
- point の値をハードコーディングしない2。
このルールを守ることにより、ブローカーの差分は全てパラメータに出て行くので、それらを吸収する必要がありません。
例えば、スプレッドの最大値を設定したい場合、コードの中にその値を書くのではなく、パラメータにします3。
11 | input uint MaxSpread = 0; // Max Spread (point) |
このルールは point に限らず、あらゆるパラメータに適用しておくことで無用なトラブルを避けることができます。