
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
будем смотреть код
Вы его перемешайте.
тогда удачи
В заданном вопросе разве код важен нет? Нет бы сразу написал - не знаю, но как то работает.
вопрос по коду, соответственно без кода никак
Вы спрашиваете в вопросе про модифи или про перебор ордеров?
вот и я не знаю - что Вам нужно. Но ошибка в коде - 100%
Пожалуйста, подскажите, как средствами MQL4 получить величину маржи по каждой открытой позиции в терминале?
Я обычно делал так:
При торговле по EUR/USD эта конструкция прекрасно работала и я был уверен, что её логика правильная.
Но теперь я хочу получить тот же результат для EUR/JPY (или EUR/CHF). Очевидно, что вместо OrderOpenPrice() мне нужно умножать величину стандартного лота на курс базовой валюты к валюте депозита (в моём случае на EUR/USD). Но вот что это за курс? Тот, что был в момент открытия позиции или тот, что есть сейчас (в тот момент, когда мы хотим узнать сумму залога по этой позиции)?
Пожалуйста, подскажите, как средствами MQL4 получить величину маржи по каждой открытой позиции в терминале?
Я обычно делал так:
При торговле по EUR/USD эта конструкция прекрасно работала и я был уверен, что её логика правильная.
Но теперь я хочу получить тот же результат для EUR/JPY (или EUR/CHF). Очевидно, что вместо OrderOpenPrice() мне нужно умножать величину стандартного лота на курс базовой валюты к валюте депозита (в моём случае на EUR/USD). Но вот что это за курс? Тот, что был в момент открытия позиции или тот, что есть сейчас (в тот момент, когда мы хотим узнать сумму залога по этой позиции)?
Результат будет не точный.
Либо находить курс нужной пары по графику через время открытия ордера, при необходимости учитывать спред (бид/аск) и вычислять более точное значение маржи на момент открытия ордера по формуле
Подводным камнем может стать вычисление маржи на тот момент, когда и плечо было другим
А что если в момент открытия ордера в поле комментария записывать курс EUR/USD а потом его оттуда считывать?
Комментарий для других целей.
Вот как узнать цену:
int bs=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
double bid_X=iClose(Symbol_X,Period(),bs);
Комментарий для других целей.
Вот как узнать цену:
int bs=iBarShift(OrderSymbol(),Period(),OrderOpenTime());
double price_X=iClose(Symbol_X,Period(),bs);
Так ведь если мы торгуем на, допустим, дневных графиках, то таким образом получим цену открытия дня, где-то в середине которого был открыт интересующий нас ордер, разве нет? А она может существенно отличаться от той цены, которая была на момент открытия.
Так ведь если мы торгуем на, допустим, дневных графиках, то таким образом получим цену открытия дня, где-то в середине которого был открыт интересующий нас ордер, разве нет? А она может существенно отличаться от той цены, по которой он был открыт.
Никто не настаивает на применении Period()
Укажите явным образом PERIOD_M15, к примеру или другой