Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это не возможно объяснить:
Функция
ulong HistoryDealGetTicket(
int index // номер сделки
);
периодически выдает 0 при обращении к существующей сделке
воистину не случайно не реализовали функцию Commission().
История предварительно должна быть запрошена. У вас тут не понятно, что делаете.
Все верно, у меня в цикле инициированным HistorySelect(), был вызов процедуры для определения комиссии использующей HistorySelectByPosition()
Спасибо.
К сожалению я не успел завершить отладку, так как мой брокер xChief в данный момент убрал комиссию для BTCUSD
Что эта рекомендация ошибочна.
Ошибки никакой нет. Лучше было бы уточнить нюансы, а не вводить людей в заблуждение.
Да, вопрос сформулирован относительно "открытой" позиции, но это никак не меняет алгоритм подсчета комиссий на основе торговых API MQL5. А именно:
Комиссии начисляются только при сделках и только по ним могут считаться. Т.е. фактически это всегда восстанавливается по истории. Перебор сделок по заданной позиции дает возможность узнать сумму комиссий к данному моменту - позиция может быть просто открытой, долитой, частично закрытой или закрытой вовсе.
Если кто-то продал 1 лот, а потом купил 0.2 лота, все релевантные комиссии будут в этих сделках. Это будет комиссия по данной еще открытой позиции.
По поводу будущих комиссий (когда позиция еще не закрыта) сотрудники MQ писали, что это нетривиальная задача, не имеющая гарантированно точного решения, поэтому можно только спекулировать на аналогичных сделках в прошлом.
По поводу будущих комиссий (когда позиция еще не закрыта) сотрудники MQ писали, что это нетривиальная задача, не имеющая гарантированно точного решения, поэтому можно только спекулировать на аналогичных сделках в прошлом.
Однако же им как-то удалось её решить в МТ4!