Некорректная стоимость тика или размер контракта

 

Часто сталкиваюсь с такой ситуацией, когда по некоторым символам заданы некорректные значения стоимости тика или размера контракта.  

Для примера возьмём XAGUSD с сервера Metaquotes-Demo.

Смотрим спецификацию и видим, что стоимость тика = 0.5

XAUGUSD specification


Прогоняем его в тестере каким-нибудь советником (в онлайне символ не торгуемый) и смотрим результаты:

XAGUSD tester results

По значениям прибылей легко вычисляется стоимость пункта (тика) :   -585 / (-0.117 / 0.001)  = 585 / 117  = 5 долларов.   А вовсе не 0.5


Другой пример. Символ VTBR-6.18 с того же сервера.

Смотрим спецификацию и видим, что размер контракта = 100 000:

VTBR-6.18 specification

Это число вообще непонятно откуда упало, порядок цифр дикий.  Наверное кто-то перепутал с форексными символами, у которых такие размеры контрактов.


И такие случаи не редкость.   Проблема в том, что в МТ не учтена фундаментальная взаимосвязь между этими параметрами:

TickValue = TickSize * ContractSize

Таким образом, первом примере мы получаем:  TickValue = 0.001 * 5000  = 5.

Во втором примере:  ContractSize = TickValue / TickSize  = 1.0 / 1  = 1.

Т.е. по двум известным параметрам можно вычислить третий.   Или другими словами, необходимыми являются лишь два параметра, а третий является вычисляемым. 

Однако в МТ все три параметра хранятся как независимые величины.  Это и приводит к таким расхождениям и неувязками,  т.к. в третьей переменной может содержаться любой мусор, как и продемонстрировано в моих примерах.

Замечу, что на работоспособности МТ это обычно не сказывается, т.к. эти "мусорные значения" не участвует в каких-либо расчётах.  Согласно принятой методике расчётов, описанной в документации, в одних случаях игнорируется TickPrice, а в других ContractSize.   Хотя фактически все методики расчёта прибыли идентичны (могут быть математически преобразованы друг к другу), учитывая приведённую мною выше зависимость.  Ну да не суть.  Главное, чтобы все значения параметров были корректными.  А вот с этим проблема.

Поэтому прошу сделать так, чтобы все значения параметров были увязаны друг с другом.  Иначе какой толк от такой спецификации, где значения не верны, взяты с потолка?

 
Alexey Navoykov:

Часто сталкиваюсь с такой ситуацией, когда по некоторым символам заданы некорректные значения стоимости тика или размера контракта.  

Для примера возьмём XAGUSD с сервера Metaquotes-Demo.

Смотрим спецификацию и видим, что стоимость тика = 0.5



Прогоняем его в тестере каким-нибудь советником (в онлайне символ не торгуемый) и смотрим результаты:


По значениям прибылей легко вычисляется стоимость пункта (тика) :   -585 / (-0.117 / 0.001)  = 585 / 117  = 5 долларов.   А вовсе не 0.5


Другой пример. Символ VTBR-6.18 с того же сервера.

Смотрим спецификацию и видим, что размер контракта = 100 000:


Это число вообще непонятно откуда упало, порядок цифр дикий.  Наверное кто-то перепутал с форексными символами, у которых такие размеры контрактов.


И такие случаи не редкость.   Проблема в том, что в МТ не учтена фундаментальная взаимосвязь между этими параметрами:

TickValue = TickSize * ContractSize

Таким образом, первом примере мы получаем:  TickValue = 0.001 * 5000  = 5.

Во втором примере:  ContractSize = TickValue / TickSize  = 1.0 / 1  = 1.

Т.е. по двум известным параметрам можно вычислить третий.   Или другими словами, необходимыми являются лишь два параметра, а третий является вычисляемым. 

Однако в МТ все три параметра хранятся как независимые величины.  Это и приводит к таким расхождениям и неувязками,  т.к. в третьей переменной может содержаться любой мусор, как и продемонстрировано в моих примерах.

Замечу, что на работоспособности МТ это обычно не сказывается, т.к. эти "мусорные значения" не участвует в каких-либо расчётах.  Согласно принятой методике расчётов, описанной в документации, в одних случаях игнорируется TickPrice, а в других ContractSize.   Хотя зачем вообще было устраивать этот винегрет с методиками расчёта, если все они по сути идентичны (могут быть математически преобразованы друг к другу), учитывая приведённую мною выше зависимость.  От перестановки множителей произведение не меняется.  Ну да это не суть.  Главное, чтобы все значения параметров были корректными.  А вот с этим проблема.

Поэтому прошу сделать так, чтобы все значения параметров были увязаны друг с другом.  Иначе какой толк от такой спецификации, где значения не верны, взяты с потолка?

У Вас "мусор" в голове от незнания вопроса.

Прежде, чем строчить что-то, нужно почитать об этом.

 
prostotrader:

У Вас "мусор" в голове от незнания вопроса.

Прежде, чем строчить что-то, нужно почитать об этом.

Если по делу сказать нечего, то проходите мимо.

 
prostotrader:

У Вас "мусор" в голове от незнания вопроса.

Прежде, чем строчить что-то, нужно почитать об этом.

Прошу быть дружелюбней, Михаил. Почему на русскоязычных форумах мы часто сходу "хвалим" задавшего вопрос?

 
Rashid Umarov:

Прошу быть дружелюбней, Михаил. Почему на русскоязычных форумах мы часто сходу "хвалим" задавшего вопрос?

Прошу прощения. Но здесь налицо полное незнание вопроса.

 
prostotrader:

Прошу прощения. Но здесь налицо полное незнание вопроса.

Так объясни человеку !

Я вот тоже на золоте сталкивался с тем, что размер тика неверный.  Так и не понял, в чем проблема - на всех остальных парах все в порядке.

Вот, расскажи, как правильно.

 
Alexey Navoykov:

Часто сталкиваюсь с такой ситуацией, когда по некоторым символам заданы некорректные значения стоимости тика или размера контракта.  

Для примера возьмём XAGUSD с сервера Metaquotes-Demo.

Смотрим спецификацию и видим, что стоимость тика = 0.5



Прогоняем его в тестере каким-нибудь советником (в онлайне символ не торгуемый) и смотрим результаты:


По значениям прибылей легко вычисляется стоимость пункта (тика) :   -585 / (-0.117 / 0.001)  = 585 / 117  = 5 долларов.   А вовсе не 0.5


Другой пример. Символ VTBR-6.18 с того же сервера.

Смотрим спецификацию и видим, что размер контракта = 100 000:


Это число вообще непонятно откуда упало, порядок цифр дикий.  Наверное кто-то перепутал с форексными символами, у которых такие размеры контрактов.


И такие случаи не редкость.   Проблема в том, что в МТ не учтена фундаментальная взаимосвязь между этими параметрами:

TickValue = TickSize * ContractSize

Таким образом, первом примере мы получаем:  TickValue = 0.001 * 5000  = 5.

Во втором примере:  ContractSize = TickValue / TickSize  = 1.0 / 1  = 1.

Т.е. по двум известным параметрам можно вычислить третий.   Или другими словами, необходимыми являются лишь два параметра, а третий является вычисляемым. 

Однако в МТ все три параметра хранятся как независимые величины.  Это и приводит к таким расхождениям и неувязками,  т.к. в третьей переменной может содержаться любой мусор, как и продемонстрировано в моих примерах.

Замечу, что на работоспособности МТ это обычно не сказывается, т.к. эти "мусорные значения" не участвует в каких-либо расчётах.  Согласно принятой методике расчётов, описанной в документации, в одних случаях игнорируется TickPrice, а в других ContractSize.   Хотя фактически все методики расчёта прибыли идентичны (могут быть математически преобразованы друг к другу), учитывая приведённую мною выше зависимость.  Ну да не суть.  Главное, чтобы все значения параметров были корректными.  А вот с этим проблема.

Поэтому прошу сделать так, чтобы все значения параметров были увязаны друг с другом.  Иначе какой толк от такой спецификации, где значения не верны, взяты с потолка?

Зачем вам это нужно и где вы собираетесь это использовать?
Так будет проще  объяснить я думаю. 
 

Насчет серебране знаю, где смотреть.

А контракты московской биржи можно посмотреть на ее сайте.

Так что все ОК.

Фишка в том, что акции ВТБ стоят 4,7 копейки.

 

TickValue = TickSize * ContractSize

Не верно. TickSize = размер шага цены.

TickValue = цена этого шага.

 
Ramiz Mavludov:
Зачем вам это нужно и где вы собираетесь это использовать?
Так будет проще  объяснить я думаю. 

Т.е. вы спрашиваете меня, зачем нужна спецификация контрактов или что?

Мы допустим хотим открыть сделку по какому-то символу, но для этого нужно знать информацию о размере контракта, либо о стоимости тика, чтобы понять, какой объём сделки нам нужен, исходя из расчётных рисков.

Вот на примере серебра.  Мы определили по графику некий потенциал движения, размер тейка и стопа.  Допустим стоп около 100 тиков.   Мы смотрим в спецификации, что стоимость тика = 0.5 USD.   Значит с 1 лота мы потеряем 50 долларов.  Это для нас приемлемо, и мы открываем сделку объёмом 1 лот.  А потом выясняется, что на самом деле стоимость тика = 5 долларов, и мы рискуем 500 долларами!

 
Ilya Baranov:

Насчет серебране знаю, где смотреть.

А контракты московской биржи можно посмотреть на ее сайте.

Так что все ОК.

Фишка в том, что акции ВТБ стоят 4,7 копейки.

Да, тут дело в том, что котируется не единица актива (акция), а сам лот,  что и указано в графе "Котировка:  в рублях за лот".   Т.е. по сути, единицей контракта (базовым активом) здесь является 100000 акций, а размер контракта (количество базового актива) соответственно равно 1 , поэтому ничего домножать не надо.  Возможно на данной конкретной бирже так принято, не знаю.  Но это не является распространённой ситуацией.

Вот например спецификация нефтяного фьючерса c биржи CME:  

Crude oil specification


Как видно, здесь размер тика применим к единице актива (баррелю), и котировки идут тоже за баррель.


Или вот ещё пример фьючерса на соевые бобы с биржи ICE:

 Soybean specification


Здесь оба варианта указаны:  и за бушель, и за весь контракт.   Но котируется именно бушель.


В общем, нужно в МТ в спецификацию контракта добавить соответствующий параметр, указывающий, к чему применяется размер тика:  к единице актива или к контракту.   Либо же сделать всё в едином стандарте, чтобы всегда показывалось только за единицу актива.    А сейчас возникает неоднозначность и путаница.

Вот я проверил на своём биржевом счёте в Just2Trade: там для фьючерса ВТБ размер контракта =1,  а размер и стоимость тика те же:  1 / 1.