Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я, наверное, очень косноязычно формулирую вопросы и по этой причине получаю не те ответы, которые ожидаю. Прошу меня извинить, русский язык для меня только отчасти родной. Но я всё же попробую ещё раз...
Я внимательно перечитал всю ветку. Ответ на мой первоначальный вопрос был дан - получить от терминала фактическое значение кредитного плеча для отдельно взятой позиции невозможно.
Но также было упомянуто о том, что, возможно, кредитное плечо при наличии позиций, соответствующих определённым условиям, меняется не для этих позиций, а для инструмента в целом. И теперь единственный оставшийся у меня вопрос заключается в том, как получить от терминала это плечо. При условии, что оно отличается от общего плеча счёта. Не вычислить, а именно получить фактическое значение.
Было бы совсем хорошо, если это можно сделать ДО открытия следующей позиции.
Я, наверное, очень косноязычно формулирую вопросы и по этой причине получаю не те ответы, которые ожидаю. Прошу меня извинить, русский язык для меня только отчасти родной. Но я всё же попробую ещё раз...
Я внимательно перечитал всю ветку. Ответ на мой первоначальный вопрос был дан - получить от терминала фактическое значение кредитного плеча для отдельно взятой позиции невозможно.
Но также было упомянуто о том, что, возможно, кредитное плечо при наличии позиций, соответствующих определённым условиям, меняется не для этих позиций, а для инструмента в целом. И теперь единственный оставшийся у меня вопрос заключается в том, как получить от терминала это плечо. При условии, что оно отличается от общего плеча счёта. Не вычислить, а именно получить фактическое значение.
Было бы совсем хорошо, если это можно сделать ДО открытия следующей позиции.
Вам же брокер ответил - может поменять ПОСЛЕ
а ДО - уже все написано выше, но нужно вычислить
Вам же брокер ответил - может поменять ПОСЛЕ
а ДО - уже все написано выше, но нужно вычислить
Ну да. Вот я и хочу понять, как мне получить фактическое значение кредитного плеча для символа, ПОСЛЕ того, как брокер его изменил, но ДО открытия следующей позиции по этому символу. Корректно вычислить это у меня пока не получается. Ибо все формулы для вычисления, представленные ранее, содержат либо плечо счёта (которое осталось неизменным), либо сумму маржи из настроек символа (которая тоже не изменилась).
Ну да. Вот я и хочу понять, как мне получить фактическое значение кредитного плеча для символа, ПОСЛЕ того, как брокер его изменил, но ДО открытия следующей позиции по этому символу. Корректно вычислить это у меня пока не получается. Ибо все формулы для вычисления, представленные ранее, содержат либо плечо счёта (которое осталось неизменным), либо сумму маржи из настроек символа (которая тоже не изменилась).
да ладно
фактическое плечо:
https://www.mql5.com/ru/forum/353040/page2#comment_18675097
именно полученное плечо подставляем в расчет маржи
https://www.mql5.com/ru/forum/353040/page4#comment_18728440
и будет Вам счастье
;)
фактическое плечо:
https://www.mql5.com/ru/forum/353040/page2#comment_18675097
По ссылке есть формула:
Она содержит величину MarketInfo("USDCHF",MODE_MARGINREQUIRED), которая не изменяется после того, как брокер изменил плечо для данного инструмента. Функция MarketInfo возвращает маржу из настроек символа, которая соответствует плечу в настройках счёта. Если бы это было не так, то и вопросов бы у меня больше не было. Именно в этом и заключается проблема.
именно полученное плечо подставляем в расчет маржи
https://www.mql5.com/ru/forum/353040/page4#comment_18728440
И здесь проблема будет в том, что полученное на предыдущем шаге плечо не будет соответствовать фактическому. Оно будет равно плечу из настроек счёта, которое возвращает функция AccountLeverage(). Соответственно, рассчитанная таким образом маржа будет значительно меньше фактической, если кредитное плечо для данного инструмента не соответствует плечу счёта.
При желании вы легко можете проверить это самостоятельно:
По ссылке есть формула:
Она содержит величину MarketInfo("USDCHF",MODE_MARGINREQUIRED), которая не изменяется после того, как брокер изменил плечо для данного инструмента. Функция MarketInfo возвращает маржу из настроек символа, которая соответствует плечу в настройках счёта. Если бы это было не так, то и вопросов бы у меня больше не было. Именно в этом и заключается проблема.
И здесь проблема будет в том, что полученное на предыдущем шаге плечо не будет соответствовать фактическому. Оно будет равно плечу из настроек счёта, которое возвращает функция AccountLeverage(). Соответственно, рассчитанная таким образом маржа будет значительно меньше фактической, если кредитное плечо для данного инструмента не соответствует плечу счёта.
При желании вы легко можете проверить это самостоятельно:
Вы бы сначала попробовали, прежде чем прогнозировать исход
я работал этой формулой на плавающем плече, своевременно реагирует
и все будет совсем не так, как Вы увидели глазами
и уж тем более было такое именно там, где Вы пишете
и не на демо, а на реале
Вы бы сначала попробовали, прежде чем прогнозировать исход
Я не прогнозировал исход. Разумеется, я попробовал сделать это, прежде чем предложить Вам.
Вот скрипт:
Вот результат его выполнения:
Вот фактическое значение:
Причина расхождения в том, что плечо символа USDRUB отличается от плеча счёта. И мой вопрос заключается в том, как получить значение этого плеча средствами MQL4 до открытия позиции.
ок
попробуйте теперь так
void OnStart()
{
double LEVERAGE = NormalizeDouble( MarketInfo("EURUSD",MODE_LOTSIZE)/MarketInfo("USDCHF",MODE_MARGINREQUIRED),0);
double M = MarketInfo( "USDRUB" ,MODE_LOTSIZE)/ LEVERAGE; // M=CC/ КП
Print(" М = ",M);
Print("LEVERAGE = ",LEVERAGE);
Print("VOL = ",MarketInfo( "USDRUB" ,MODE_LOTSIZE));
}
ок
попробуйте теперь так
Попробовал. Вот результат:
Правда, я не очень понял, почему на этот раз для вычисления плеча USDRUB Вы предлагаете поделить объём контракта EURUSD на маржу для открытия одного стандартного лота по USD/CHF. Но в результате получается то же самое значение маржи (200). В то время как фактически удерживается маржа 1000.