Market System Analyzer MSA Adaptrade Fixed Fraction problem... | Trading Reviews and Vendors


futures.io - futures trading strategies, market news, trading charts and platforms


Trading Reviews and Vendors


Discuss and review vendors of commercial trading products, trading rooms and services, trading indicators or third-party paid add-ons




 

Market System Analyzer MSA Adaptrade Fixed Fraction problem...

  #1 (permalink)

Trading Apprentice
Malaga, Spain
 
Futures Experience: Beginner
Platform: MetaTrader
Favorite Futures: Forex
 
Posts: 1 since Jun 2015
Thanks: 0 given, 0 received

Market System Analyzer MSA Adaptrade Fixed Fraction problem...

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.

What
I calculate lot size like this

 
Code
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) ;


Last edited by Big Mike; June 17th, 2015 at 12:46 PM. Reason: code tags
 
Page generated 2018-08-19 in 0.07 seconds with 11 queries on phoenix