Author: Copyright � BFE2006
Price Data Components
Series array that contains the lowest prices of each barSeries array that contains the highest prices of each bar
Orders Execution
Checks for the total of closed ordersChecks for the total of open ordersIt automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategyIt Closes Orders by itself
Miscellaneous
It issuies visual alerts to the screenIt plays sound alerts
0 Views
0 Downloads
0 Favorites
2_05_2
//+------------------------------------------------------------------+
//|                                                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

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---