Оценка маржинальных требований в MQL5 - страница 3

 
Alexander Laur:

Вы где торгуете?

У меня ссылка открывается.

Тогда пройдите по этой ссылке https://www.mql5.com/ru/code/16396/119568#!tab=code

У меня она тоже открывается.

 
Petros Shatakhtsyan:

Видимо с вами трудно что-то обсуждать.

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

Удалите из ссылки выделенное и откроется. Но там ничего ценного нет.

 
Alexander Laur:

Господа, я знаю как рассчитать залог. Дал ссылку на готовый код.

Если у Вас проблемы с открытиями, ценностями и т.д., то меня это больше не интересует.

Кто захочет разобраться, разберется. А кто хочет по-умничать, так флаг ему в руки.

Чтобы предметно говорить о чём-то надо внимательно читать первый пост темы.

Хотя я и сам иногда этим грешен. Бываю и невнимательным. А код ваш и доброго слова не стоит.

 
Petros Shatakhtsyan:

А я подумал, что после моих объяснений даже школьник поймет.

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

Соглашусь с Петросом! Бывают случаи, когда некоторые брокеры увеличивают маржинальные требования по отдельным валютам, как правило в период каких-то важных новостей либо на выходные.

Поэтому считаю, что свойство размера плеча для выбранного символа не будет лишним. Сейчас его нет.

Кроме того, некоторые брокеры дают разные плечи для разных объёмов. Насколько понимаю, программно этот момент тоже не определить... К примеру выдержка из спецификации одного популярного брокера:


Floating margin


 
Dennis Kirichenko:

Соглашусь с Петросом! Бывают случаи, когда некоторые брокеры увеличивают маржинальные требования по отдельным валютам, как правило в период каких-то важных новостей либо на выходные.

Поэтому считаю, что свойство размера плеча для выбранного символа не будет лишним. Сейчас его нет.

А я подумал что никто не понимает :)   Без плеча символа, никакой маржи подсчитать не сможете.


Вот я когда-то из одного сайта нашел эту таблицу и уже его показал.

Это для определения маржи, но я использовал его для определения реального плеча для нужного символа.

Но для этого надо открыть ордер, чтобы получить разность между margin до и после открытия ордера.

А нужно знать плечо символа до открытия ордера.



Что-то скриншот не вставляется !

 
Petros Shatakhtsyan:

А я подумал что никто не понимает :)

Вот я когда-то из одного сайта нашел эту таблицу и уже его показал.

Это для определения маржи, но я использовал его для определения реального плеча для нужного символа.

Но для этого надо открыть ордер, чтобы получить разность между margin до и после открытия ордера.

А нужно знать плечо символа до открытия ордера.

Что-то скриншот не вставляется !

Скриншот тоже приложил, не показывается. Просто сайт переезжает на новые серваки, мы в мобильном режиме переписываемся :-))

Вот у одного брокера как:

Размер совокупной позиции в долл. СШАКредитное плечо
Валютные пары FX Majors
менее 1 млн.500
1 млн. - 5 млн.200
5 млн. - 10 млн.100
более 10 млн.5
 
Dennis Kirichenko:

Скриншот тоже приложил, не показывается. Просто сайт переезжает на новые серваки, мы в мобильном режиме переписываемся :-))

Но ничего, подождем, особенно когда через час начнется ооочень трудный матч.

 
Dennis Kirichenko:

Скриншот тоже приложил, не показывается. Просто сайт переезжает на новые серваки, мы в мобильном режиме переписываемся :-))

Вот у одного брокера как:

Размер совокупной позиции в долл. СШАКредитное плечо
Валютные пары FX Majors
менее 1 млн.500
1 млн. - 5 млн.200
5 млн. - 10 млн.100
более 10 млн.5

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

 double Margin = 0;
 bool calcMargin = OrderCalcMargin(orderType, symbol, Lots, price, Margin);

И надо проверить какое значение marginInitial будет.

 double marginInitial;
 double marginMaintenance;
bool marginRate = SymbolInfoMarginRate(symbol, orderType, marginInitial, marginMaintenance);
 
Dennis Kirichenko:

Скриншот тоже приложил, не показывается. Просто сайт переезжает на новые серваки, мы в мобильном режиме переписываемся :-))

Вот у одного брокера как:

Размер совокупной позиции в долл. СШАКредитное плечо
Валютные пары FX Majors
менее 1 млн.500
1 млн. - 5 млн.200
5 млн. - 10 млн.100
более 10 млн.5

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

Некоторые брокеры предупреждают об этом и советуют Margin Level держать на таком уровне, чтобы во время снижения плеча, не сработал Stop Out.

Реальное плечо проверял с моим роботом, больше года на реале. При изменении плеча данного символа, сразу отправил message на телефон. Иногда снизили плечо 2,4 раза, без предупреждения. Но не все брокеры так делают.

 

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

Спасает ли ситуацию малый по сравнению с планируемым объем сделки в таком пробном запросе? Судя по https://www.mql5.com/ru/forum/261955/page4#comment_7947380, нет.

Оригинально. Функции OrderCheck() или OrderCalcMargin() бессмысленны, кроме отдельных частных случаев? Что-то не так. Повторюсь, терминал сообщает о нехватке средств на счете без обращения к серверу. Откуда он это узнает? Почему бы этим функциям туда не обратиться?

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