Процент маржи - страница 2

 
Taras Slobodyanik:

По-моему это гораздо проще - в цикле перебираем все символы, находим "margin_currency и account_currency", и умножаем (или делим) на значение аска. (20 строк со скобками)


пс. вот пример неправильного расчета Margin Percentage
(брокер ставит значения "от фонаря") 
это реальный счет


По значению 'от фонаря' не совсем понял, поясните?


По конвертеру валют да, возможно вы правы. Я просто взял кусок кода из старого сишного мт-проекта (там был конвертер из абсолютно любой валюты в любую), причесал его немного под mql, и использую :)

Ну подождите. Если у меня счет евро, маржа в BTC, и что дальше (BTCEUR нет)? Да в принципе можно много накопать примеров, пусть будет универсальный.

 
mql_writer2:

По значению 'от фонаря' не совсем понял, поясните?

На том скриншоте видно что все значения маржи равны 0, то есть брокер не прописал их, и формулы не работают.

ок, добавляем проверку на нулевую маржу, и если это так, считаем маржу сами: MODE_ASK * ContractSize, плюс конвертируем в валюту маржи.
На некоторых символах это срабатывает - процент считается правильно.
Но, дальше появляются символы с такими же свойствами, но на которых это уже не работает, маржа там в спецификации в 20 раз меньше.

То есть ищем следующую формулу конкретно для таких символов... и так по кругу)

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

mql_writer2:

По конвертеру валют да, возможно вы правы. Я просто взял кусок кода из старого сишного мт-проекта (там был конвертер из абсолютно любой валюты в любую), причесал его немного под mql, и использую :)

Ну подождите. Если у меня счет евро, маржа в BTC, и что дальше (BTCEUR нет)? Да в принципе можно много накопать примеров, пусть будет универсальный.

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

 
Taras Slobodyanik:

На том скриншоте видно что все значения маржи равны 0, то есть брокер не прописал их, и формулы не работают.

ок, добавляем проверку на нулевую маржу, и если это так, считаем маржу сами: MODE_ASK * ContractSize, плюс конвертируем в валюту маржи.
На некоторых символах это срабатывает - процент считается правильно.
Но, дальше появляются символы с такими же свойствами, но на которых это уже не работает, маржа там в спецификации в 20 раз меньше.

То есть ищем следующую формулу конкретно для таких символов... и так по кругу)

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

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

По конвертации - ну пары не обязательно должны быть прямыми, через 2 пары думаю на сервере и происходит конвертация.

По скиншоту - 0 я так понял это из ваших расчетов получается, там же 10% в спецификации прописано. А что на том символе возвращает

MarketInfo(_Symbol, MODE_MARGINREQUIRED);

?

 
mql_writer2:

По скиншоту - 0 я так понял это из ваших расчетов получается, там же 10% в спецификации прописано. А что на том символе возвращает

?

не, это не из моих расчетов так получается, а из ваших - я подставил ваши формулы)
мои там показывают 10%

все значения видны на скриншоте

1

 
Ну пока и эти формулы работают, что я на прошлой странице в коде привел. Проверил на всех символах лайта и альпари (стандартные счета). Пусть пока так, а там если что будем думать дальше.
Причина обращения: