2018年7月9日月曜日

[MQL4] Point と Tick の違い

[MarketInfo()](https://docs.mql4.com/marketinformation/marketinfo) で指定できるモードには `MODE_POINT` と `MODE_TICKSIZE` という項目があります。

何が違うのか気になりつつ、今まで放置してきたのですが、今回ちょっと時間が出来たので調べてみました。

結論としては…やはりよくわかりません。
私の環境では `MODE_POINT` と `MODE_TICKSIZE` は常に同じ値を返すので、検証しようにも出来ないのです。

ただ、ドキュメント等を読んで推測した結果、以下のような状況があり得るのではないかと思われます。

MODE_POINT0.001
MODE_TICKSIZE0.025
つまり、`MODE_POINT` は最小の桁を表すので必ず 10 の N乗になるNは整数。 それに対し、`MODE_TICKSIZE` は最小変動幅を表すので、様々な値を取りうる、ということですただし、最小桁は一致するはず。 しつこいですが、あくまで推測です。 誰か詳しい方がいたら教えてください。 なお、`MODE_TICKSIZE` が最後の変動幅を返すという記述を見かけたのですが、動作を確認してみたところ、少なくとも私の環境ではそのような動きはしませんでした。
2018/7/10 追記
[MarketInfo は使わない方が良いらしい](https://strategyofc.blogspot.com/2018/07/mql4-marketinfo.html) ので、[SymbolInfoDouble](https://www.mql5.com/en/docs/marketinformation/symbolinfodouble) の `SYMBOL_POINT` と `SYMBOL_TRADE_TICK_SIZE` でもやってみましたが、結果変わらず。