Формула расхода маржи

 

Перекопал на эту тему сколько мог, но универсальной формулы так и не получилось. Примечание: оперируем значениями, возвращаемыми функцией MarketInfo(Symbol(), MODE_???) MT4

Описываю вопрос "на пальцах": 

У меня было на счёту $1000 (AccountFreeMargin() == 1000.00), я открыл покупку с лотом 1.0 - AccountFreeMargin() стало (например) $900.00. Итак, сразу задействовано $100.

Вопрос(1): как вычислить из чего состоят эти $100 из значений  MarketInfo (т.е. рассчитать, что будет именно $100.00)? Что-то вроде: MARGINREQUIREDSWAPLONG*SPREAD (это явно неверная формула)

Вопрос(2): цена изменилась на один пункт, как вычислить изменение свободной маржи?

Если для сделок продажи есть принципиальная разница - то какая? 

Похоже ещё должно быть какое-то преобразование валют, особенно, если инструмент не EURUSD, а что-то типа AUDCAD

 P.S. Давно бы уже сделали стандартными такие функции, наряду с вычислением заработка/потерь с одного пункта на лот... А то все форумы - наполовину этим исписаны, только невнятно.

 

Посмотрел Ваши ссылки. Всё это - на другие темы, очень косвенно касающиеся нужного вопроса. Интересно, но - бесполезно.

Мне надо рассчитать точное уменьшение свободной маржи, при открытии позиции из советника MT4. 

 
Thunderman:


1. заходим в гугл

2. набираем в строке поиска:

пример расчета маржи site:www.сайт_твоего_брокера.com

3. заходим и читаем (например)

 

По идее: MARGINREQUIRED + TICKVALUE*SPREAD

В данном случае (сразу после открытия, пока цена не сдвинулась) - TICKVALUE*SPREAD == OrderProfit()

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

 

 alsu:


1. заходим в гугл

2. набираем в строке поиска:

пример расчета маржи site:www.сайт_твоего_брокера.com

3. заходим и читаем (например)


Ещё раз: считаем, пользуясь функцией MarketInfo(...) MT4, а не из общей теории! Нет здесь ни плеча, ни размера лота, так как они уже учтены в значениях, возвращаемых MarketInfo(...)! Что ж никто вопрос то не может прочесть?

 
Thunderman:

По идее: MARGINREQUIRED + TICKVALUE*SPREAD

В данном случае (сразу после открытия, пока цена не сдвинулась) - TICKVALUE*SPREAD == OrderProfit()

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

 

 alsu:


Ещё раз: считаем, пользуясь функцией MarketInfo(...) MT4, а не из общей теории! Нет здесь ни плеча, ни размера лота, так как они уже учтены в значениях, возвращаемых MarketInfo(...)! Что ж никто вопрос то не может прочесть?


Equity - Marge = FreieMargin
 
pako:

Equity - Marge = FreieMargin


Вполне возможно, только как это поможет посчитать сколько у меня останется свободной маржи, после того, как я открою сделку? Вот есть у меня  AccountFreeMargin() == 1000.00, открываю продажу с лотом 1.24 по инструменту AUDCAD (только открыл - цена ещё не сдвинулась с места), чему теперь равно AccountFreeMargin() ? Причём, это надо знать до открытия, чтобы решить - можно открывать или не стоит.

 
Thunderman:


Вполне возможно, только как это поможет посчитать сколько у меня останется свободной маржи, после того, как я открою сделку? Вот есть у меня  AccountFreeMargin() == 1000.00, открываю продажу с лотом 1.24 по инструменту AUDCAD (только открыл - цена ещё не сдвинулась с места), чему теперь равно AccountFreeMargin() ? Причём, это надо знать до открытия, чтобы решить - можно открывать или не стоит.


Используйте функцию 
AccountFreeMarginCheck( string symbol, int cmd, double volume)
 

Например:

if(AccountFreeMarginCheck(Symbol(), OP_BUY, Lots))>0)
  { 
   //открываем ордер на покупку
  }
 

Насколько я понял вопрос, вас интересуют взаимосвязи величин

http://www.onix-trade.net/forum/topic/84230-создаем-интегральную-оценку-рейтинг-депозито/page__st__30__p__374756#entry374756 

 

на картинках всё расписано. 

 
Thunderman:


Вполне возможно, только как это поможет посчитать сколько у меня останется свободной маржи, после того, как я открою сделку? Вот есть у меня  AccountFreeMargin() == 1000.00, открываю продажу с лотом 1.24 по инструменту AUDCAD (только открыл - цена ещё не сдвинулась с места), чему теперь равно AccountFreeMargin() ? Причём, это надо знать до открытия, чтобы решить - можно открывать или не стоит.


у меня один лот евро/доллар  200евро   0,1лот  20евро 0,01лот 2евро

один пункт, одним лотом ~ 7евро 

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

баланс 1000 маржа 0 свободная маржа 1000

купили 1лот

баланс 1000 маржа 200 свободная маржа 800

цена упала на один пункт 1пункт 1лотом = 7

баланс 1000 маржа 200 свободная маржа 800-7 = 793

цена поднялась на один пункт

баланс 1000 маржа 200 свободная маржа 800 + 7 = 807 

 

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