Я пытаюсь определить значение пипса для CFD в Metatrader4 (язык MQL4). Найти значения пунктов для валютных пар несложно, но, по-видимому, для CFD (индексы, металлы и т. Д. c.) Не очень понятно, что использовать, поскольку то, что называется контрактами , тиками и баллов совсем отключены. Кроме того, это зависит от валюты, используемой для оценки индекса. (Т.е. DEX - это EUR, а Nikkei - это JPY.) Таким образом, существует дополнительная конверсия, которая выглядит просто некрасиво и громоздко.
В частности, для CFD Nikkei 225 (известной в MT4 как JP225
(от ICM) ) и в TradingView как NI225 .)
Предполагая 1 лот для FX, я использую это:
...
point = Point;
if((Digits==3) || (Digits==5)) point*=10;
double pipValue = (((MarketInfo(Symbol(),MODE_TICKVALUE)*point)/MarketInfo(Symbol(),MODE_TICKSIZE))*LotSize);
Print("INFO: pipValue=" + DoubleToStr(pipValue,Digits));
Но это дает 0.0000
, что, очевидно, неправильно.
Где-то, закопанным в форумах, был следующий текст:
1 index point (1.0) = 1 JPY
For 10 Nikkei contracts, the pip-value = 10 JPY
The price for 10 contracts = 10*(price level) JPY
The pipValue in USD = 10 JPY/(USDJPY)
Как этот процесс можно автоматизировать и рассчитать для любого индекса или пары FX?
Возможно связанные, но крайне запутанные сообщения и проблемы на форуме: