Загляните в статью Азбука торговли валютами
Спасибо, я прочитал. Но спрашивал о другом. Наверно, я не точно
выразился.
Скажу по другому:
Я заметил разницу между прибылью (прибыль в валюте депозита), которая показывается в терминале (или прибылью, которая возращается функцией OrderProfit())
и прибылью, которую я сам считаю по формуле:
profit_money = NormalizeDouble(profit_pip * MarketInfo(OrderSymbol(), MODE_TICKVALUE) * OrderLots(), 2); // profit_pip - прибыль в пунктах
Сравнивал в один и тот же момент времени!
Примера, к сожалению пока нет, но как опять засеку обязательно зафиксирую на примере.
Такая разница возникает (я думаю):
1) если прибыль в терминале подсчитывается по другому (это я и спрашивал в самом первом посте)
2) MarketInfo(OrderSymbol(), MODE_TICKVALUE) округляет значение до 2-го знака ('MarketInfo(Symbol(), MODE_TICKVALUE) округляет стоимость пункта до 2-го знака?')
3) Возможно, либо MarketInfo() запаздывает либо в терминале для подсчета не MarketInfo() используется.
Еще интересно, если при расчетах получится значение с большем числом знаков после запятой, чем 2 (т.е. X.XXXX), то для приведение к валюте используется обычное правило округления, т.е. NormalizeDouble(value, 2)?
Еще хотел узнать, когда обновляется MarketInfo(OrderSymbol(), MODE_TICKVALUE)?
По моему, эта функция обновляется по приходу нового тика у данного инструмента ("NZDJPY"), что не совсем правильно, так как стоимость пункта у такой пары как "NZDJPY" должна меняется по приходу тиков на инструменты "NZDUSD" или "USDJPY", т.е. стоимость пункта иструмента "NZDJPY" зависит от цены инструмента "NZDUSD" (если "JPY" - базовая) или "USDJPY" (если "NZD" - базовая), я правильно думаю?
Скажу по другому:
Я заметил разницу между прибылью (прибыль в валюте депозита), которая показывается в терминале (или прибылью, которая возращается функцией OrderProfit())
и прибылью, которую я сам считаю по формуле:
profit_money = NormalizeDouble(profit_pip * MarketInfo(OrderSymbol(), MODE_TICKVALUE) * OrderLots(), 2); // profit_pip - прибыль в пунктах
Сравнивал в один и тот же момент времени!
Примера, к сожалению пока нет, но как опять засеку обязательно зафиксирую на примере.
Такая разница возникает (я думаю):
1) если прибыль в терминале подсчитывается по другому (это я и спрашивал в самом первом посте)
2) MarketInfo(OrderSymbol(), MODE_TICKVALUE) округляет значение до 2-го знака ('MarketInfo(Symbol(), MODE_TICKVALUE) округляет стоимость пункта до 2-го знака?')
3) Возможно, либо MarketInfo() запаздывает либо в терминале для подсчета не MarketInfo() используется.
Еще интересно, если при расчетах получится значение с большем числом знаков после запятой, чем 2 (т.е. X.XXXX), то для приведение к валюте используется обычное правило округления, т.е. NormalizeDouble(value, 2)?
Еще хотел узнать, когда обновляется MarketInfo(OrderSymbol(), MODE_TICKVALUE)?
По моему, эта функция обновляется по приходу нового тика у данного инструмента ("NZDJPY"), что не совсем правильно, так как стоимость пункта у такой пары как "NZDJPY" должна меняется по приходу тиков на инструменты "NZDUSD" или "USDJPY", т.е. стоимость пункта иструмента "NZDJPY" зависит от цены инструмента "NZDUSD" (если "JPY" - базовая) или "USDJPY" (если "NZD" - базовая), я правильно думаю?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Объясню на примере:
В терминале можно просматривать прибыль: в пунктах, в валюте ордера, в валюте депозита.
Допустим сейчас у меня прибыль составляет +1 пункт (сейчас 1 пункт стоит 10 единиц в валюде депозита), т.е. моя прибыль 10 е.д. (е.д. - единиц в валюде депозита)
Потом стоимость пункта изменилась (1 пункт стал стоит 12 е.д.) и еще моя прибыль увеличилась на +1 пункт (т.е. увеличилась на 12 е.д.).
Теперь прибыль стала (1+1 = 2) пункта, а в валюте депозита это сколько?
1) Должно, вроде, стать (10 + 12 = 22) е.д. (2 пункта стоят 22 е.д. или 1 пункт стоит 11 е.д.)
2) Или (12 + 12 = 24) е.д. (2 пункта стоят 24 е.д. или 1 пункт стоит 12 е.д. )
Какой вариант правильный?