авто определение типа лота - страница 2

 
supremum:

1) То есть хоть микро, хоть мини, хоть классик все равно для XXX\YYY размер контракта , возвращаемый SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE), всегда измеряется в количестве XXX? 

2) Простите за вопрос, вы разработчик MT5? Тоесть это не просто ваше предположение, а документированное свойство? 

Из справки по языку - SymbolInfoDouble()

SYMBOL_TRADE_CONTRACT_SIZE

Размер торгового контракта

double


Для Forex это 100 000 единиц базовой валюты (т.е в EURUSD 1 лот = 100 000 EUR).

При этом это характеристика конкретного символа, которая устанавливается в спецификации конкретного брокера.

Используя эту характеристику невозможно понять какой торговый счет используется (BASE, mini или micro).

Все что можно автоматически узнать о счете на прямую находится тут.

Узнать какая именно валюта депозита можно при помощи - AccountInfoString()

ACCOUNT_CURRENCY

Валюта депозита

string

Но определить какой счет однозначно это не позволит.

Если у брокера существуют два вида счетов (BASE и mini) с лотами 0,10 и 0,01, то можно дополнительно воспользоваться следующими свойствами

YMBOL_VOLUME_MIN

Минимальный объем для заключения сделки

double

SYMBOL_VOLUME_MAX

Максимальный объем для заключения сделки

double

SYMBOL_VOLUME_STEP

Минимальный шаг изменения объема для заключения сделки

double


Но, по прежнему,однозначно определить какой это счет невозможно (особенно если необходимо определить является ли счет центовым).

PS

Более или менее однозначно определить (насколько я знаю) принадлежность счета можно при помощи свойств

ENUM_ACCOUNT_INFO_STRING

Идентификатор

Описание

Тип свойства

ACCOUNT_NAME

Имя клиента

string

ACCOUNT_SERVER

Имя торгового сервера

string

ACCOUNT_CURRENCY

Валюта депозита

string

ACCOUNT_COMPANY

Имя компании, обслуживающей счет

string


Правда следует учесть, что данный способ сработает только при работе с одним брокером и однозначной принадлежности типа счета конкретному серверу.

 
Interesting:

Из справки по языку - SymbolInfoDouble()

SYMBOL_TRADE_CONTRACT_SIZE

Размер торгового контракта

double

Я читать умею. В посте уже есть уточненный вопрос. Какая единица измерения используется (всегда базовая валюта или возможны центы/копейки, всегда тройские унции или возможны граммы)?  В справке про это ничего не сказано. Мне нужны не предположения пользователей, а официальный комментарий разработчиков MT5.
 
supremum:
Я читать умею. В посте уже есть уточненный вопрос. Какая единица измерения используется (всегда базовая валюта или возможны центы/копейки, всегда тройские унции или возможны граммы)?  В справке про это ничего не сказано. Мне нужны не предположения пользователей, а официальный комментарий разработчиков MT5.

Тут однозначного ответа нет. Все зависит от спецификации конкретного ДЦ.

Таким образом если существует мини (баксовый) и микро (центы) счета, с минимальными лотами по EURUSD 0,01 - однозначно определить счет будет затруднительно, поскольку:

1. SYMBOL_TRADE_CONTRACT_SIZE - По идею для этих счетов вернет 100 000 EUR (базовой валюты);

По символу USDJPY данное свойство вернет 100 000 USD (без уточнения баксы это или центы).

2. SYMBOL_VOLUME_MIN - Вернет 0,01;

3. ACCOUNT_CURRENCY - Вернет USD (без уточнения баксы это или центы).

А центовый счет это или нет узнать не получится, поскольку такого свойства у счета в MQL5 нет (по крайней мере пока).


 
Interesting:

Тут однозначного ответа нет. Все зависит от спецификации конкретного ДЦ.


Но ведь эту неопределенность снять очень просто. Достаточно в документации на MT5 написать более четко. А то если следовать по логике "зависит от спецификации" то у ДЦ может и SELL вдруг стать BUY. Надо более четко писать спецификации.

Со стороны разработчиков MT5 меня бы вполне удовлетворило внесение уточнений в документацию.

 
supremum:

1) То есть хоть микро, хоть мини, хоть классик все равно для XXX\YYY размер контракта , возвращаемый SymbolInfoDouble(Symbol(), SYMBOL_TRADE_CONTRACT_SIZE), всегда измеряется в количестве XXX? 

2) Простите за вопрос, вы разработчик MT5? Тоесть это не просто ваше предположение, а документированное свойство? 

а вы что? не видите куда пишите? это форум, а не Сервисдеск...  
Причина обращения: