Почему я получаю одинаковое значение маржи для позиций на покупку или продажу с помощью функции OrderCalcMargin ()?
Я совершил сделку, и она показывает использованную маржу как: 1,97. Пожалуйста, посмотрите изображение. Я совершил два типа торговли. Один - Продать, другой - Купить
Используя следующий код, я пытаюсь вычислить используемое значение маржи:
Но полученного мной результата не предвидится. Я получаю одинаковую стоимость для покупок и продаж. Это означает, что если я вычту стоимость покупки из суммы продажи, я получу ноль. Но использованная маржа - 1,97.
Я знаю, что есть и другие функции для получения значения маржи. Но я использую это в советнике, и здесь задействовано несколько валют. Во-вторых, в каждой валюте свои расчеты маржи.
Пожалуйста, дайте мне знать, что я могу сделать.
Результатом вышеупомянутого скрипта является:
Посмотрите в спецификации размер хеджирующей маржи. Там наверняка что-то типа 50% или 50000 в валюте, но это от размера стандартного лота 100000 и есть 50%
В общем надо смотреть SYMBOL_MARGIN_HEDGED в справочнике.
Посмотрите в спецификации размер хеджирующей маржи. Там наверняка что-то типа 50% или 50000 в валюте, но это от размера стандартного лота 100000 и есть 50%
В общем надо смотреть SYMBOL_MARGIN_HEDGED в справочнике.
Тогда как мне получить использованную маржу? Скажите, пожалуйста, какую формулу я могу использовать, если OrderCalcMargin () не работает?
Тогда как мне получить использованную маржу? Скажите, пожалуйста, какую формулу я могу использовать, если OrderCalcMargin () не работает?
В документации ведь всё описано
SYMBOL_MARGIN_HEDGED | Размер контракта или маржи для одного лота перекрытых позиций (разнонаправленные позиции по одному символу). Существует два способа расчета маржи для перекрытых позиций. Способ расчета определяется брокером.
Базовый расчет:
Расчет по наибольшей позиции:
| double |
В документации ведь всё описано
SYMBOL_MARGIN_HEDGED | Размер контракта или маржи для одного лота перекрытых позиций (разнонаправленные позиции по одному символу). Существует два способа расчета маржи для перекрытых позиций. Способ расчета определяется брокером.
Базовый расчет:
Расчет по наибольшей позиции:
| double |
Спасибо за ссылку. Но смиренно прошу вас помочь мне исправить расчет в моем случае. Не могли бы вы сообщить мне, как я могу рассчитать маржу в моем случае, поскольку функция OrderCalcMargni () мне не нужна?
Покажите спецификацию xauusd. Какое значение имеет «размер хеджирующей маржи»
Вы скриптом получили, что маржа равна 3.94 на каждую позицию. Дальше согласно размеру хеджирующей маржи терминал пересчитывает это значение.
- В качестве итогового значения используется наибольшее.
а наибольшее это 3.94 и от этой маржи получили 50%
Покажите спецификацию xauusd. Какое значение имеет «размер хеджирующей маржи»
Вы скриптом получили, что маржа равна 3.94 на каждую позицию. Дальше согласно размеру хеджирующей маржи терминал пересчитывает это значение.
- В качестве итогового значения используется наибольшее .
а наибольшее это 3.94 и от этой маржи получили 50%
Вот спецификации:
Если OrderCalcMargin () не может вычислить правильное значение, как я могу рассчитать и получить правильное значение? Пожалуйста, направь меня.
OrderCalcMargin() посчитал абсолютно правильно.
В документации есть таблица
SYMBOL_CALC_MODE_FOREX | Forex mode – расчет прибыли и маржи для Форекс | Margin: Lots * Contract_Size / Leverage * Margin_Rate
Profit: (close_price - open_price) * Contract_Size*Lots |
и в ней формула вычисления маржи. В формуле есть значение Contract_Size. В спецификации есть это значение = 100. Так вот исходя из этого, по этой формуле было получено значение маржи 3.94 для позиции BUY и SELL соответственно.
Затем опять-же руководствуясь спецификацией, где сказано, что Hedged margin = 50 и руководствуясь пунктом
- В качестве итогового значения используется наибольшее.
в нашем случае наибольшее это 0.01 лот считаем по той-же формуле, но в качестве Contract_Size уже ставим 50 , а не 100 как для одной позиции
- www.mql5.com
OrderCalcMargin() посчитал абсолютно правильно.
В документации есть таблица
SYMBOL_CALC_MODE_FOREX | Forex mode – расчет прибыли и маржи для Форекс | Margin: Lots * Contract_Size / Leverage * Margin_Rate
Profit: (close_price - open_price) * Contract_Size*Lots |
и в ней формула вычисления маржи . В формуле есть значение Contract_Size. В спецификации есть это значение = 100. Так вот исходя из этого, по этой формуле было получено значение маржи 3.94 для позиции BUY и SELL соответственно.
Затем опять-же руководствуясь спецификацией, где сказано, что Hedged margin = 50 и руководствуясь пунктом
- В качестве итогового значения используется наибольшее .
в нашем случае наибольшее это 0.01 лот считаем по той-же формуле, но в качестве Contract_Size уже ставим 50 , а не 100 как для одной позиции
Спасибо за помощь. Вы решили мою самую большую проблему.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я совершил сделку, и она показывает использованную маржу как: 1,97. Пожалуйста, посмотрите изображение. Я совершил два типа торговли. Один - Продать, другой - Купить
Используя следующий код, я пытаюсь вычислить используемое значение маржи:
Но полученного мной результата не предвидится. Я получаю одинаковую стоимость для покупок и продаж. Это означает, что если я вычту стоимость покупки из суммы продажи, я получу ноль. Но использованная маржа - 1,97.
Я знаю, что есть и другие функции для получения значения маржи. Но я использую это в советнике, и здесь задействовано несколько валют. Во-вторых, в каждой валюте свои расчеты маржи.
Пожалуйста, дайте мне знать, что я могу сделать.
Результатом вышеупомянутого скрипта является: