Стоп аут - медленно работает на MT5? - страница 21

 

Смотрю справку к языку MQL5

SYMBOL_MARGIN_HEDGED

Размер контракта или маржи для одного лота перекрытых позиций (разнонаправленные позиции по одному символу). Существует два способа расчета маржи для перекрытых позиций. Способ расчета определяется брокером.

 

Базовый расчет:

  • Если для инструмента задана первоначальная маржа (SYMBOL_MARGIN_INITIAL), то хеджированная маржа указывается как абсолютное значение (в деньгах).
  • Если первоначальная маржа не задана (равна 0), то в SYMBOL_MARGIN_HEDGED указывается размер контракта, который будет использован при расчете маржи по формуле, соответствующей типу торгового инструмента (SYMBOL_TRADE_CALC_MODE).

 

Расчет по наибольшей позиции:

  • Значение SYMBOL_MARGIN_HEDGED не учитывается.
  • Вычисляется объем всех коротких и всех длинных позиций по инструменту.
  • Для каждой стороны рассчитывается средневзвешенная цена открытия, а также средневзвешенная цена конвертации в валюту депозита.
  • Далее по формулам, соответствующим типу инструмента (SYMBOL_TRADE_CALC_MODE), рассчитывается маржа для короткой и для длинной стороны.
  • В качестве итогового значения используется наибольшее.


Запрашиваем значение:

SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_HEDGED)

Получаем:

Размер контракта или маржи для одного лота перекрытых позиций=100000.0 

Запрашиваем значение:

Print("Начальная (инициирующая) маржа=",SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL));   

Получаем:

2025.03.11 02:04:00.508 Get_info (USDJPYrfd,M1) Начальная (инициирующая) маржа=0.0


Для получения информации о способе вычисления величины залоговых средств по инструменту (размера маржинальных требований) предназначено перечисление ENUM_SYMBOL_CALC_MODE.

ENUM_SYMBOL_CALC_MODE

Идентификатор

Описание

Формула

SYMBOL_CALC_MODE_FOREX

Forex mode – расчет прибыли и маржи для Форекс

Margin:  Lots * Contract_Size / Leverage * Margin_Rate

 

Profit:   (close_price - open_price) * Contract_Size*Lots



Хорошо, давайте узнаем плечо в настройках терминала

Print("Размер предоставленного плеча=",AccountInfoInteger(ACCOUNT_LEVERAGE)); 

Результат

Размер предоставленного плеча=40

Выясняем поправочные коэффициенты

   double initial_margin_rate = 0;     // коэффициент взимания начальной маржи 
   double maintenance_margin_rate = 0; // коэффициент взимания поддерживающей маржи 

SymbolInfoMarginRate(Symbol(),ORDER_TYPE_BUY,initial_margin_rate,maintenance_margin_rate);
Print("Коэффициенты маржи для Buy, начальная маржа=",initial_margin_rate ," поддерживающая маржа=" ,maintenance_margin_rate); 
SymbolInfoMarginRate(Symbol(),ORDER_TYPE_SELL,initial_margin_rate,maintenance_margin_rate);
Print("Коэффициенты маржи для Sell, начальная маржа=",initial_margin_rate ," поддерживающая маржа=" ,maintenance_margin_rate); 

Результат:

Коэффициенты маржи для Buy, начальная маржа=1.25 поддерживающая маржа=0.0
Коэффициенты маржи для Sell, начальная маржа=1.25 поддерживающая маржа=0.0


Я дополнительно уточнил, нет ли в настройках сервера расчета по наибольшей позиции

Print("Режим расчета хеджированной маржи по наибольшей стороне (Buy или Sell)=",SymbolInfoInteger(Symbol(),SYMBOL_MARGIN_HEDGED_USE_LEG)); 

Результат:

Режим расчета хеджированной маржи по наибольшей стороне (Buy или Sell)=0

Т.е. используется обычный режим.


Ещё раз смотрю справку терминала

"

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

  • Если на счете есть открытая позиция и выставляется ордер любого типа в противоположном направлении с объемом, меньшим или равным текущей позиции, то совокупная маржа будет равна марже по текущей позиции. Пример: есть позиция Buy 1 lot EURUSD и выставляется ордер Sell 1 lot EURUSD (аналогично для Sell Limit, Sell Stop и Sell Stop Limit). 

...


Далее приведены формулы расчета маржи по торговым инструментам в зависимости от их типа и настроек. Итоговый размер маржи рассчитывается в несколько этапов:


...

Расчет для перекрытого объема

Используется, если в спецификации контракта указано значение "Хеджированная маржа". В этом случае маржа взимается и для перекрытого и для неперекрытого объема.

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

Если первоначальная маржа не задана (равна 0), то в поле "Хеджированная" указывается размер контракта. Расчет маржи осуществляется по формуле, соответствующей типу инструмента, с использованием указанного размера контракта. Например, есть две позиции Buy EURUSD 1 lot и Sell EURUSD 1 lot, размер контракта равен 100 000. Если в поле "Хеджированная" указать значение 100 000, то за обе позиции маржа будет взята как за 1 лот. Если указать 0, то за перекрытый объем маржа взиматься не будет.

 

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

  • Вычисляется перекрытый объем по всем открытым позициями и рыночным ордерам (из объема большей стороны вычитается неперекрытый).
  • Рассчитывается средневзвешенная цена открытия позиций и рыночных ордеров: (цена открытия позиции или ордера 1 * объем позиции или ордера 1 + ... + цена открытия позиции или ордера N * объем позиции или ордера N) / (объем позиции или ордера 1 + ... + объем позиции или ордера N).
  • Используя рассчитанный объем, средневзвешенную цену и размер хеджированной маржи, производится расчет маржи по формуле, соответствующей типу инструмента.


Конвертация в валюту депозита 

Данный этап вычисления является общим для всех типов расчета. Конвертация маржинальных требований, вычисленных одним из вышеуказанных способов, происходит в случае, если их валюта отличается от валюты депозита счета.

Для конвертации используется текущий курс валюты маржи к валюте депозита. При этом для сделок на покупку используется цена Ask, а для сделок на продажу  — цена Bid.

Например, базовый размер маржи, вычисленный ранее для покупки одного лота EURUSD, составляет 1000 EUR. Если валюта депозита счета — USD, то для конвертация используется текущая цена Ask пары EURUSD. Например, если текущий курс равен 1.2790, то итоговый размер маржи будет равен 1279 USD.

"

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

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

Я, вот думаю, что перерасчет маржи должен происходить постоянно, раз это оценочный показатель, зависящий от стоимостной оценки (Стоимость перерассчитывается постоянно)...

Получается, что форекс-дилер даёт ложные сведения, указывая фиксированные значения для обеспечения в спецификации, а плечо за счёт коэффициента 1,25 корректно.


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

Расчет маржи: Retail Forex, Futures - Для продвинутых пользователей - Торговые операции - Справка по MetaTrader 5
Расчет маржи: Retail Forex, Futures - Для продвинутых пользователей - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
В торговой платформе предусмотрены разные модели управления рисками, определяющие то, как осуществляется претрейд контроль. На данный момент...
 
Aleksey Vyazmikin #:

К сожалению, я ошибся.

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

В пятницу на закрытии маржа совпала с высокой точностью с той, что публикуют на сайте, как обеспечение.

Сейчас эти значения не сходятся. Не понимаю, действительно. Что тогда за значения они публикуют и где эти значения хранятся в терминале.

Совсем не всякий тут готов признавать свои ошибки.

и ради этого всего-то пара-тройка стоп-аутов, 20 страниц форума (и это только в этой ветке), создание ассоциации, письма в ЦБ, жалобы модераторам и чуть не судебные иски..:-)

достойный результат 

 
Maxim Kuznetsov #:
достойный результат 

Да, я считаю, что сделал большую работу, как для себя, так и для тех кто торгует в РФ.

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

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

 
Maxim Kuznetsov #:

Совсем не всякий тут готов признавать свои ошибки.

и ради этого всего-то пара-тройка стоп-аутов, 20 страниц форума (и это только в этой ветке), создание ассоциации, письма в ЦБ, жалобы модераторам и чуть не судебные иски..:-)

достойный результат 

Всё правильно ТС делает. Песни и пляски вашего дуэта в ветке - лишнее тому подтверждение.
[Удален]  
Aleksey Nikolayev #:
Всё правильно ТС делает. Песни и пляски вашего дуэта в ветке - лишнее тому подтверждение.

Ты чем вечно недоволен? ТС это что, священная корова, которой вопрос нельзя задать или поспорить?

 
Nikolai Starkovskii #:

Ты чем вечно недоволен? ТС это что, священная корова, которой вопрос нельзя задать или поспорить?

Вот и вторая половина дуэта подтянулась.

Кстати, чего в личку стучались? Если есть что сказать, пишите тут. Здесь все свои, стесняться некого.

[Удален]  
Aleksey Nikolayev #:

Вот и вторая половина дуэта подтянулась.

Кстати, чего в личку стучались? Если есть что сказать, пишите тут. Здесь все свои, стесняться некого.

что тебе сказать, ты же по существу ничего не сказал в ветке, просто ноешь

 
Nikolai Starkovskii #:
что тебе сказать

Без малейшего понятия. Это же вы ко мне в личку лезли, а не я к вам.

[Удален]  
Aleksey Nikolayev #:

Без малейшего понятия. Это же вы ко мне в личку лезли, а не я к вам.

Я подал заявку в друзья, а не лез:) чудик

 
Nikolai Starkovskii #:

Я подал заявку в друзья, а не лез:) чудик

ДЦ-шное нытьё ещё и в личке? Звучит конечно интересно, но пожалуй пока воздержусь.