Как МТ4 считает размер прибыли/убытка на уровнях SL/TP ?

 

Захотелось постоянно видеть на графике величину прибыли/убытка по текущим открытым позициям и их уровням лосса и профита. Написал индикатор. Но получаемые значения не совпадают с тем, что сам МТ4 отображает, при наведении мышкой на линии SL/TP. Особенно заметно на рублевом депозите и кроссах. В чем причина? Как считать правильно?

MarketInfo(Symbol(), MODE_TICKVALUE) * (OrderTakeProfit() - OrderOpenPrice()) * 100000 * OrderLots()

Рублевый Долларовый

 

может скобок не хватает?

MarketInfo(Symbol(), MODE_TICKVALUE) * ((OrderTakeProfit() - OrderOpenPrice()) * 100000) * OrderLots()
 
Значение TickValue справедливо для текущего момента времени. Тогда, когда цена дойдет до уровня стопа или профита, величина TickValue будет другой, т. к. у символов, базовая валюта которых не совпадает с валютой депозита, она не является постоянной. 
 
Scriptong:
Значение TickValue справедливо для текущего момента времени. Тогда, когда цена дойдет до уровня стопа или профита, величина TickValue будет другой...
А я и говорю про текущий момент. Сделал обновление данных индикатора по таймеру 1 раз в секунду и наблюдаю... смотрю на свои цифры и периодически подвожу мышку к уровням и сравниваю с появляющимся хинтом... Стабильно присутствует разница! При этом рынок спокойный, резких движений нет ни по наблюдаемой паре, ни по рублю.
 
AlexPORT:
А я и говорю про текущий момент. Сделал обновление данных индикатора по таймеру 1 раз в секунду и наблюдаю... смотрю на свои цифры и периодически подвожу мышку к уровням и сравниваю с появляющимся хинтом... Стабильно присутствует разница! При этом рынок спокойный, резких движений нет ни по наблюдаемой паре, ни по рублю.
Так ведь терминал вычисляет значения убытка и прибыли именно на основании тех цен, которые будут, а не для текущего момента. Чтобы совпадало, нужно самостоятельно рассчитать TickValue для цен, соответствующих стопу и профиту. Вот в чем проблема.
Причина обращения: