Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 891

 
leonerd:

Но вы не учитываете тут разнонаправленные ордера и коэффициент Margin hedge.

"направление ордера" учитывает AccountFreeMarginCheck https://docs.mql4.com/ru/account/accountfreemargincheck

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

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

про коэффициент, видимо речь идет о кредитном плече, были топики обсуждения, поиском по форуму "расчет маржи" должно найтись, давно не разбирался с этой темой, мало востребована

вот статья по теме, там вроде есть расчет маржи https://www.mql5.com/ru/articles/2555

AccountFreeMarginCheck - Информация о счете - Справочник MQL4
AccountFreeMarginCheck - Информация о счете - Справочник MQL4
  • docs.mql4.com
Размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете. Если свободных средств не хватает, то будет сгенерирована ошибка 134 (ERR_NOT_ENOUGH_MONEY).
 
Igor Makanu:

"направление ордера" учитывает AccountFreeMarginCheck https://docs.mql4.com/ru/account/accountfreemargincheck

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

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

про коэффициент, видимо речь идет о кредитном плече, были топики обсуждения, поиском по форуму "расчет маржи" должно найтись, давно не разбирался с этой темой, мало востребована

вот статья по теме, там вроде есть расчет маржи https://www.mql5.com/ru/articles/2555

AccountFreeMarginCheck предполагает, что это текущая цена. У меня цена не текущая. Другая.

 
SYMBOL_MARGIN_HEDGED нет аналога для МТ4?
 
leonerd:
SYMBOL_MARGIN_HEDGED нет аналога для МТ4?
MarketInfo(_Symbol, MODE_MARGINHEDGED);
 
Alexey Viktorov:

Спасибо. А по сабжу что скажете? Возможно ли расчитать то, что мне надо? Заранее маржу для ордеров, которые предстоит открыть, зная их цену и объем.

 

подскажите пожалуйста почему в программе не происходит некаких изменений и не показывает акции нефть и сырье

 
leonerd:

Спасибо. А по сабжу что скажете? Возможно ли расчитать то, что мне надо? Заранее маржу для ордеров, которые предстоит открыть, зная их цену и объем.

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

Наверное лучше посчитать сколько будет надо средств для открытия ордера в текущий момент.

Вот сказанул... но править не буду принципиально. Просто я уже пьян. Кому надо поймёте.

В общем, по уже сказанной причине, я не могу понять сам сабж. Может завтра разберусь. Но по любому, маржу отложенных ордеров посчитать НЕВОЗМОЖНО.

И ещё одно замечание: В момент открытия ордера маржа считается в полном объёме и только после открытия размер маржи корректируется в соответствии с MODE_MARGINHEDGED

Соответственно если надо рассчитать объём сделки для локирования убыточной озиции, то надо считать как открытие со 100% маржой и только после этого открывать дополнительный ордер в довесок на освободившиеся средства.

Если я чего-то не так понял... звиняйтя...

 
Alexey Viktorov:

Самое главное, ПРАВИЛЬНЫЙ.

Да спасибо не удобно эти ноли в принт выводить.

 
Ребята кто может помочь с таким вопросом. Я хочу объявить глобальную переменную неопределённого типа или произвольного типа. Далее эта переменная будет использоваться в функциях к которым применяются шаблоны. Т.е. получается вызывается функция и принимает допустим массив любого типа дальше происходят расчёты и результат вычисления будет возвращаться функцией а также будет присваиваться в эту переменную. Подразумевается передача 3ёх параметров это дата, дабл и инт и результат от расчётов этих параметров я хочу сохранить в переменную чтобы не взывать функцию 2ой раз. Какими путями можно найти универсальное решение задачи с наименьшим количеством проверок, можно ли конвертировать тип переменной, или объявить переменную через макрос, что можно сделать?
 
Alexey Viktorov:


И ещё одно замечание: В момент открытия ордера маржа считается в полном объёме и только после открытия размер маржи корректируется в соответствии с MODE_MARGINHEDGED

Соответственно если надо рассчитать объём сделки для локирования убыточной озиции, то надо считать как открытие со 100% маржой и только после этого открывать дополнительный ордер в довесок на освободившиеся средства.

Если я чего-то не так понял... звиняйтя...

Не очень понял это замечание. Можно открыть локирующую позицию (противоположную открытой) при свободной марже марже ниже чем маржа для вновь открытого ордера (не в локе). Так где же там 100%?

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