Download MetaTrader 5

OrderCommission() must be subtracted?

To add comments, please log in or register
Rasoul Mojtahedzadeh
28840
Rasoul Mojtahedzadeh  

In order to calculate the total profit/loss of an open position, which one of the following equations is correct?

double pl = OrderProfit()+OrderCommission()+OrderSwap();

or

double pl = OrderProfit()-OrderCommission()+OrderSwap();
whroeder1
15060
whroeder1  
I've only seen plus commission. Don't have a broker charging it so never have verified.
Rasoul Mojtahedzadeh
28840
Rasoul Mojtahedzadeh  

If the value of OrderCommission() is always positive (which is not for OrderSwap()), then the second equation must be correct always:

double pl = OrderProfit()-OrderCommission()+OrderSwap();
honest_knave
Moderator
2403
honest_knave  
Rasoul:

If the value of OrderCommission() is always positive (which is not for OrderSwap()), then the second equation must be correct always:

It's always negative for me:

 

If you have any doubt or variation between brokers, force it to be positive with fabs()

Rasoul Mojtahedzadeh
28840
Rasoul Mojtahedzadeh  
honest_knave:

It's always negative for me:

If you have any doubt or variation between brokers, force it to be positive with fabs()


Thanks for providing real examples. Then I think the following equation must always work correctly:

double pl = OrderProfit()-MathAbs(OrderCommission())+OrderSwap();
Alain Verleyen
Moderator
31594
Alain Verleyen  
Rasoul:


Thanks for providing real examples. Then I think the following equation must always work correctly:

No it's not. Your first proposal is the good one.
honest_knave
Moderator
2403
honest_knave  

Well, let's cut to the chase... I think the confusion has come from "only seen plus commission [in formula]" being interpreted as "value of OrderCommission() is always positive".

Unless your broker pays you a commission for each trade (if so, please give me your broker's details!) it is going to be a negative number.

In which case just add them all together.

However, if somebody has found a broker anomaly which shows a charged commission as a positive number, then fabs() is one way to deal with it. Whether that causes issues with refunded commissions etc I have no idea.

To add comments, please log in or register