2 Slawa Starikoff Stringo

[Удален]  

Я вставилв Ваш код - у меня все работает: все показатели в долларах считает правильно, но в пунктах (открыть строчку profit=(OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);) неправильно. Должна быть прибыль, а в пунктах получается отрицательное число.

Помогите, пожалуйста)

Хотела уточнить, ведь если после оптимизации упорядочить результаты по возрастанию по итоговому балансу (он выводится в долларах), это не равносильно упорядочиванию по балансу, выраженному в пунктах? К сожалению, в этом у меня несоответствие)

 

Правильно для позиций если цена закрытия ниже цены закрытия, то разность OrderClosePrice()-OrderOpenPrice() дает отрицательное число.

OrderClosePrice()<OrderOpenPrice() ----> OrderClosePrice()-OrderOpenPrice()<0

OrderClosePrice()>OrderOpenPrice() ----> OrderClosePrice()-OrderOpenPrice()>0

Простая математика.

Опять же нужно учитывать тип позиции, для SELL прибыль

OrderOpenPrice()-OrderClosePrice()

для BUY

OrderClosePrice()-OrderOpenPrice()

[Удален]  
А девушек среди нас все больше и больше! :)
[Удален]  
Luptator писал (а) >>

Правильно для позиций если цена закрытия ниже цены закрытия, то разность OrderClosePrice()-OrderOpenPrice() дает отрицательное число.

OrderClosePrice()<OrderOpenPrice() ----> OrderClosePrice()-OrderOpenPrice()<0

OrderClosePrice()>OrderOpenPrice() ----> OrderClosePrice()-OrderOpenPrice()>0

Простая математика.

Опять же нужно учитывать тип позиции, для SELL прибыль

OrderOpenPrice()-OrderClosePrice()

для BUY

OrderClosePrice()-OrderOpenPrice()

Спасибо!

Только, если честно, то я программирую на С++, а этот модуль подключила, чтобы помочь товарищу и не все функции знаю в Мета Трейдере. Если несложно, плиз, напишите как это должно выглядеть или хотя проверку типа ордере

Этот модуль для создания своего отчета и подсчета прибыли в пунктах я взяла у Stringo

'Самостоятельная оценка результатов тестирования эксперта'

[Удален]  
 //---- market orders only
      if(type!=OP_BUY && type!=OP_SELL) continue;
      //---- calculate profit in points
if (type==OP_BUY) profit=(OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
if (type==OP_SELL) profit=(OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT);
      SummaryProfit+=profit;
[Удален]  
D500_Rised писал (а) >>

2 D500_Rised

Спасибо, все работает!