//+------------------------------------------------------------------+
//|                                                Pendulum 2_05.mq4 |
//|                                              Copyright © BFE2006 |
//|                                         http://BFE2006@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © BFE2006"
#property link      "http://BFE2006@yandex.ru"
//+------------------------------------------------------------------+
//|                       Ïàðàìåòðû ðàáîòû                           |
//| - Âûñòàâëÿåò äâà ñòàðòîâûõ îòëîæåííûõ îðäåðà íà ïîêóïêó è ïðîäàæó|
//|   (ðàçìåð ëîò ðàñ÷èòûâàåòñÿ àâòîìàòè÷åñêè èñõîäÿ èç ðàçìåðîâ     |
//|   äåïîçèòà è ìàêñèìàëüíîãî óâåëå÷åíèÿ "ïëå÷à"îò 0.01 äî 0.07ëîòà)|
//|   ñ ó÷åòîì ðàçìåðà 2-õ ïðåäèäóùèõ äíåâíûõ áàðîâ (ðàññòîÿíèå îò   |
//|   òåêóùåé öåíû, âåëè÷èíà òðàëëà è ïèïñîâêè)                      |
//|                                                                  |
//| - Òðàëëèò îòëîæåííûå îðäåðà âñëåä çà öåíîé äî ñðàáàòûâàèÿ        |
//|   îäíîãî èç íèõ                                                  |
//|                                                                  |
//| - Ïèïñóåò ñðàáîòàâøèé îðäåð, èçìåíèâ ïðîòèâîïîëîæíûé îðäåð íà    |
//|   óðîâåíü "ïëå÷à". Îòëþ÷àåò òðàëë, òàêèì îáðàçîì îáàçíà÷èâ       |
//|   ãðàíèöû òîðãîâëè                                               |
//|                                                                  |
//| - Ïðè ðàçâîðîòå öåíû è îòêðûòèè îðäåðà ñ "ïëå÷îì", â             |
//|   ïðîòèâîïîëîæíóþ ñòîðîíó ñòàâèò îòëîæåííûé îðäåð ñ áîëüøèì      |
//|   ïëå÷îì â îáðàòíóþ ñòîðîíó ïî öåíå ïåðâîãî îòêðûòîãî îðäåðà è   |
//|   ò.ä.. (ìàêñèìàëüíûé ëîò óâåëè÷èâàåòñÿ íà 2*128).               |
//|   Ñîçäàâàÿ ìàÿòíèê. Ïèïñîâêà îòêëþ÷àåòñÿ.                        |
//|                                                                  |
//| - Êîíòðîëèðóåò îáùóþ ïðèáûëü è óáûòîê (àâòîìàòè÷åñêè             |
//|   ðàñ÷èòûâàåòñÿ ïðîöåíò ïðèáûëè îò 2% äî 0.2%). Ïðè íàëè÷èè      |
//|   ïðèáûëè çàêðûâàåò âñå îðäåðà.                                  |
//+------------------------------------------------------------------+
// ============== Ïàðàìåòðû, íàñòðàèâàèìûå ïîëüçîâàòåëåì =============
// ---------------- Ïàðàìåòðû, îáùèå äëÿ âñåõ îðäåðîâ ----------------
int      MAGIC=0;                 //Ó îðäåðîâ îòêðûòûõ âðó÷íóþ MAGIC=0. 
double   Lot;                     //Ëîò äëÿ óñòàíîâêè îðäåðà.
extern string   text1="--- Âûáîð êîýôôèöèåíòà óâåëè÷åíèÿ ëîòà ---";
extern double   ruka=9;           //Ðóêà èçìåííåíèÿ ëîòà ïðè îòðèöàòåëüíîì ðàçâèòèè ñîáûòèé.
extern string   text2="--- Âûáîð óðîâíÿ ðèñêà ---";
extern string   text3="risk = 0: óðîâåíü ðèñêà ïîíèæàåòñÿ, ïðîöåíò ïðîôèòà íèæå";
extern string   text4="Äèàïàçîí: 1% - 0.1%";
extern string   text5="risk = 1: ðèñê áîëüøå, ïðîöåíò ïðîôèòà âûøå";
extern string   text6="Äèàïàçîí: 1.7% - 0.5%";
//extern double   risk=1;
extern string   text7="--- Âûáîð ðàññòîÿíèÿ ìåæäó îðäåðàìè ---";
extern string   text8="--- Åñëè 0, ïîäáèðàåòñÿ àâòîìàòè÷åñêè (îò 70-100 ïóíêòîâ) ---";
extern double   rastoyanie=0;
extern string   text9="--- Âûáîð ðàñ÷¸òà ïðîôèòà ---";
extern string   text10="--- Åñëè procent=0, ïðîôèò - ïðîöåíò îò äåïîçèòà ---";
extern string   text11="--- Åñëè procent=1, èñïîëüçóåì ÒÐÅÉËÈÍÃ ÑÒÎÏ ---";
extern double   PP=100;
extern double   procent=1;
extern string   text12="--- Óðîâåíü ÒÐÅÉËÈÍÃ ÑÒÎÏ ---";
extern string   text13="--- Åñëè TRS=0, ìèíèìàëüíûé ---";
extern double   TRS=0;
extern string   text14="--- Ñòàðòîâûé äåïîçèò ---";
extern double   Start_Depo=1000;
bool     Auto=true;               //Åñëè âêë., àâòîìàòè÷åñêè ðàññ÷èòûâàåòñÿ ðàçìåð ëîòà, ðóêè è 
                                  //ãëîáàëüíûõ ñòîïîâ.
bool     Ustan_BuyStop=true;      //Ìîæíî ëè ñòàâèü Áàé-Còîï åñëè â ðûíêå òàêîãî ó íàñ íåò.
bool     Ustan_SellStop=true;     //Ìîæíî ëè ñòàâèü Cåëë-Cñòîï åñëè â ðûíêå òàêîãî ó íàñ íåò.
int      st_Step;                 //Ðàññòîÿíèå â ïóíêòàõ îò óðîâíÿ òåêóùåé öåíû
                                  //äî óîðâíÿ óñòàíîâêè ñòîïîâîãî îðäåðà.
int      st_TrStop;               //Òðåéëèíã-Ñòîï ñòîïîâûõ îðäåðîâ. 
                                  //Åñëè = 0 òî òàðëà íåò è st_TrStep íå âàæåí.
int      st_TrStep;               //Øàã òðàëà ñòîïîâûõ îðäåðîâ.
int      PipsProfit;              //Ïðîôèò ïðè ïèïñîâêå ìîæíî ñòàâèòü 1, 2, 3, ...
int      Proskalz=5;                //Ïðîñêàëüçûâàíèå â ïóíêòàõ (íóæíî òîëüêî êîãäà PipsProfit>0).
double   pipsruka;                //Ïèïñîâêà äëÿ îðäåðîâ ñ ðóêîé.
bool     UseGlobalLevels=true;    //Âêë./Âûêë. îòñëåæèàíèÿ ãëîáàëüíûõ óðîâíåé ïðèáûëè/óáûòêà
                                  //åñëè UseGlobalLevels=false, òî çíà÷åíèò 
                                  //Global_TakeProfit è Global_StopLoss íå âàæíî.
double   Global_TakeProfit;       //Ãëîáàëüíûé Òåéê-Ïðîôèò (çàäà¸òñÿ â ïðîöåíòàõ).
double   Global_StopLoss;         //Ãëîáàëüíûé Ñòîï-Ëîññ (çàäà¸òñÿ â ïðîöåíòàõ).
// ---------- Ïðî÷èå ïåðåìåííûå --------------------------------------- 
 
double lot,sts,PNT,NewPrice,Price,Balans,Free,pips,glp,klv,prb,sred_profit;
double s_buy,s_sell,s_buystop,s_sellstop,s_buy_lot,s_buystop_lot,s_sell_lot,s_sellstop_lot;   //îòêðûòûå è îòëîæåííûå îðäåðà
string SMB,com1,com2,com3,com4,com5;
int    MinLevel;
bool   fm,b,s;
double prc2,prc1,prc08,prc06,prc04,prc02,l1,l2,raznost,t_raznost,L,H,sr,zzz;
double risk,prov,price_buy,price_sell,uroven_stop,izm,buy_sell,lll,mmm,nnn,vvv,min_lot,lot_ruka,MRG,T,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,balanc1,balanc2,balanc3,balanc4,balanc5,balanc6,balanc7,balanc8,balanc9,balanc10;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//------------ Ïðîâåðÿåì âêë. ñîâåòíèêà ------------------------------
  if(!IsExpertEnabled())//åñëè ëîæü 
   {Alert("Îøèáêà! Íå íàæàòà êíîïêà *Ñîâåòíèêè*");}
   else 
   {Comment("Êàê òîëüêî öåíà èçìåíèòñÿ, Ñîâåòíèê íà÷í¸ò ðàáîòó.");}
   
//------------- Çàïîìèíàåì íà÷àëüíûå çíà÷åíèÿ ------------------------ 
  SMB=Symbol();                           //Ñèìâîë âàëþòíîé ïàðû
  PNT=MarketInfo(SMB,MODE_POINT);         //Ðàçìåð ïóíêòà â âàëþòå êîòèðîâêè. 
                                          //Äëÿ òåêóùåãî èíñòðóìåíòà õðàíèòñÿ â ïðåäîïðåäåëåííîé
                                          //ïåðåìåííîé Point.
  MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Ìèíèìàëüíî äîïóñòèìûé óðîâåíü
                                          //ñòîï-ëîññà/òåéê-ïðîôèòà â ïóíêòàõ
 
//--------------------------------------------------------------------
    return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   ObjectCreate("label_object1", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object1", OBJPROP_XDISTANCE, 500);  
   ObjectSet("label_object1", OBJPROP_YDISTANCE, 17);
   ObjectSetText("label_object1", "Pendulum  version 2_05_2",9, "Verdana", Red);
   
   
   
//---- Ïðîâåðêà ðàáîòû â àâòîìàòè÷åñêîì ðåæèìå
if (Auto==true){Auto();}
MinLevel=MarketInfo(SMB,MODE_STOPLEVEL);//Ìèíèìàëüíî äîïóñòèìûé óðîâåíü
                                        //ñòîï-ëîññà/òåéê-ïðîôèòà â ïóíêòàõ
if (TRS==0){TRS=MinLevel;}
//---- Îïðåäåëÿåì ïðîöåíò äëÿ ãëîáàëüíîãî ïðîôèòà
l1=lot;l2=Lot*ruka;
raznost=l2-l1;//íàõîäèì ðàçíîñòü ìåæäó ñòàðòîâûì ëîòîì è ëîòîì ñ ðóêîé
t_raznost=MarketInfo(SMB,MODE_TICKVALUE)*raznost;
prc2=(AccountBalance()/100)*2;     //2%
prc1=(AccountBalance()/100)*1;     //1%
prc08=(AccountBalance()/100)*0.8;  //0.8%
prc06=(AccountBalance()/100)*0.6;  //0.6%
prc04=(AccountBalance()/100)*0.4;  //0.4%
prc02=(AccountBalance()/100)*0.2;  //0.2%
if(risk==1)
{
Global_TakeProfit=3;
}
if(risk==0)
{
Global_TakeProfit=0.1;
}
for(int i=1;i<=48;i++)
  {
  L=L+iLow(Symbol(),PERIOD_D1,1);
  H=H+iHigh(Symbol(),PERIOD_D1,1);
  }
//----
sr=((H-L)/i)*100000;
sr=(NormalizeDouble((sr),0));
PipsProfit=sr/10;
PipsProfit=(NormalizeDouble((PipsProfit),0)); if(PipsProfit<1){PipsProfit=1;}
st_Step=(sr-PipsProfit-Proskalz)/2;           if(st_Step<1000){st_Step=1000;}
                                              //if(st_Step>100){st_Step=100;}
st_TrStop=(sr-PipsProfit-Proskalz)/2;         if(st_TrStop<1000){st_TrStop=1000;}
                                              //if(st_TrStop>100){st_TrStop=100;}
                                              if(rastoyanie>0){st_TrStop=rastoyanie;st_TrStop=rastoyanie;}
vvv=st_TrStop;
L=0;H=0;
//---- Çàïîìèíàåì íà÷àëüíûå çíà÷åíèÿ:
  lot=Lot;           //Ëîòà
  sts=st_TrStop;     //Òðàëëà ñòîïîâûõ îðäåðîâ
  Balans=AccountBalance();
  Free=AccountEquity();
// pips=PipsProfit;
  glp=Balans+(Balans/100*Global_TakeProfit);
  glp=(NormalizeDouble((glp),2));
  
  if(OrdersHistoryTotal()>0){chet();}
//--------------------------------------------------------------------
//----------------- Ñ÷èòàåì îòêðûòûå è îòëîæåííûå îðäåðà -------------
for (int q=OrdersTotal(); q>=0; q--)
  {
  if (OrderSelect(q,SELECT_BY_POS,MODE_TRADES)==true)
    {
    if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC)continue;
      {          
      if(OrderType()==OP_BUY)      {s_buy++; s_buy_lot=s_buy_lot+OrderLots();}
      if(OrderType()==OP_BUYSTOP)  {s_buystop++; s_buystop_lot=s_buystop_lot+OrderLots();}
      if(OrderType()==OP_SELL)     {s_sell++; s_sell_lot=s_sell_lot+OrderLots();}
      if(OrderType()==OP_SELLSTOP) {s_sellstop++;s_sellstop_lot=s_sellstop_lot+OrderLots();}
      }
    }
  }
 
//------- Ïðîâåðÿåì íåîáõîäèìîñòü âûñòàâëåíèÿ ñòàðòîâûõ îðäåðîâ ------
if (s_buy+s_sell==0) {ustorder();}
//------- Ïðîâåðÿåì íåîáõîäèìîñòü òðàëëà ñòàðòîâûõ îðäåðîâ -----------
if (s_buy+s_sell>0){st_TrStop=0;com1="Òðàëë ñòîïîâûõ îðäåðîâ  - âûêë. (";} //Åñëè åñòü îòêðûòûé îðäåð âûêë. òðàëë ñòîïîâûõ
if(st_TrStop>0){tr_stop();com1="Òðàëë ñòîïîâûõ îðäåðîâ  - âêë. (";}//Ïåðåõîäèì ê òðàëëó
//------------ Ïðîâåðÿåì íåîáõîäèìîñòü óâåëå÷åíèÿ ïëå÷à --------------
//- 1
if (s_buy+s_sell==1){risk=1;}
//- 2
if (s_buy+s_sell==2){Global_TakeProfit=1;}
//- 3
if (s_buy+s_sell==3){Global_TakeProfit=1;}
//- 4
if (s_buy+s_sell==4){Global_TakeProfit=1;}
//- 5
if (s_buy+s_sell>4){Global_TakeProfit=0.05;}
if (s_buy+s_sell>4 && AccountBalance()>50000){Global_TakeProfit=0.005;}
if (s_buy+s_sell>2 && AccountBalance()>10000){Global_TakeProfit=0.0005;}
if (s_buy+s_sell>2 && AccountBalance()>20000){Global_TakeProfit=0.00025;}
if (s_buy+s_sell>2 && AccountBalance()>30000){Global_TakeProfit=0.0001;}
//------------------------------------------
//- 1
if (s_buy+s_sell==1){plecho1();}
//- 2
if (s_buy+s_sell==2){plecho2();}
//- 3
if (s_buy+s_sell==3){plecho3();}
//- 4
if (s_buy+s_sell==4){plecho4();}
//- 5
if (s_buy+s_sell==5){plecho5();}
//- 6
if (s_buy+s_sell==6){plecho6();}
//- 7
//if (s_buy+s_sell==7){plecho7();}
//- 8
//if (s_buy+s_sell==8){plecho8();}
//- 9
//if (s_buy+s_sell==9){plecho9();}
//- 10
//if (s_buy+s_sell==10){plecho10();}
//--- Åñëè åñòü íåîáõîäèìîñòü, êîë-âî êîëåáàíèé ìàÿòíèêà ìîæíî óâåëè÷èòü
//--------------- Ïðîâåðÿåì âêë/âûêë ïèïñîâêè ------------------------
if (s_buy+s_sell>1 && UseGlobalLevels==true){PipsProfit=0;com2="Ïèïñîâêà  - âûêë. (";}
if (s_buy+s_sell>1 && UseGlobalLevels==false){pips();com2="Ïèïñîâêà  - âêë. (";}
if (s_buy+s_sell==1){pips();com2="Ïèïñîâêà  - âêë. (";}
if (s_buy+s_sell==0){com2="Ïèïñîâêà  - âêë. (";}
if (PipsProfit==0 || PipsProfit>4)com3=" ïóíêòîâ";
if (PipsProfit==1)com3=" ïóíêò";
if (PipsProfit>2 && PipsProfit<5)com3=" ïóíêòa";
//-------------- Ðàñ÷èòûâàåì ñòîïû -----------------------------------
if(s_buy_lot-s_sell_lot>0)
  {
  buy_sell=MathAbs(s_buy_lot-s_sell_lot);
  izm=MarketInfo(SMB,MODE_TICKVALUE)*buy_sell;
  uroven_stop=zzz/izm;
  uroven_stop=(NormalizeDouble((uroven_stop),0));
   
//   for(int wy=OrdersTotal();wy>=0;wy--)
//    {
//    if (OrderSelect(wy,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderType()==OP_BUY) 
//      {price_buy=OrderOpenPrice();
//       OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()+(uroven_stop)*Point,0);}
//      if(OrderType()==OP_SELL)
//      {price_sell=OrderOpenPrice();
//       OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+(uroven_stop+vvv)*Point,0,0);}
//      }
//    }
  }
if(s_buy_lot-s_sell_lot<0)
  {
  buy_sell=MathAbs(s_buy_lot-s_sell_lot);
  izm=MarketInfo(SMB,MODE_TICKVALUE)*buy_sell;
  uroven_stop=zzz/izm;
  uroven_stop=(NormalizeDouble((uroven_stop),0));
   
//   for(int wyi=OrdersTotal();wyi>=0;wyi--)
//    {
//    if (OrderSelect(wyi,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderType()==OP_BUY) 
//      {price_buy=OrderOpenPrice();
//       OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-(uroven_stop+vvv)*Point,0,0);}
//      if(OrderType()==OP_SELL)
//      {price_sell=OrderOpenPrice();
//       OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-(uroven_stop)*Point,0);}
//      }
//    }
  }  
  
//--------------- Ïðîâåðÿåì ãëîáàëüíûå óðîâíè ------------------------
if (s_buy+s_sell>0 && s_buy+s_sell<11   && UseGlobalLevels==true && (Free-Balans)>=(Balans/100*Global_TakeProfit)){glob_profit();}
if ((Balans-Free)>=((Balans-Start_Depo)/100*PP)){glob_stop();}
//----------------- Âûâîäèì èíôîðìàöèþ -------------------------------
if(Lot>0)
{ 
zzz=glp-AccountEquity(); 
Comment("Îòêðûòûõ îðäåðîâ äëÿ ",SMB,":","\n",
        "buy  - ",s_buy," (",s_buy_lot,")","   sell  - ",s_sell," (",s_sell_lot,")","\n",
        "buystop  - ",s_buystop," (",s_buystop_lot,")","  sellstop  - ",s_sellstop," (",s_sellstop_lot,")","\n",
        com1,vvv,")","\n",
        "--- Ãëîáàëüíûé ïðîôèò ---","\n",glp," ",AccountCurrency()," (",Global_TakeProfit," %)","\n","Îñòàëîñü äî óðîâíÿ  ",zzz," ",AccountCurrency(),
        "  (",uroven_stop,"  ïóíêòà(îâ)","\n","Êîë-âî ñäåëîê - ",klv,"\n","Ïðèáûëü - ",prb," ",AccountCurrency(),"\n",
        "Ñðåäíÿÿ ïðèáûëü - ",sred_profit," ",AccountCurrency(),"\n");
}
if(Lot==0)
{
balanc1=(NormalizeDouble((balanc1),2));
Comment(com4,"\n",com5,"\n","Ìèíèìóì - ",balanc1," ",AccountCurrency());
}
        
//----------------- Îáíóëÿåì ñ÷åò÷èêè --------------------------------
  if (s_buy+s_sell==1) {TRS=200;}
  if (s_buy+s_sell> 1) {TRS=200;}
s_buy=0;s_buystop=0;s_sell=0;s_sellstop=0;s_buy_lot=0;s_buystop_lot=0;s_sell_lot=0;s_sellstop_lot=0;
st_TrStop=sts;Lot=lot;PipsProfit=pips;sred_profit=0;
sred_profit=prb/klv;
sred_profit=(NormalizeDouble((sred_profit),2));
klv=0;prb=0;price_buy=0;price_sell=0;       
   return(0);
   
  }
//====================================================================
//----------------- Ñòàâèì ñòàðòîâûå îòëîæåííûå îðäåðà ---------------
void ustorder()
{
  if(s_sellstop==0 && st_Step>=MinLevel)
   {
   NewPrice=Bid-st_Step*Point;
   fm=OrderSend(SMB,OP_SELLSTOP,Lot,NewPrice,3,0,0,NULL,MAGIC,0,Red);
   PlaySound("Wait.wav");
   }
  if(s_buystop==0 && st_Step>=MinLevel)
   {
   NewPrice=Ask+st_Step*Point;
   fm=OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,0,0,NULL,MAGIC,0,Blue);
   PlaySound("Wait.wav");
   }
}
//----------------- Òðàëëèì ñòîïîâûé îðäåð ---------------------------
void tr_stop()
{
  for(int w=OrdersTotal();w>=0;w--)
    {
    if (OrderSelect(w,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderType()==OP_BUYSTOP && OrderOpenPrice()>Ask+(st_TrStop+st_TrStep)*Point)
        {NewPrice=Ask+st_TrStop*Point;fm=OrderModify(OrderTicket(),NewPrice,0,0,0);
        PlaySound("Expert.wav");}
      if(OrderType()==OP_SELLSTOP && OrderOpenPrice()<Bid-(st_TrStop+st_TrStep)*Point)
        {NewPrice=Bid-st_TrStop*Point;fm=OrderModify(OrderTicket(),NewPrice,0,0,0);
        PlaySound("Expert.wav");}
      }
    }
}
//---------------------------- Ïèïñóåì -------------------------------
void pips()
{
//for(int e=OrdersTotal();e>=0;e--)
//  {
//  if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
//    {
//    if(OrderType()==OP_BUY && OrderOpenPrice()<Bid-(PipsProfit)*Point)
//      {OrderClose(OrderTicket(),OrderLots(),Bid,10);zachistka();}
//    if(OrderType()==OP_SELL && OrderOpenPrice()>Ask+(PipsProfit)*Point)
//      {OrderClose(OrderTicket(),OrderLots(),Bid,10);zachistka();}
//    }
//  }
}
//------------------------ Óáèðàåì ëèøüíèå îðäåðà --------------------
void zachistka()
{
for(int e=OrdersTotal();e>=0;e--)
  {
  if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
    {
    if (OrderLots()>lot){OrderDelete(OrderTicket());}
    if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,5);PlaySound("Error.wav");}
    if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,5);PlaySound("Error.wav");}
//    for(int we=OrdersTotal();we>=0;we--)
//  {
//  if (OrderSelect(we,SELECT_BY_POS,MODE_TRADES)==true)
//    {
//    if(OrderType()==OP_BUY && OrderOpenPrice()<Bid-(PipsProfit+Proskalz)*Point)
//      {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
//    if(OrderType()==OP_SELL && OrderOpenPrice()>Ask+(PipsProfit+Proskalz)*Point)
//      {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
//    }
//  }
    }
  }
}
//------------------ Ðàáîòà ñ ãëîáàëüíûìè óðîâíÿìè -------------------
//====================================================================
void glob_profit()
{
TRS=70;
if (procent==0)
  {
  for (int i=OrdersTotal();i>=0; i--)
    {
    if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderType()==OP_BUY){OrderClose(OrderTicket(),OrderLots(),Bid,3);PlaySound("Error.wav");}
      if(OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);PlaySound("Error.wav");}
      }
    }
   zachistka();
  }
if (procent==1)
  {
  for (int it=OrdersTotal();it>=0; it--)
    {
    if (OrderSelect(it,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,7);PlaySound("Error.wav");}
      if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Ask,7);PlaySound("Error.wav");}
      }
    }
  for (int eit=OrdersTotal();eit>=0; eit--)
    {
    if (OrderSelect(eit,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderProfit()>0 && OrderType()==OP_BUY && Bid-OrderOpenPrice()>TRS*Point)
        {if(OrderStopLoss()<Bid-TRS*Point)
          {OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TRS*Point,0,0,CLR_NONE);PlaySound("Error.wav");}
        }
      if(OrderProfit()>0 && OrderType()==OP_SELL && OrderOpenPrice()-Ask>TRS*Point)
        {if(OrderStopLoss()>Ask+TRS*Point || OrderStopLoss()==0)
          {OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TRS*Point,0,0,CLR_NONE);PlaySound("Error.wav");}
        }
      if(OrderProfit()<0){OrderClose(OrderTicket(),OrderLots(),Bid,3);PlaySound("Error.wav");}
      }
    }
  }
  zachistka();
}
//====================================================================
void glob_stop()
  {
  for (int i=OrdersTotal();i>=0; i--)
    {
    if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
     {
      if(OrderType()==OP_BUY) {OrderClose(OrderTicket(),OrderLots(),Bid,3);}
      if(OrderType()==OP_SELL){OrderClose(OrderTicket(),OrderLots(),Ask,3);}
     }
      
    }
    zachistka();
  }
//-------------------------- Ïëå÷î õ1 --------------------------------
void plecho1()
{//Îïðåäåëÿåì â êàêóþ ñòîðîíó óâåëè÷èâàòü
  for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if (OrderType()==OP_BUYSTOP && OrderLots()<lot*ruka)//Îïðåäåëÿåì íàïðàâëåíèå è öåíó ïëå÷à
        {Price=OrderOpenPrice();OrderDelete(OrderTicket());Lot=lot*ruka;
        fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      }
      if (OrderType()==OP_SELLSTOP && OrderLots()<lot*ruka)//Îïðåäåëÿåì íàïðàâëåíèå è öåíó ïëå÷à
        {Price=OrderOpenPrice();OrderDelete(OrderTicket());Lot=lot*ruka;
        fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
    }
}
//-------------------------- Ïëå÷î õ2 --------------------------------
void plecho2()
{
    for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderLots()==lot*ruka*2 && OrderType()==OP_BUYSTOP){return(0);}
      if(OrderLots()==lot*ruka*2 && OrderType()==OP_SELLSTOP){return(0);}
      if(OrderLots()==lot && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*2;
      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      if(OrderLots()==lot && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*2;
      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
      }
    }
}
//-------------------------- Ïëå÷î õ3 --------------------------------
void plecho3()
{
    for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderLots()==lot*ruka*4 && OrderType()==OP_BUYSTOP){return(0);}
      if(OrderLots()==lot*ruka*4 && OrderType()==OP_SELLSTOP){return(0);}
      if(OrderLots()==lot*ruka && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*4;
      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      if(OrderLots()==lot*ruka && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*4;
      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
      }
    }
}
//-------------------------- Ïëå÷î õ4 --------------------------------
void plecho4()
{
    for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderLots()==lot*ruka*8 && OrderType()==OP_BUYSTOP){return(0);}
      if(OrderLots()==lot*ruka*8 && OrderType()==OP_SELLSTOP){return(0);}
      if(OrderLots()==lot*ruka*2 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*8;
      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      if(OrderLots()==lot*ruka*2 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*8;
      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
      }
    }
}
//-------------------------- Ïëå÷î õ5 --------------------------------
void plecho5()
{
    for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderLots()==lot*ruka*16 && OrderType()==OP_BUYSTOP){return(0);}
      if(OrderLots()==lot*ruka*16 && OrderType()==OP_SELLSTOP){return(0);}
      if(OrderLots()==lot*ruka*4 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*16;
      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      if(OrderLots()==lot*ruka*4 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*16;
      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
      }
    }
}
//-------------------------- Ïëå÷î õ6 --------------------------------
void plecho6()
{
    for (int e=OrdersTotal();e>=0;e--)
    {
    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
      {
      if(OrderLots()==lot*ruka*32 && OrderType()==OP_BUYSTOP){return(0);}
      if(OrderLots()==lot*ruka*32 && OrderType()==OP_SELLSTOP){return(0);}
      if(OrderLots()==lot*ruka*8 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*32;
      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Lime);PlaySound("Ok.wav");}
      if(OrderLots()==lot*ruka*8 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*32;
      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,Orange);PlaySound("Ok.wav");}
      }
    }
}
//-------------------------- Ïëå÷î õ7 --------------------------------
//void plecho7()
//{
//    for (int e=OrdersTotal();e>=0;e--)
//    {
//    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderLots()==lot*ruka*64 && OrderType()==OP_BUYSTOP){return(0);}
//      if(OrderLots()==lot*ruka*64 && OrderType()==OP_SELLSTOP){return(0);}
//      if(OrderLots()==lot*ruka*16 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*64;
//      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      if(OrderLots()==lot*ruka*16 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*64;
//      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      }
//    }
//}
//-------------------------- Ïëå÷î õ8 --------------------------------
//void plecho8()
//{
//    for (int e=OrdersTotal();e>=0;e--)
//    {
//    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderLots()==lot*ruka*128 && OrderType()==OP_BUYSTOP){return(0);}
//      if(OrderLots()==lot*ruka*128 && OrderType()==OP_SELLSTOP){return(0);}
//      if(OrderLots()==lot*ruka*32 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*128;
//      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      if(OrderLots()==lot*ruka*32 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*128;
//      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      }
//    }
//}
//-------------------------- Ïëå÷î õ9 --------------------------------
//void plecho9()
//{
//    for (int e=OrdersTotal();e>=0;e--)
//    {
//    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderLots()==lot*ruka*512 && OrderType()==OP_BUYSTOP){return(0);}
//      if(OrderLots()==lot*ruka*512 && OrderType()==OP_SELLSTOP){return(0);}
//      if(OrderLots()==lot*ruka*64 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*512;
//      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      if(OrderLots()==lot*ruka*64 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*512;
//      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      }
//    }
//}
//-------------------------- Ïëå÷î õ10 -------------------------------
//void plecho10()
//{
//    for (int e=OrdersTotal();e>=0;e--)
//    {
//    if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
//      {
//      if(OrderLots()==lot*ruka*1024 && OrderType()==OP_BUYSTOP){return(0);}
//      if(OrderLots()==lot*ruka*1024 && OrderType()==OP_SELLSTOP){return(0);}
//      if(OrderLots()==lot*ruka*128 && OrderType()==OP_BUY){Price=OrderOpenPrice();Lot=lot*ruka*1024;
//      fm=OrderSend(SMB,OP_BUYSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      if(OrderLots()==lot*ruka*128 && OrderType()==OP_SELL){Price=OrderOpenPrice();Lot=lot*ruka*1024;
//      fm=OrderSend(SMB,OP_SELLSTOP,Lot,Price,3,0,0,NULL,MAGIC,0,CLR_NONE);}
//      }
//    }
//}
//-------------------------- Ñ÷åò÷èê ---------------------------------
void chet()
{
for (int r=0; r<=OrdersHistoryTotal(); r++)
   {
   if(OrderSelect(r,SELECT_BY_POS,MODE_HISTORY)==true) 
    if(OrderClosePrice()>0)
     prb=prb+OrderProfit()+OrderSwap();
    if(OrderClosePrice()>0 && (OrderProfit()+OrderSwap())>0)klv=klv+1;
    if(OrderClosePrice()>0 && (OrderProfit()+OrderSwap())<0)klv=klv+1;
   } 
prb=(NormalizeDouble((prb),2));
}
//------------------- Ðàñ÷åò ëîòà è ðóêè -----------------------------
//--------------------------------------------------------------------
void Auto()
{
 min_lot=MarketInfo(SMB,MODE_MINLOT);
 //----- 
 
  min_lot=MarketInfo(SMB,MODE_MINLOT);
  double min_prise=MarketInfo(SMB,MODE_TICKVALUE);
  Lot=(AccountFreeMargin()/min_prise)/2800;double l=Lot;
  Lot=NormalizeDouble((Lot),2);
}
//+------------------------------------------------------------------+
             
            
            
            
Comments