![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Убрать эту проверку.
Править стандартную библиотеку? При следующем обновлении она восстановится и невзначай получим то что и было.
В общем-то нестандартных решений найти можно. Но хотелось-бы понять возможную причину по которой OrderCalcMargin считает, что маржа равна нулю.
Править стандартную библиотеку?
Не использовать совсем. Там косяков море.
ЗЫ Исправить такие проблемы в ней и переименовать.
Нужен исходник, как получено то, что видно в логах.
Что из распечатки вызывает подозрение?
Что из распечатки вызывает подозрение?
Нет ни подозрений, ни мыслей, потому что нужно видеть, как получены цифры. Распечатка имеет смысл только когда прикладывается к исходнику.
Править стандартную библиотеку? При следующем обновлении она восстановится и невзначай получим то что и было.
В общем-то нестандартных решений найти можно. Но хотелось-бы понять возможную причину по которой OrderCalcMargin считает, что маржа равна нулю.
Без кода трудно понять, где именно собака порылась.
На вскидку - проверка if(margin > 0 && freeMargin-margin > 0) - "не Ice" для отложек.
У многих брокеров маржа для отложек нулевая. В частности, у Roboforex-Demo
А Вы как раз проверяете условие для отложки ORDER_TYPE_BUY_LIMIT
Странно то, что как Вы говорите, на MetaQuotes все нормально. Там тоже для отложки маржа должна быть равна 0.
Может у Вас на этом десятом советнике настройки стоят отличные от других? Или версия другая..
Вот лог OrderCalMargin для GBPJPY 1 лот MetaQuotes-Demo:
Что еще не понятно у Вас в распечатке:
типы ордеров не совпадают для открываемого ордера и проверяемого
Нет ни подозрений, ни мыслей, потому что нужно видеть, как получены цифры. Распечатка имеет смысл только когда прикладывается к исходнику.
Все остальные для функции OrderCalcMargin входящие.
Выделенное в другом месте не вычисляется. Вставлено исключительно для возврата значений.
Без кода трудно понять, где именно собака порылась.
На вскидку - проверка if(margin > 0 && freeMargin-margin > 0) - "не Ice" для отложек.
У многих брокеров маржа для отложек нулевая. В частности, у Roboforex-Demo
А Вы как раз проверяете условие для отложки ORDER_TYPE_BUY_LIMIT
Странно то, что как Вы говорите, на MetaQuotes все нормально. Там тоже для отложки маржа должна быть равна 0.
Может у Вас на этом десятом советнике настройки стоят отличные от других? Или версия другая..
Это учтено. В функцию OrderCalcMargin подаётся тип ордера ORDER_TYPE_BUY или ORDER_TYPE_SELL
Да и напомню, работает 10 экземпляров советника на семи символах. В том числе на GBPJPY на двух счетах. На одном счёте по указанному символу нет проблемы, а на другом уже четыре недели, то-есть четыре раза одно и то-же. Да и на других символах этого-же счёта тоже нет проблем.
Это учтено. В функцию OrderCalcMargin подаётся тип ордера ORDER_TYPE_BUY или ORDER_TYPE_SELL
Да и напомню, работает 10 экземпляров советника на семи символах. В том числе на GBPJPY на двух счетах. На одном счёте по указанному символу нет проблемы, а на другом уже четыре недели, то-есть четыре раза одно и то-же. Да и на других символах этого-же счёта тоже нет проблем.
Что еще не понятно у Вас в распечатке:
типы ордеров не совпадают для открываемого ордера и проверяемого
Что еще не понятно у Вас в распечатке:
типы ордеров не совпадают для открываемого ордера и проверяемого
Потому, что Alert из другого места. А в функцию точно поступает или ORDER_TYPE_BUY или ORDER_TYPE_SELL
И в настройках всё одно и то-же. Даже магики одинаковые.