Market System Analyzer MSA Fixed Fraction problem understanding

eurgbp

Junior member
11 0
Market System Analyzer MSA Fixed Fraction problem understanding
I am a total noob in FX & MM and I am having difficulty with understanding Market System Analyzer 
Could you explain it to me as if I am 2 year old, step by step with examples?
Alpari FX, Margin 1:500, Margin per 0.01 Lot is 3 USD
USDJPY trades are

Historically max loss was -9.29 USD for Lot 0.01, but stoploss is possible -16 USD loss for 0.01 Lot
And according to Metatrader 4 trading charts, price on multiple occasions was very close to hitting stoploss -16 USD before bouncing back and closing in profits or less losses.
Thus, I put in MSA that maximum risk was -16 USD for each 0.01 LOT as my strategy dictates
Initial Balance in MSA 1000 USD
Max lot size 10 000, because Alpari FX allows max 100 Lots 100 /0.01 = 10 000 MSA lots
Initial Margin Per Contract 4$, in reality Alpari wants 2 USD margin for USDJPY if leverage 1:500
Just to be safe…
Monte Carlo 10 000 samples, F7 Optimize Position Size, Fixed Fraction from Equity
These are historical trades
12.52
12.48
1.52
5.68
6.48
-1.95
-1.92
6.1
9.58
5.24
-4.96
14.33
15.69
6.58
7.38
11.96
11.24
4.64
5.85
14.56
8.39
4.31
9.07
1.02
-3.12
-0.18
3.18
-9.29
-4.54
6.41
5.55
12.75
12.49
-0.14
18.17
22.79
-2.3
-1.33
21.17
7.55

usdjpy.msa
Position Sizing: Fixed Risk
Fixed Fraction (%): 100.0 (Optimal)
Starting Equity: $1,000.00
Equity High: $1,542,937.19
Equity Low: $156.22
Net Profit: $1,541,937.19
Final Equity: $1,542,937.19
Return on Starting Equity: 154200.%
Number of Trades: 41
Percent Profitable: 73.17%
Max Contracts: 10,000
Largest Win: $227,900.00
Ave Win: $51,428.94
Max Consec Wins: 26
Largest Loss: ($334.44)
Ave Loss: ($84.63)
Max Consec Losses: 7
Win - Loss Ratio: 607.7
Ave Trade: $37,608.22
Ave Trade (%): 24.10%
Max Drawdown: $843.78
Max Drawdown (%): 84.38%
Profit Factor: 1657.
Return - Drawdown Ratio: 1827.
Modified Sharpe Ratio: 0.7725

100% or even 150% of equity Optimal Fixed Fraction, really?
What is it mean?
I have to risk 100% of my account on each trade?
How should I use MSA results then?


Here is answer from MSA creator
You’re not understanding how the program works. 100% fixed fraction doesn’t mean you risk 100%. It only risk up to the maximum position size. You could put a fixed fraction of 10000000%, and you wouldn’t be risking any more than the maximum size. That’s why you have a maximum size. The 100% result is just what the optimization gives you because you set a hard limit on the size. That’s why I suggested you use the Parameter Studies feature so you can see how the fixed fraction is related to the results.

MSA has been used by over 1000 traders for more than 10 years, including many professional money managers. The calculations have been fully verified. I’m sorry if the functionality of the program is not clearer.

I calculate lot size like this
double current_balance = 0;

int nOrders = 0; datetime OCTs[];
for(int iPos=(OrdersHistoryTotal()-1); iPos >= 0; iPos--) if (
OrderSelect(iPos, SELECT_BY_POS, MODE_HISTORY) // Only orders w/
&& OrderMagicNumber() == Magic // my magic number
&& OrderSymbol() == Symbol() // and my pair.
&& OrderType() <= OP_SELL//Avoid cr/bal forum.mql4.com/32363#325360
)
{

double True_Profit = OrderProfit()+OrderSwap()+OrderCommission();
current_balance += True_Profit;
if (debug) Print("True Profit="+True_Profit+";current_balance="+current_balance+";OrderProfit="+OrderProfit()+";OrderSwap()="+OrderSwap()+";OrderCommission()="+OrderCommission()+";OrderType()="+OrderType()+";OrderOpenPrice="+OrderOpenPrice()+";OrderClosePrice="+OrderClosePrice()+";OrderOpenTime()="+OrderOpenTime()+";OrderTicket()="+OrderTicket()+";OrderLots()="+OrderLots());
// current_balance
// double profit = (OrderClosePrice()-OrderOpenPrice())*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)/Point;
//if (debug) Print ("profit="+profit);
}
current_balance += initial_deposit;

if (debug) Print(Symbol() +";AccountFreeMargin()="+AccountFreeMargin()+";initial_deposit="+initial_deposit+"; current_balance="+current_balance);

current_balance=current_balance*0.95;
double normalized_balance = NormalizeDouble(current_balance,2);
double RiskDollars = (RiskPercent/100) *normalized_balance;
RiskDollars = NormalizeDouble(RiskDollars,0);
// slippage? spread?
double RiskStopLoss = StopLoss*10 +Slippage*10+MarketInfo(Symbol(), MODE_SPREAD);


double pip_value = (MarketInfo(Symbol(), MODE_TICKVALUE)/ MarketInfo(Symbol(), MODE_TICKSIZE)) * Point; // true stable pip value in USD deposit currency
Print (" RiskDollars="+ RiskDollars+";RiskStopLoss="+RiskStopLoss+";pip_value="+pip_value+";1 lot risk RSL*pipvalue="+(pip_value*RiskStopLoss));
LotSize = NormalizeDouble( RiskDollars/(pip_value*RiskStopLoss),2) ;



http://postimg.org/gallery/z33u7clg/3532b517/
msa_risk_100_of_equity_per_trade.png

msa_fixed_fraction.png
 
 
AdBlock Detected

We get it, advertisements are annoying!

But it's thanks to our sponsors that access to Trade2Win remains free for all. By viewing our ads you help us pay our bills, so please support the site and disable your AdBlocker.

I've Disabled AdBlock