Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это легко делается, но только зачем?
В конце Report.mqh есть такая запись.
Чтобы переместить/удалить колонку нужно соответствующим образом изменить только эту последовательность в исходнике.
У вас в отчете есть расчет TurnOver.
Пытаюсь сделать такой же, но без MT4Ordes.
Как пример нашел ваш пост https://www.mql5.com/ru/forum/98421/page2#comment_2908365
Один из результатов: -149,96. Знак - можно убрать fabs()
А для того же расчета через Report: 13 839 230.40
И в этом примере расчет только для одного символа CalcHistorySlip( const string Symb) Ну это можно решить вызывая функцию для каждого символа.
Может у вас есть эквивалент для МТ5 совпадающий с MT4Orders? Если нет, то оставлю как есть или вообще не буду включать в большой отчет. Т.к. неясно, чем это может помочь. Сейчас вывожу сумму объемов. Для односимвольных советников результат сортировки по сумме объемов и TurnOver из MT4Ordes одинаков. Т.е. есть замена для TurnOver . Но для мультисимвольных будет отличаться. Т.к. сумма лотов разных символов не эквивалентны в денежном выражении. TurnOver был бы лучше.
А сравнение сортировки по объемам с вариантом для МТ5 (код по ссылке выше) совсем не совпадает.
Может у вас есть эквивалент для МТ5 совпадающий с MT4Orders?
Вы про это?
Если нет, то оставлю как есть или вообще не буду включать в большой отчет. Т.к. неясно, чем это может помочь.
Торговый оборот - сколько денег перемалываете. С него и комиссия считается у нормальных брокеров.
Если, например, нужны индивидуальные условия, то первое, что спросят, это про размер торгового оборота.
Вы про это?
Торговый оборот - сколько денег перемалываете. С него и комиссия считается у нормальных брокеров.
Если, например, нужны индивидуальные условия, то первое, что спросят, это про размер торгового оборота.
Кажись, должно быть так:
OrderLots() * TickValue * fabs(OrderOpenPrice() - OrderClosePrice())Плюс к чему нужно проверять тип символа, т.к. для нефорексных нужно пресчитывать стоимость тика из базовой валюты в валюту эккаунта (для форекса - стоимость тика сразу в валюте эккаунта сообщается).
Кажись, должно быть так:
Плюс к чему нужно проверять тип символа, т.к. для нефорексных нужно пресчитывать стоимость тика из базовой валюты в валюту эккаунта (для форекса - стоимость тика сразу в валюте эккаунта сообщается).
Это я скопипастил из Report.mqh. Там еще так.
Report работает для торговой истории с символами, которых уже давно нет в Обзоре рынка. И он понятия не имеет, Forex это или что-то иное. Однако, информации в истории чаще всего хватает, чтобы вычислить торговый оборот.
ЗЫ Из исходников следует, что если цены открытия и закрытия не совпадают, то расчет идет по такой формуле.
(OrderOpenPrice() + OrderClosePrice()) * MathAbs(OrderProfit() / ((OrderClosePrice() - OrderOpenPrice()))Вы про это?
Торговый оборот - сколько денег перемалываете. С него и комиссия считается у нормальных брокеров.
Если, например, нужны индивидуальные условия, то первое, что спросят, это про размер торгового оборота.
То что в Report сделано я воспроизвел и написал об этом в первом сообщении. Сортировки по ним совпадают с сортировкой по просто объемам.
Проблема с вариантом расчета без Mt4Orders.
Функция https://www.mql5.com/ru/forum/98421/page2#comment_2908365 дает совсем другие результаты
Один из результатов этой функции: -149,96. Знак - можно убрать fabs()
А для того же расчета через Report: 13 839 230.40
Может у вас есть эквивалент для МТ5 совпадающий с MT4Orders?
Если нет, то самое простое решение - можно ли торговлю сделанную через MT5 функции потом посмотреть в истории через MT4Orders. Чтобы использовать вот это
Если нет, то самое простое решение - можно ли торговлю сделанную через MT5 функции потом посмотреть в истории через MT4Orders.
Так именно так и работает Report.mqh! Или я совсем не понимаю вопросы сегодня.
Turn_Over += (OrderOpenPrice() + OrderClosePrice()) * MathAbs(OrderProfit() / ((OrderClosePrice() - OrderOpenPrice()));Можно упростить подставив:
OrderProfit()=(OrderClosePrice()-OrderOpenPrice()) * OrderLots() * lotSize
Подставим
Удалим (OrderClosePrice()-OrderOpenPrice())
Найдем размер 1 лота/контракта:
Получим lotSize для Virtual в мат. режиме из OrderProfit()=(OrderClosePrice()-OrderOpenPrice()) * OrderLots() * lotSize
Итого для Virtual
Для МТ5: (именно это я хотел получить изначально и оказалось намного проще, чем в том примере)
Результаты точно совпадают.
Но не уверен, что надо использовать SYMBOL_TRADE_CONTRACT_SIZE, а не lotSize=SYMBOL_TRADE_TICK_VALUE / SYMBOL_TRADE_TICK_SIZE;
Или результат по теории одинаков? На практике с простым примером с одним символом - да.
Итого для Virtual
Т.е. получили то, что изначально написал.
не уверен, что надо использовать SYMBOL_TRADE_CONTRACT_SIZE, а не lotSize=SYMBOL_TRADE_TICK_VALUE / SYMBOL_TRADE_TICK_SIZE;
Или результат по теории одинаков? На практике с простым примером с одним символом - да.
Символа может не быть в Обзоре рынка.