Real author:
Mohammad Soubra
This is not a profitable EA.
This is just a basic/simple example for coders.
This example has been built using SAR (Stop And Reverse) indicator.
With Advanced Money Management function:
//+------------------------------------------------------------------+ //Â Â Â Â expert AdvancedMM function //+------------------------------------------------------------------+ double AdvancedMM() Â Â { Â Â int i; Â Â double AdvancedMMLots=0; Â Â bool profit1=false; Â Â int SystemHistoryOrders=0; Â Â Â Â for(i=0;i<OrdersHistoryTotal();i++) Â Â Â Â { Â Â Â Â Â Â bool ordsel = OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); Â Â Â Â Â Â if(OrderMagicNumber()==MagicNumber) SystemHistoryOrders++; Â Â Â Â } Â Â Â Â Â Â bool profit2=false; Â Â int LO=0; Â Â Â Â if(SystemHistoryOrders<2) return(Lots); Â Â for(i=OrdersHistoryTotal()-1;i>=0;i--) Â Â Â Â { Â Â Â Â Â Â if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) Â Â Â Â Â Â Â Â if(OrderMagicNumber()==MagicNumber) Â Â Â Â Â Â Â Â Â Â { Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()>=0 && profit1) return(Lots); Â Â Â Â Â Â Â Â Â Â Â Â if(LO==0) Â Â Â Â Â Â Â Â Â Â Â Â Â Â { Â Â Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()>=0) profit1=true; Â Â Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()<0)Â Â return(OrderLots()); Â Â Â Â Â Â Â Â Â Â Â Â Â Â LO=1; Â Â Â Â Â Â Â Â Â Â Â Â Â Â } Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()>=0 && profit2) return(AdvancedMMLots); Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()>=0) profit2=true; Â Â Â Â Â Â Â Â Â Â Â Â if(OrderProfit()<0) Â Â Â Â Â Â Â Â Â Â Â Â Â Â { Â Â Â Â Â Â Â Â Â Â Â Â Â Â profit1=false; Â Â Â Â Â Â Â Â Â Â Â Â Â Â profit2=false; Â Â Â Â Â Â Â Â Â Â Â Â Â Â AdvancedMMLots+=OrderLots(); Â Â Â Â Â Â Â Â Â Â Â Â Â Â } Â Â Â Â Â Â Â Â Â Â } Â Â Â Â } Â Â return(AdvancedMMLots); Â Â }
Recommendations:
- Take Care!