Ошибки, баги, вопросы - страница 2020
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Функция OrderCalcMargin не учитывает при расчетах маржи цену открытия
Это Баг или так и должно быть?
Баг, конечно. Пишите в СД.
Эта строка работает, как надо, но мне пришлось проверить, т.к. приходится гадать порядок выполнения. Обсуждение этого момента здесь.
Баг, конечно. Пишите в СД.
Эта строка работает, как надо, но мне пришлось проверить, т.к. приходится гадать порядок выполнения. Обсуждение этого момента здесь.
Порядок расчета выражений в Print() справа налево. Вроде как... Пока... Тоже проверял предварительно :)
Трудно быть уверенным, когда в справке MQL4/5 прямое противоречие:
Справочник MQL5Основы языкаФункцииПередача параметров
Примечание
Необходимо помнить, что параметры передаются в функцию задом наперед, то есть сначала вычисляется и передается самый последний параметр, затем предпоследний и так далее. Последним по очереди вычисляется и передается параметр, стоящий первым после открывающей скобки.
Справочник MQL5Основы языкаОперации и выраженияДругие операции
Вызов функции с аргументами x1, x2,..., xn
Каждый аргумент может представлять собой константу, переменную или выражение соответствующего типа. Передаваемые аргументы разделяются запятыми и должны находиться внутри круглых скобок, открывающая круглая скобка должна следовать за именем вызываемой функции.
Значением выражения является значение, возвращаемое функцией. Если тип возвращаемого значения функции есть void, то вызов такой функции нельзя помещать справа в операции присвоения. Обратите внимание, что порядок выполнения выражений x1,..., xn гарантируется.
Пока ориентируюсь на передачу параметров в обратном порядке.
В соседней ветке https://www.mql5.com/ru/forum/216697/page3 поднялся вопрос про OrderCalcMargin
Тест: проверим 2 различных варианта расчета залога с подстановкой различных цен открытия.
Вот ЛОГ
Функция OrderCalcMargin не учитывает при расчетах маржи цену открытия
Похоже это связано с курсом котируемой валюты, который для момента и цены открытия должен быть пересчитан.
Если котируемая валюта USD (валюта счета тоже USD), то расчетная маржа меняется в зависимости от цены открытия.
Лог для GBPUSD
Это Баг или так и должно быть?
Наверное так должно быть, потому что в расчёте, в частности AUDJPY участвуют AUDUSD и USDJPY котировки которых неизменны в момент расчёта.
А вот эта мысль толкает меня на проверку... На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Наверное так должно быть, потому что в расчёте, в частности AUDJPY участвуют AUDUSD и USDJPY котировки которых неизменны в момент расчёта.
А вот эта мысль толкает меня на проверку... На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Как раз хотел Вам сказать - что там баг.
Я уже воспроизвел Вашу ситуацию с Margin=0 при подсчете OrderCalcMargin
Просто еще не опубликовал.
На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Скорее всего присутствует в Обзоре рынка (не путаю с общим списком символов), но не показывается.
Наверное так должно быть, потому что в расчёте, в частности AUDJPY участвуют AUDUSD и USDJPY котировки которых неизменны в момент расчёта.
А вот эта мысль толкает меня на проверку... На счёте MetaQuotes-Demo в обзоре рынка GBPUSD присутствует, а на счёте робо нет...
Вот тест:
1. Выберем в MarketWatch кроссы, а все с USD скроем
2.Добавим символ DSHBTC и откроем его график.
3. Закроем терминал
4. Откроем терминал
5. Запустим тест на DSHBTC
Вот ЛОГ:
По всем кроссам показывает маржу=0 и МАЖОРЫ ДЛЯ КРОССОВ НЕ ВЫБРАЛИСЬ.
Еще раз накинем скрипт на DSHBTC
ЛОГ
Выбрались мажоры, но кроме USDJPY
Все тесты проводились на MetaQuotes
Скорее всего присутствует в Обзоре рынка (не путаю с общим списком символов), но не показывается.
Мы как-то по-разному говорим об одном
Мы как-то по-разному говорим об одном
Именно так. В Обзоре рынка не показывается, но он есть.
Подправьте.
Done!
P.S. Забыл запас убрать :)