Скачать MetaTrader 5

OrderCalcMargin в mql4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
gashik
48
gashik  

Может не умею поиском пользоваться, но не подскажите как ее реализовать?

Проблема в том, что MarketInfo(Symbol(), MODE_MARGINREQUIRED) как-то не верно делает расчет

Вот пример, MarketInfo(Symbol(), MODE_MARGINREQUIRED) возвращает 332,560*100=33256 долларов. Почему-то при небольшом обьеме так и есть, но если увеличивать обьем ордера, цифры не совпадают 33256!=85281.

Vitalie Postolache
12428
Vitalie Postolache  

А причём тут "но если увеличивать обьем"? MODE_MARGINREQUIRED возвращает залог на 1 (один) лот в валюте депозита, с учётом плеча. Судя по залогу, ДЦ изменил плечо на 200:1, а было 500:1 во время вызова MODE_MARGINREQUIRED.

А что в контракте у них написано насчёт плеча и больших объёмов?

gashik
48
gashik  

А понял, наверное.

Это демо-счет альпари. http://www.alpari.ru/ru/trading/margin_requirements/

Тогда попутный вопрос, а можно в как-то получить плечо для плавающего залога? Или это нереально?

Alexey Viktorov
11356
Alexey Viktorov  
gashik:

А понял, наверное.

Это демо-счет альпари. http://www.alpari.ru/ru/trading/margin_requirements/

Тогда попутный вопрос, а можно в как-то получить плечо для плавающего залога? Или это нереально?

Может это поможет? https://docs.mql4.com/ru/account/accountleverage
gashik
48
gashik  
ну так он вернет значение плеча счета. В данном случае 500. Как раз то, что будет при "малых" обьемах. Вопрос в том как получить все плечи по условию контракта
Vitalie Postolache
12428
Vitalie Postolache  
роботом никак, только если научить его читать контракты за вас )
gashik
48
gashik  

Да я уже подумываю в массив запихать. Только придется под каждый ДЦ или тип счета свои условия постоянно менять.

Для справки. Проверил OrderCalcMargin в mt5 - он тоже не умеет пересчитывать.

Alexey Viktorov
11356
Alexey Viktorov  
Может получится разностью AccountFreeMargin() - AccountFreeMarginCheck() решить вопрос? По сути это будет размер маржи за указанный размер лота. И отсюда можно вычислить размер плеча.
gashik
48
gashik  
Спасибо, может и поможет, но только не в моем случае. Моя задача оценить стратегию, т.е. работа не только с уже открытыми сделками, а с возможно открытыми в будущем на определенных уровнях и выводом в виде комментов.
Alexey Viktorov
11356
Alexey Viktorov  

Решать-то конечно Вам, но эти функции не требуют открытия ордера. Я на память не помню формулу вычисления маржи, но точно помню что там учитывается плечо, соответственно преобразовав формулу и зная маржу за указанный лот можно вычислить плечо. Что и требуется...

Gulnaz Akhtyamova
10620
Gulnaz Akhtyamova  
gashik:

Может не умею поиском пользоваться, но не подскажите как ее реализовать?

Проблема в том, что MarketInfo(Symbol(), MODE_MARGINREQUIRED) как-то не верно делает расчет

Вот пример, MarketInfo(Symbol(), MODE_MARGINREQUIRED) возвращает 332,560*100=33256 долларов. Почему-то при небольшом обьеме так и есть, но если увеличивать обьем ордера, цифры не совпадают 33256!=85281.

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

либо открыт не один ордер (показано не всё) .

Других вариантов нет

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий