//+------------------------------------------------------------------+ //| Âèêòîð ×åáîòàð¸â | //| http://www.chebotariov.co.ua/ | //+------------------------------------------------------------------+ #property copyright "Âèêòîð ×åáîòàð¸â" #property link "http://www.chebotariov.co.ua/" extern double risk = 10; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int trade, cnt, cnt2, ticket; int total=OrdersTotal(); double OpenLots=0; //---- for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderType()==OP_SELL || OrderType()==OP_BUY) { OpenLots += OrderLots(); } } //---- double Lots=NormalizeDouble(AccountBalance()/1000,1); double raznica = MathMod(Lots,MarketInfo(Symbol(),MODE_LOTSTEP)); if(raznica>0.1){Lots-=raznica;} double Lots2=NormalizeDouble(Lots*risk/100.0,1); if(raznica>0.1){Lots2-=raznica;} double Lots3=MathAbs(Lots2)-MathAbs(OpenLots); if(Lots3<0 && Lots3>(raznica*(-1))){Lots3=0;} int i,ks; double op,ou; for(i=0;i<HistoryTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(OrderProfit()>0) { op+=OrderProfit(); } else { ou+=OrderProfit(); } op+=OrderSwap(); ks++; } } } double totalprofit=NormalizeDouble(op+ou,2); double totalprofitpersent=NormalizeDouble(100/(AccountBalance()-totalprofit)*totalprofit,2); Comment("Äîñòóïíî: ",Lots," Ðàçðåøåíî: ",Lots2," Èñïîëüçóåòñÿ: ",OpenLots," Ìîæíî äîáàâèòü: ",Lots3,"\n","Ðèñê: ",risk,"% Ïðèáûëü: ",AccountProfit()," (",NormalizeDouble(100/AccountBalance()*AccountProfit(),2),"%) Îáùàÿ ïðèáûëü: ",totalprofit," (",totalprofitpersent,"%)"); return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Checks for the total of open orders
Other Features: