
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Получается, что нет возможности в программе правильно рассчитать размер залоговых средств.
Возьмите бесплатно в Маркете какую-нибудь популярную торговую панель. Ее автор должен был этот вопрос досконально изучить на огромном количестве ситуаций у клиентов.
Если будет неправильно работать, то 99%, что нельзя.
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
AccountEquity() — AccountFreeMarginCheck() разве не будет равна марже?
Вчера проверял для 1 лота.
Сейчас проверил для 5 лотов. Результат тот же. Не получается Каменный цветок...
Не равна марже.
Возьмите бесплатно в Маркете какую-нибудь популярную торговую панель. Ее автор должен был этот вопрос досконально изучить на огромном количестве ситуаций у клиентов.
Если будет неправильно работать, то 99%, что нельзя.
Да у меня что-то вроде торговой панельки. Но в нее встроены 3 индикатора по разметке структуры рынка. Панелька заточена под одну из стратегий, которую используют с третьим индикатором.
Но во всех трех индикаторах такая панелька просто необходима.
Сейчас отлаживаю различные режимы работы. Экстремальные ситуации. Для неэкстремальных режимов она уже отлажена и работает идеально.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Расчет залоговых средств. В чем ошибка?
Eugeni Neumoin, 2024.05.25 05:58
В спецификациях инструментов нашел:
Маржинальные требования:
Процент от номинальной стоимости сделки, выраженный в USD, который будет заблокирован на торговом счёте при открытии позиции.
Маржинальные требования могут меняться в зависимости от размера позиции.
=============================
Получается, что нет возможности в программе правильно рассчитать размер залоговых средств.
Можно проверить ещё такой вариант:
Если открыто 6 лотов и надо открыть ещё 2.5 лота, то получить маржу для позиции 8.5 лотов и вычесть текущий размер маржи.
Может это и бред, но я проверить не могу.
Можно проверить ещё такой вариант:
Если открыто 6 лотов и надо открыть ещё 2.5 лота, то получить маржу для позиции 8.5 лотов и вычесть текущий размер маржи.
Может это и бред, но я проверить не могу.
Маржа, которая была удержана за открытые когда-то 6 лотов, совсем не обязательно будет равна марже, которую удержат сейчас
за открытие тех же 6 лотов. Меняются торговые условия, плечо, на нее влияет цена для валютных пар с обратной котировкой.
Крипта в выходные торгуется.
Сейчас на эфире проверил формулу AccountEquity() — AccountFreeMarginCheck() .
Получается вообще какой-то бред.
Рассчитал маржу для одного лота.
В спецификации на инструмент это 0.5%.
Получается 18.7447. Открыл одну сделку на 1 лот. Примерно расчетная сумма и получилась. Почему примерно? Когда стал смотреть итоговую сумму на счете, рынок успел сдвинуться.
В программе AccountEquity() показывает не то, что было на самом деле.
А вот по формуле AccountEquity() — AccountFreeMarginCheck() получил значение маржи на 1 лот = 0,00099999..... Это явно отличается от расчетного значения 18.7447 и, тем более, от реально полученного.
Бред.
===============
Задачу, поставленную изначально, я решил чисто математически. Без всяких вычислений маржи. Но тема, поднятая в этой ветке форума, выявила ПРОБЛЕМУ!!!.
Изначально требовалось вычислить количество лотов, которые можно открыть в противоположную сторону, уже открытым. Для этого не обязательно вычислять маржу. Просто берем разницу между Buy и Sell ордерами.
Разницу между количеством открытых ордеров помноженную на сумму лотов в каждом ордере.
Вычисление маржи могло дать точное значение для вычисления количества ордеров. Но и найденное решение получилось работающим. Проверил его в пятницу.
============
Для чего все это было затеяно?
В последнее время многие брокеры стали проводить различные турниры/конкурсы/соревнования, после победы в которых трейдеры получают какую-то денежку на счет.
А в турнирах идет жестокая резня на экстремальных режимах для депозита.
Вот и возникла задача, которую пришлось решать.
Предполагал, что формула AccountEquity() — AccountFreeMarginCheck() поможет в вычислении маржи для крипты у брокеров, у которых MarketInfo(Symbol(),MODE_MARGINREQUIRED)==0.
Монет сейчас много. И появляются новые. Прописывать в программе для каждой монеты индивидуальные условия сложно. Условия могут измениться со временем.
Да и у разных брокеров могут быть разные условия. Универсального решения пока не просматривается.
Сейчас сделал в программе индивидуальный расчет для биткоина и эфира только для форекс клуба. Для остальных монет не стал это делать.
Вычисление размера маржи, фиксируемой при открытии одного ордера, важно для расчета % риска на сделку.
Если для инструмента MarketInfo(Symbol(),MODE_MARGINREQUIRED)==0, приходится просто задавать принудительно какое-то значение лотности на ордер.
А когда можно вычислить значение маржи, то можно рассчитать значение лотности для заданного процента риска.
=============
Пока писал это сообщение, придумал решение. Надо сделать еще один параметр, в котором прописывать % маржи на сделку. В этом случае не потребуется вычислять
MarketInfo(Symbol(),MODE_MARGINREQUIRED)Изначально требовалось вычислить количество лотов, которые можно открыть в противоположную сторону, уже открытым. Для этого не обязательно вычислять маржу. Просто берем разницу между Buy и Sell ордерами.
А вот на это вы обращаете внимание?
А вот на это вы обращаете внимание?
Конечно, обращаю на это внимание. Где-то в начеле обсуждения был приведен код, в котором это условие учтено.