Как получить программно "Процент маржи" - страница 2

 
Alexey Viktorov:

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

Как из той формулы получить требуемое:

Сама формула - Margin = Lots *ContractSize*MarketPrice*Percentage/100

Отсюда Percentage = Margin/(Lots *ContractSize*MarketPrice/100)

Пока в списке устаревших функций такая не числится. Вот она и выдаёт недостающее значение для определения процента маржи.

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

Если надо для mql5 то надо использовать

Норм.

Плечо на маржу не повлияет? Может быть добавить в формулу коэффициент: 100/плечо ?

 
Renat Akhtyamov:

Норм.

Плечо на маржу не повлияет? Может быть добавить в формулу коэффициент: 100/плечо ?

Плечо вообще за пределами основной формулы Margin = (Lots*ContractSize*MarketPrice*Percentage)/Leverage, потому я и не учитывал его. Для определения того о чём вопрос плечо совсем как корове седло. А вот дальше оно может и потребоваться, но это уже не касается текущего вопроса...

 
Alexey Viktorov:

Плечо вообще за пределами основной формулы Margin = (Lots*ContractSize*MarketPrice*Percentage)/Leverage, потому я и не учитывал его. Для определения того о чём вопрос плечо совсем как корове седло. А вот дальше оно может и потребоваться, но это уже за пределами текущего вопроса...

маржа в процентах может быть только от чего то (в д.сл. от депозита) с учетом минимального лота. Плечо как раз "при чём"
 
Renat Akhtyamov:
маржа в процентах может быть только от чего то (в д.сл. от депозита) с учетом минимального лота. Плечо как раз "при чём"
Ренат, не надо так спешить. Прочти всё с первого поста, о чём был вопрос...
 
Alexey Viktorov:

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

Как из той формулы получить требуемое:

Сама формула - Margin = Lots *ContractSize*MarketPrice*Percentage/100

Отсюда Percentage = Margin/(Lots *ContractSize*MarketPrice/100)

Пока в списке устаревших функций такая не числится. Вот она и выдаёт недостающее значение для определения процента маржи.

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

Если надо для mql5 то надо использовать


Здравствуйте, мне вот например хотелось бы рассчитать маржу отдельно для золота (независимо от других инструментов). Подскажите как это сделать, если неизвестен процент маржи? Потому что в данном случае у нас уже два незвестных: как сама маржа, так и процент маржи...
 
K-2SO:

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

В моём ответе есть всё чтобы посчитать всё необходимое.

MarketInfo(_Symbol, MODE_MARGINREQUIRED); // Размер свободных средств, необходимых для открытия 1 лота на покупку
Но, это не маржа взятая в момент открытия ордера, а маржа в настоящее время, по текущей цене. Остаётся только одно неизвестное, тот самый процент маржи который вовсе не процент, которое и считается из формулы. Дальше остаётся только цена несоответствующая прошлому. И опять-же пользуясь всё той-же формулой считаем маржу по соответствующей цене.

Ошибка в расчётах может составлять пару копеек, но это издержки округления.

MarketInfo - Получение рыночной информации - Справочник MQL4
MarketInfo - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
MarketInfo - Получение рыночной информации - Справочник MQL4
 
Мдя... Вроде простой вопрос, а развели полемику... :) Я понимаю, что тут все умные люди и каждый, по своему, гений. Но...
Renat Akhtyamov:

если нужно на МТ5, то Вам в другой раздел форума.

А я разве привел скрин из МТ5 или создал тему в разделе не для МТ4
Renat Akhtyamov:

не удивили Вы общеизвестными познаниями, точнее хуже:

Я сюда не удивлять вас зашел, а получить простой ответ на простой вопрос.
Alexey Viktorov:

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

Вот я как раз и не просил никого ни о чем фантазировать. Вы сами тут в дебри полезли.
Alexey Viktorov:

Как из той формулы получить требуемое:

Сама формула - Margin = Lots *ContractSize*MarketPrice*Percentage/100

Отсюда Percentage = Margin/(Lots *ContractSize*MarketPrice/100)

Как из формулы вывести нужное значение, я как бы и сам в курсе. С математикой дружим. Вопрос-то был не в том, как расчитать, а в том, как получить от терминала .

Alexey Viktorov:

Если надо для mql5 то надо использовать

Опять MQL5...

Попробую перефразировать вопрос... Мне не нужно расчитать это значение, мне не нужно вывести формулу для расчета этого значения. Мне нужно имя константы(или ее числовое значение), подставив которое в запрос SymbolInfoDouble() я смог бы получить нужное мне значение от терминала. Фсе! :)

 
ir0407:
Мдя... Вроде простой вопрос, а развели полемику... :)А я разве привел скрин из МТ5 или создал тему в разделе не для МТ4Я сюда не удивлять вас зашел, а получить простой ответ на простой вопрос.Вот я как раз и не просил никого ни о чем фантазировать. Вы сами тут в дебри полезли.Как из формулы вывести нужное значение, я как бы и сам в курсе. С математикой дружим. Вопрос-то был не в том, как расчитать, а в том, как получить от терминала .

Опять MQL5...

Попробую перефразировать вопрос... Мне не нужно расчитать это значение, мне не нужно вывести формулу для расчета этого значения. Мне нужно имя константы(или ее числовое значение), подставив которое в запрос SymbolInfoDouble() я смог бы получить нужное мне значение от терминала. Фсе! :)

В таком случае ответ однозначный.

НИКАК!!!

И никто не будет этого делать. Странный, однако, подход. Мне надо, а вы разработчики мне сделайте. Просто потому что я так хочу. Я искренне пытался помочь... но увы, не судьба...

 
Alexey Viktorov:

В моём ответе есть всё чтобы посчитать всё необходимое.

Но, это не маржа взятая в момент открытия ордера, а маржа в настоящее время, по текущей цене. Остаётся только одно неизвестное, тот самый процент маржи который вовсе не процент, которое и считается из формулы. Дальше остаётся только цена несоответствующая прошлому. И опять-же пользуясь всё той-же формулой считаем маржу по соответствующей цене.

Ошибка в расчётах может составлять пару копеек, но это издержки округления.

Можно провести простой эксперимент, сравнивая значение MARGINREQUIRED и выставляя реальные ордера размером в один лот на различных инструментах. И тогда станет понятно, что MARGINREQUIRED врет не только при продажах, но и на кросс-курсах.

А во-вторых при расчете общего залога по инструменту по всем его ордерам (золоте в данном случае) учитывать нужно именно цены открытия ордеров. Значение MARGINREQUIRED мне как бы вообще здесь ничего не дает.

 
K-2SO:

Можно провести простой эксперимент, сравнивая значение MARGINREQUIRED и выставляя реальные ордера размером в один лот на различных инструментах. И тогда станет понятно, что MARGINREQUIRED врет не только при продажах, но и на кросс-курсах.

А во-вторых при расчете общего залога по инструменту по всем его ордерам (золоте в данном случае) учитывать нужно именно цены открытия ордеров. Значение MARGINREQUIRED мне как бы вообще здесь ничего не дает.

Я не могу понять почему у вас не получается. Вот открыты 3 ордера и размер маржи соответствует подсчётам на все 100


Причина обращения: