Проблемы с расчетом TickValue

 

Сегодня столкнулся с проблемой расчета TickValue для золота, а вчера все было нормально.


Для XAUUSD терминал выдает TickValue=0.1;

Однако это не может быть правильным!

Я считаю как:

      if(!m_symbol.Name(Mas_Fimq[i])) continue;
      m_symbol.Refresh();
      double TickValue=m_symbol.TickValue()*m_symbol.Point()/(m_symbol.TickSize());

По моему тесту можно обратить внимание, что для многих валютных пар TickValue вообще не определился (==0) это при присоединении тестовой программы на график.

Когда я ее перекомпилировал не снимая с графика, результаты изменились. (они начинаются ***).

Интересно, что при следующих пробах присоединять тест на график и снимать его, нулевые TickValue уже не появлялись


Но меня, главное, сейчас волнует золото, каким должно быть правильное значение TickValue?

XAUUSD - Gold vs US Dollar - Котировки драгоценных металлов онлайн
XAUUSD - Gold vs US Dollar - Котировки драгоценных металлов онлайн
  • 2024.08.07
  • www.mql5.com
XAUUSD - Gold vs US Dollar - Графики цен на цветные драгоценные металлы с мировых бирж. Просматривайте историю цен, анализируйте с помощью индикаторов и популярных инструментов. Выбирайте нужные и размещайте графики на сайтах или в социальных сетях.
 
Aleksander Gladkov:

Сегодня столкнулся с проблемой расчета TickValue для золота, а вчера все было нормально.


Для XAUUSD терминал выдает TickValue=0.1;

Однако это не может быть правильным!

Если валюта депозита USD,  то все правильно. Единственное, что интересно, это величина Point() для золота: три значащих цифры после запятой, а не две? Такого пока не встречал, но, видимо, какой-то ДЦ уже увеличил точность котировок.

 
Aleksander Gladkov:

Сегодня столкнулся с проблемой расчета TickValue для золота, а вчера все было нормально.


Вероятно ваш брокер поменял точность представления цен золота с 2 знаков на 3.
 

Возможно для XAUUSD TickValue=0.1; это правильно.

Однако меня смущает то, что вчера я столкнулся с ситуацией EURJPY:

  • просоединение cоветника к графику показывало TickValue=0.68
  • в тестере стратегий советник показывал TickValue=100 и тест EURJPY проваливался!

Сегодня у меня провалился тест по XAUUSD (а  EURJPY починился) и я не вижу причины для этого.

Какое значение TickValue для XAUUSD было прежде я не зафиксировал.

Я взял старую версию советника для которой у меня есть результаты тестирования XAUUSD и запустил ее сегодня с теми же настройками.

Если прежде было 1800 операций, то теперь 600!

Что изменилось в тестере?

 
Stanislav Korotky #:
Вероятно ваш брокер поменял точность представления цен золота с 2 знаков на 3.

К сожалению в отчете тестера нет ни одной котировки, но судя по колонке "Цена" в которой 0.000, а хотелось бы иметь реальную цену, было тоже 3 знака.


 

Это фантастика!

Смотрите сами:

Было:

Стало:


То есть теперь для получения той же прибыли на одном и том же лоте надо изменение курса в 10 раз больше!

Похоже раньше TickValue был равен 1, а теперь 0.1.

И с этим к брокеру?

 
Aleksander Gladkov #:

Это фантастика!

Смотрите сами:

Было:

Стало:


То есть теперь для получения той же прибыли на одном и том же лоте надо изменение курса в 10 раз больше!

Похоже раньше TickValue был равен 1, а теперь 0.1.

И с этим к брокеру?

Возможно, значительно изменилась комиссия.

 
Aleksander Gladkov #:
Это фантастика!
никакой фантастики, спред берётся текущий с интсрумента, вот и разные результаты на разном проходе...
 

Я посмотрел историю реальной торговли советника в прошлом.

Оказывается ситуация с завышением значения TickValue=1 на XAUUSD касалась только тестера стратегий.

Эта версия советника в реале торговала правильно TickValue=0.1

То есть изменение курса на 1000 поинтов давало прибыль 100 центов

 

Суть проблемы определилась:

Формула

double TickValue=m_symbol.TickValue()*m_symbol.Point()/(m_symbol.TickSize());

для работы советника на графике и в тестере стратегий терминала МТ5 давало разные значения для XAUUSD.

Причем это длилось достаточно долгое время, что зафиксировано в моих отчетах.

Возможно это связано с повышенной точностью котировки золота у моего дилера (3 знака).

Но не возможно объяснить аномалию с расчетом для USDJPY, когда тестр стратегий упорно показывал TickValue =100; а на графике было TickValue =0.7;

В настоящее время, кажется, терминал МТ5 работает правильно.

Однако осадок остался и придется контролировать значение TickValue в тестере стратегий.