PureBytes Links
Trading Reference Links
|
> But, according to help,
> MinMove*PriceScale*BPV = $value of smallest change in price. For EUR,
> MinMove*(1/10000)*125000 = $12.5 (a tick) so MinMove = 1.0
That's right. What you're missing is when it makes sense to have
a non-zero value of MinMove.
Consider ES. It has a tick size of 0.25. You could choose 1/4
as your PriceScale, but then TS would give you quotes in 1/4's.
You want quotes in 1/100's, but the instrument doesn't move in
1/100's.
So you set your PriceScale to 1/100, and your MinMove to 25.
That means the minimum tick size is 25 * 1/100 = 0.25 big point.
The dollar value of the tick size is BPV*MinMove*PriceScale =
$12.50.
> Maybe TS pays no attention to whatever we set as MinMove? Only RS &
> OS cares?
Oh no. Everything cares. BPV, PriceScale, and MinMove determine
how GS stores the data. Internally (at least in TS2k and
earlier, I don't know about TS7/8) TS stores prices as integer
values, basically storing the tick offset from a base value. (I
don't remember how they determine the base value. I believe a
new base value is chosen every N quotes, but I'm not sure.)
In the case of ES, if the base value was 1200 and the current
price was 1201.25, that's 5 ticks off the base value so TS stores
a 5. FWIW you could specify a PriceScale of 1/100 and a MinMove
of 1 for ES; this would mean that TS would internally allow moves
as small as 0.01, and the internal value for 1201.25 would be
125. Two different values stored internally, but the external
result is the same. The major difference is the size of price
you can represent.
In TS2k and earlier, you are limited to (if I remember right) a
16-bit integer for the price offset representation. This became
an issue with the ND back around 2000, when the ND price got so
high. The ND PriceScale was 1/100, and the price got high enough
that TS couldn't represent the price with granularity that small.
If you changed it to 1/10, then TS had 10x more headroom and it
could represent the price with no difficulty.
Gary
|