int pipsProfitOrder = (int)MathFloor( ( OrderProfit() + OrderSwap() + OrderCommission() ) / (SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE)*OrderLots()) )
не, не прокатит такая формула, много "костылей":
1. OrderProfit() - возвращает в валюте депозита, если счет рублевый, то и значение OrderProfit() будет плавать в зависимости от курса RUR
2. OrderSwap() - нужно проверять как считает свопы сервер, если сервер считает свопы в пп, то ваша формула будет врать и потом трудно найти почему на одном инструменте работает, а на другом нет
мой пример корректно считает прибыль в пп, но хочу найти правильное решение этой задачи - универсальное решение , к примеру,для покупок 1 лотом: "(Bid - OrderOpenPrice()) *OrderLots() " и так чтобы можно было на любом инструменте гарантированно иметь правильный результат вне зависимости от объема ордера и количества ордеров и типов ордеров (BUY/SELL) на одном инструменте
не, не прокатит такая формула, много "костылей":
1. OrderProfit() - возвращает в валюте депозита, если счет рублевый, то и значение OrderProfit() будет плавать в зависимости от курса RUR
2. OrderSwap() - нужно проверять как считает свопы сервер, если сервер считает свопы в пп, то ваша формула будет врать и потом трудно найти почему на одном инструменте работает, а на другом нет
мой пример корректно считает прибыль в пп, но хочу найти правильное решение этой задачи - универсальное решение , к примеру,для покупок 1 лотом: "(Bid - OrderOpenPrice()) *OrderLots() " и так чтобы можно было на любом инструменте гарантированно иметь правильный результат вне зависимости от объема ордера и количества ордеров и типов ордеров (BUY/SELL) на одном инструменте
OrderSwap()+OrderCommision() надо суммировать в отдельную сумму (они __уже__ начислены и не имеют отношения к объёму ордера) и потом на её основе, TICK_VALUE и суммы лотов корректировать среднюю позицию. Каждый день
OrderSwap()+OrderCommision() надо суммировать в отдельную сумму (они __уже__ начислены и не имеют отношения к объёму ордера) и потом на её основе, TICK_VALUE и суммы лотов корректировать среднюю позицию. Каждый день
ну дайте пример в коде Ваших мыслей, у меня реальная проблема найти правильный расчет прибыли позиции с разнонаправленными ордерами в МТ4
как позиция считается в МТ5? - должна же быть формула основанная на переменных окружения торгового терминала по конкретному инструменту!
ну дайте пример в коде Ваших мыслей, реально проблема найти правильный расчет прибыли позиции с разнонаправленными ордерами в МТ4
как позиция считается в МТ5? - должна же быть формула основанная на переменных окружения торгового терминала по конкретному инструменту!
пример в коде вы сами дали прямо в исходном посте. Там ВСЁ есть. Что-же вы его не читали-то ?
https://www.mql5.com/go?link=https://www.mql5.com/ru/code/10007
- голосов: 32
- 2010.11.30
- Evgeniy Trofimov
- www.mql5.com
пример в коде вы сами дали прямо в исходном посте. Там ВСЁ есть. Что-же вы его не читали-то ?
https://www.mql5.com/go?link=https://www.mql5.com/ru/code/10007
первая версия ProfitLine точно не правильно считает общую позицию разнонаправленных ордеров - я проверял, вставлял в эксперт ф-цию
double ProfitPrice(string fSymbol, int fType, int fMagic=0, double MyProfit=0.0)
вторую версию этого индикатора не стал даже проверять, написал свою ф-цию (в шапке топика), моя ф-ция считает корректно
но вопрос именно в принципах расчета прибыли позиции ордеров в пп используя переменные окружения терминал МТ4
как склеить в логическую цепочку ))) значения TICK_VALUE, Point и пр
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
В который раз ищу ответ на свой вопрос и не смог найти что-нибудь рабочее
в кодобазе есть индикатор "Уровень безубытка (ProfitLine) - индикатор для MetaTrader 4"
https://www.mql5.com/ru/code/10007
попробовал использовать его, сложно сказать, но не правильно он считает одновременно открытые разнонаправленные ордера (BUY и SELL)
попробовал самостоятельно написать вот такую ф-цию:
проверял на валютных парах - работает корректно и на 5-тизнаке и на 4-хзнаке
но коэффициент (переменная koef ) я подобрал экспериментальным путем, а в теории
koef = MarketInfo(OrderSymbol(),MODE_TICKVALUE) / MarketInfo(OrderSymbol(), MODE_POINT)
помогите сделать ф-цию подсчета прибыли в пп для любого инструмента для любого количества знаков в инструменте и .. даже не знаю - зависит ли всё это от валюты депозита?
Заранее благодарен!