#property indicator_chart_window
extern string i="0 - ïðîöåíòû, 1 - óðîâåíü ñòîïà";
extern string I="2 - êîìáèíàöèÿ, 3 - èñòîðèÿ";
extern int mode = 2;
extern color cvet_m = Magenta;
extern color cvet_p = Yellow;
extern color cvet_o = Blue;
color cvet;
string s;
string text,textp,TEXT;
int vertikal=20;
//+------------------------------------------------------------------+
int ticket[50];
int tickets[50];
double close[50];
int ver;
double profit;
double bal;
int k=0;
//+------------------------------------------------------------------+
int start(){
if(mode==3)return;
int i=0;
//+------------------------------------------------------------------+
for(;i<OrdersTotal();i++)
{
//+------------------------------------------------------------------+
OrderSelect(i,SELECT_BY_POS);
//+------------------------------------------------------------------+
double proc=OrderProfit()/(AccountBalance()/100);
if(proc>=0){cvet=cvet_p;textp=" "+DoubleToStr(proc,2)+" %";}
if(proc<0){cvet=cvet_m;textp=DoubleToStr(proc,2)+" %";}
//+------------------------------------------------------------------+
if(mode==1||mode==2)
{
double stop=OrderStopLoss();
double open=OrderOpenPrice();
int type=OrderType();
double pips=MarketInfo(OrderSymbol(),MODE_POINT);
if(type==0||type==2||type==4)
{
if(stop>open){text="+"+DoubleToStr((stop-open)/pips,0);}
else
{text=" "+DoubleToStr((stop-open)/pips,0);}
}
if(type==1||type==3||type==5)
{
if(stop<open){text="+"+DoubleToStr((open-stop)/pips,0);}
else
{text=" "+DoubleToStr((open-stop)/pips,0);}
}
if(stop==0)text=" NO";
if(stop==open)text=" Á/Ó";
}
if(mode==0)TEXT=textp;
if(mode==1)TEXT=text;
if(mode==2)TEXT=text+" | "+textp;
//+------------------------------------------------------------------+
if(OrderType()>1)cvet=cvet_o;
//+------------------------------------------------------------------+
string z=i;
ObjectCreate("%"+z,OBJ_LABEL,0,0,0);
ObjectSet("%"+z, OBJPROP_CORNER, 1);
ObjectSet("%"+z,OBJPROP_XDISTANCE,20);
ObjectSet("%"+z,OBJPROP_YDISTANCE,vertikal);
ObjectSetText("%"+z,OrderSymbol()+" : "+TEXT,11,"Verdana",cvet);
vertikal=vertikal+20;
}
vertikal=20;
//+------------------------------------------------------------------+
while(i<30){ObjectDelete("%"+i);i++;}
//+------------------------------------------------------------------+
return;}
//+------------------------------------------------------------------------------------------------------------------------+
void init(){deinit();if(mode==3)history();return;}
//+------------------------------------------------------------------------------------------------------------------------+
int deinit(){int i=0;while(i<50){ObjectDelete("%"+i);i++;}return;}
//+------------------------------------------------------------------------------------------------------------------------+
void history(){
int total=OrdersHistoryTotal();
for(int i=total-1;i>0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderType()>1)continue;
profit=OrderProfit()+profit+OrderSwap();
ticket[k]=OrderTicket();
close[k]=OrderCloseTime();
if(close[k]==close[k-1])close[k]=close[k]-1;
k++;
if(k>49)break;
}
//+------------------------------------------------------------------+
bal=AccountBalance()-profit;
//+------------------------------------------------------------------+
int h=0;int q=0;
for(int y=0;y<k;y++)
{
while(q<k){if(close[y]>close[q]){h++;}q++;}
tickets[h]=ticket[y];
h=0;q=0;
}
//+------------------------------------------------------------------+
int s=(-1);
ver=k*10;
for(i=0;i<k;i++)
{
OrderSelect(tickets[i],SELECT_BY_TICKET,MODE_HISTORY);
double proc=OrderProfit()/(bal/100);
bal=bal+OrderProfit()+OrderSwap();s++;
if(proc>=0){cvet=cvet_p;string Text="+"+DoubleToStr(proc,2)+" %";}
if(proc<0){cvet=cvet_m;Text=" "+DoubleToStr(proc,2)+" %";}
//+------------------------------------------------------------------+
string z=s;
ObjectCreate("%"+z,OBJ_LABEL,0,0,0);
ObjectSet("%"+z, OBJPROP_CORNER, 1);
ObjectSet("%"+z,OBJPROP_XDISTANCE,10);
ObjectSet("%"+z,OBJPROP_YDISTANCE,ver);
ObjectSetText("%"+z,OrderSymbol()+" : "+Text,7,"Verdana",cvet);
ver=ver-10;
//+------------------------------------------------------------------+
}
return;}
//+------------------------------------------------------------------+
Comments