А какие свойства инструмента, который проверяется этим скриптом, если смотреть в обзор рынка и дальше спецификации?
Вопрос решается через функцию OrderCalcMargin
double margin_buy,margin_sell;
OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_ASK),margin_buy):
OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_BID),margin_sell):
вопрос к брокеру, он накосячил. Не написал в свойствах инструмента нужные цифры. Хотя я не встречал брокеров на МТ5 у которых эта графа была бы заполнена.
Вопрос решается через функцию OrderCalcMargin
double margin_buy,margin_sell;
OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_ASK),margin_buy):
OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_BID),margin_sell):
Попытка расчета Вашего скрипта не удалась. Результат функций - false. Соответственно margin_buy и margin_sell дали нули. Двоеточие в конце строк я исправил на точку с запятой.
Спасибо. Может быть, еще идеи?
А какие свойства инструмента, который проверяется этим скриптом, если смотреть в обзор рынка и дальше спецификации?
Вопрос не понял. Попытаюсь догадаться, что я должен был понять в вопросе: указанные мной функции рассчитывают по уверениям авторов проекта размер залоговых средств в базовой валюте на покупку или продажу одного лота.
Вопрос не понял. Попытаюсь догадаться, что я должен был понять в вопросе: указанные мной функции рассчитывают по уверениям авторов проекта размер залоговых средств в базовой валюте на покупку или продажу одного лота.
Я спросил, смотрели-ли Вы в окно спецификации инструмента:
Там не все так просто. Вот здесь читайте: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_calc_mode
Если не поймете, обращайтесь.
- www.mql5.com
Там не все так просто. Вот здесь читайте: https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_calc_mode
Если не поймете, обращайтесь.
Спасибо. Познавательно то, что способы вычисления маржи для разных инструментов рынка отличаются друг от друга. И слава богу. Функция
SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL);
и введена для того, чтобы пользователи, программирующие советники, индикаторы и скрипты не морочили себе голову этими "деталями". Так я понимаю смысл этой функции, где в качестве параметра присутствует конкретный финансовый инструмент, названный в документации к МТ4 и МТ5 символом, и отсутствуют другие параметры, указывающие на способы расчета маржи.
И я обнаружил, что эта функция при попытке ею воспользоваться дает НУЛЬ, то есть попросту отказывается работать.
В чем корень зла?
Я спросил, смотрели-ли Вы в окно спецификации инструмента:
Спасибо. Вот картинка. Демо-счет. Что можно отсюда извлечь касательно моей темы? Коэффициент маржи - нуль и два раза 1 - вижу. Это нормально?
вопрос к брокеру, он накосячил. Не написал в свойствах инструмента нужные цифры. Хотя я не встречал брокеров на МТ5 у которых эта графа была бы заполнена.
Вопрос решается через функцию OrderCalcMargin
double margin_buy,margin_sell;
OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_ASK),margin_buy):
OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,lot,SymbolInfoDouble(_Symbol,SYMBOL_BID),margin_sell):
Ваш скрипт действительно функционирует при условии, что он помещен в OnTick(). В прошлый раз негативный результат моего теста был связан с тем, что я запускал Ваш скрипт в OnInit(). Спасибо, всех благ.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На МТ4 и МТ5 получаю одинаковый результат 0 (НУЛЬ) при запуске функций
начальной маржи за 1 лот
и поддерживающей маржи за 1 лот
Запускаю тест:
Ниже скрин результатов:
Между тем аналогичная функция МТ4
MarketInfo(_Symbol,MODE_MARGINREQUIRED);
дает правильный результат.
Благодарю за пояснения.