Pendulum 1_01

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 screen
0 Views
0 Downloads
0 Favorites

Profitability Reports

GBP/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
Pendulum 1_01
//+------------------------------------------------------------------+
//|                                                Pendulum 1_01.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%). Ïðè íàëè÷èè      |
//|   ïðèáûëè çàêðûâàåò âñå îðäåðà.                                  |
//+------------------------------------------------------------------+

// ============== Ïàðàìåòðû, íàñòðàèâàèìûå ïîëüçîâàòåëåì =============
// ---------------- Ïàðàìåòðû, îáùèå äëÿ âñåõ îðäåðîâ ----------------
extern string   t110="------ Ó îòêðûòûõ âðó÷íóþ MAGIC = 0 ------";
extern int      MAGIC=0;          //Ó îðäåðîâ îòêðûòûõ âðó÷íóþ MAGIC=0. 
double   Lot;                     //Ëîò äëÿ óñòàíîâêè îðäåðà.
double   ruka;                    //Ðóêà èçìåííåíèÿ ëîòà ïðè îòðèöàòåëüíîì ðàçâèòèè ñîáûòèé.
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;                //Ïðîñêàëüçûâàíèå â ïóíêòàõ (íóæíî òîëüêî êîãäà 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;
double 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, 600);  
   ObjectSet("label_object1", OBJPROP_YDISTANCE, 17);
   ObjectSetText("label_object1", "Pendulum™  version 1_01",9, "Verdana", Red);
   
   ObjectCreate("label_object2", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object2", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object2", OBJPROP_YDISTANCE, 47);
   ObjectSetText("label_object2", StringConcatenate("0.01 Ëîòà:  ",(NormalizeDouble((balanc1),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object3", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object3", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object3", OBJPROP_YDISTANCE, 57);
   ObjectSetText("label_object3", StringConcatenate("0.02 Ëîòà:  ",(NormalizeDouble((balanc1*3),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object4", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object4", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object4", OBJPROP_YDISTANCE, 67);
   ObjectSetText("label_object4", StringConcatenate("0.03 Ëîòà:  ",(NormalizeDouble((balanc1*6),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object5", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object5", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object5", OBJPROP_YDISTANCE, 77);
   ObjectSetText("label_object5", StringConcatenate("0.04 Ëîòà:  ",(NormalizeDouble((balanc1*9),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object6", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object6", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object6", OBJPROP_YDISTANCE, 87);
   ObjectSetText("label_object6", StringConcatenate("0.05 Ëîòà:  ",(NormalizeDouble((balanc1*12),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object7", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object7", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object7", OBJPROP_YDISTANCE, 97);
   ObjectSetText("label_object7", StringConcatenate("0.06 Ëîòà:  ",(NormalizeDouble((balanc1*15),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object8", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object8", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object8", OBJPROP_YDISTANCE, 107);
   ObjectSetText("label_object8", StringConcatenate("0.07 Ëîòà:  ",(NormalizeDouble((balanc1*18),2))," ",AccountCurrency()),8, "Verdana", Orange);
   
   ObjectCreate("label_object11", OBJ_LABEL, 0, 0, 0); 
   ObjectSet("label_object11", OBJPROP_XDISTANCE, 600);  
   ObjectSet("label_object11", OBJPROP_YDISTANCE, 37);
   ObjectSetText("label_object11", StringConcatenate("Ðàçìåð ðóêè:  ",(ruka)),8, "Verdana", Orange);
   
   
//---- Ïðîâåðêà ðàáîòû â àâòîìàòè÷åñêîì ðåæèìå
if (Auto==true){Auto();}
//---- Îïðåäåëÿåì ïðîöåíò äëÿ ãëîáàëüíîãî ïðîôèòà
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(t_raznost*10>=prc2)                            {Global_TakeProfit=2;}
if(t_raznost*10>=prc1 && t_raznost*10<prc2)       {Global_TakeProfit=1;}
if(t_raznost*10>=prc08 && t_raznost*10<prc1)      {Global_TakeProfit=0.8;}
if(t_raznost*10>=prc06 && t_raznost*10<prc08)     {Global_TakeProfit=0.6;}
if(t_raznost*10>=prc04 && t_raznost*10<prc06)     {Global_TakeProfit=0.4;}
if(t_raznost*10>=prc02 && t_raznost*10<prc04)     {Global_TakeProfit=0.2;}
if(t_raznost*10<=prc02)                           {Global_TakeProfit=0.2;}

for(int i=1;i<=2;i++)
  {
  L=L+iLow(Symbol(),PERIOD_D1,1);
  H=H+iHigh(Symbol(),PERIOD_D1,1);
  }
//----
sr=((H-L)/i)*10000;
sr=(NormalizeDouble((sr),0));
PipsProfit=sr/10;
PipsProfit=(NormalizeDouble((PipsProfit),0)); if(PipsProfit<1){PipsProfit=1;}
st_Step=(sr-PipsProfit-Proskalz);           if(st_Step<15){return(0);}
st_TrStop=(sr-PipsProfit-Proskalz);         if(st_TrStop<15){return(0);}
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){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+s_sell>1 && s_buy+s_sell<11   && UseGlobalLevels==true && (Free-Balans)>=(Balans/100*Global_TakeProfit)){glob_profit();}
if (s_buy+s_sell==11){glob_stop();}

//----------------- Âûâîäèì èíôîðìàöèþ -------------------------------
if(Lot>0)
{  
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,st_TrStop,")","\n",com2,PipsProfit,com3,")","\n",
        "--- Ãëîáàëüíûé ïðîôèò ---","\n",glp," ",AccountCurrency()," (",Global_TakeProfit," %)","\n",
        "Êîë-âî ñäåëîê - ",klv,"\n","Ïðèáûëü - ",prb," ",AccountCurrency(),"\n",
        "Ñðåäíÿÿ ïðèáûëü - ",sred_profit," ",AccountCurrency());
}
if(Lot==0)
{
balanc1=(NormalizeDouble((balanc1),2));
Comment(com4,"\n",com5,"\n","Ìèíèìóì - ",balanc1," ",AccountCurrency());
}
        
//----------------- Îáíóëÿåì ñ÷åò÷èêè --------------------------------

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;       
   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,CLR_NONE);
   }
  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,CLR_NONE);
   }
}
//----------------- Òðàëëèì ñòîïîâûé îðäåð ---------------------------
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,CLR_NONE);}
      if(OrderType()==OP_SELLSTOP && OrderOpenPrice()<Bid-(st_TrStop+st_TrStep)*Point)
        {NewPrice=Bid-st_TrStop*Point;fm=OrderModify(OrderTicket(),NewPrice,0,0,0,CLR_NONE);}
      }
    }
}
//---------------------------- Ïèïñóåì -------------------------------
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+Proskalz)*Point)
      {OrderClose(OrderTicket(),OrderLots(),Bid,3);zachistka();}
    if(OrderType()==OP_SELL && OrderOpenPrice()>Ask+(PipsProfit+Proskalz)*Point)
      {OrderClose(OrderTicket(),OrderLots(),Bid,3);zachistka();}
    }
  }
}
//------------------------ Óáèðàåì ëèøüíèå îðäåðà --------------------
void zachistka()
{
for(int e=OrdersTotal();e>=0;e--)
  {
  if (OrderSelect(e,SELECT_BY_POS,MODE_TRADES)==true)
    {
    if (OrderLots()>lot){OrderDelete(OrderTicket());}
    }
  }
}
//------------------ Ðàáîòà ñ ãëîáàëüíûìè óðîâíÿìè -------------------
//====================================================================
void glob_profit()
  {
  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();
  }
//====================================================================
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,CLR_NONE);}
      }
      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,CLR_NONE);}
    }
}
//-------------------------- Ïëå÷î õ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,CLR_NONE);}
      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,CLR_NONE);}
      }
    }
}
//-------------------------- Ïëå÷î õ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,CLR_NONE);}
      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,CLR_NONE);}
      }
    }
}
//-------------------------- Ïëå÷î õ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,CLR_NONE);}
      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,CLR_NONE);}
      }
    }
}
//-------------------------- Ïëå÷î õ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,CLR_NONE);}
      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,CLR_NONE);}
      }
    }
}
//-------------------------- Ïëå÷î õ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,CLR_NONE);}
      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,CLR_NONE);}
      }
    }
}
//-------------------------- Ïëå÷î õ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);
 //----- 
 ruka=2;
 lot_ruka=min_lot*ruka*128;
 MRG=MarketInfo(SMB,MODE_MARGINREQUIRED)*lot_ruka;
 t1=MarketInfo(SMB,MODE_TICKVALUE)*min_lot;
 t2=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka;
 t3=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*2;
 t4=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*4;
 t5=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*8;
 t6=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*16;
 t7=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*32;
 t8=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*64;
 t9=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*128;
// t10=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*512;
// t11=MarketInfo(SMB,MODE_TICKVALUE)*min_lot*ruka*1024;
 T=t1-t2+t3-t4+t5-t6+t7-t8+t9-t10+t11;
 balanc1=(MRG+T*70)/3;
 if(AccountBalance()<balanc1){com4="ÒÎÐÃÎÂÀÒÜ ÍÅ ÐÅÊÎÌÅÍÄÓÅÒÑß";com5="(ìàëî äåíåã íà äåïîçèòå äëÿ áåçîïàñíîé òîðãîâëè)";Lot=0;}
 if(AccountBalance()>balanc1)    {Lot=min_lot;}
 if(AccountBalance()>balanc1*3)  {Lot=min_lot*2;}
 if(AccountBalance()>balanc1*6)  {Lot=min_lot*3;}
 if(AccountBalance()>balanc1*9)  {Lot=min_lot*4;}
 if(AccountBalance()>balanc1*12) {Lot=min_lot*5;}
 if(AccountBalance()>balanc1*15) {Lot=min_lot*6;}
 if(AccountBalance()>balanc1*18) {Lot=min_lot*7;}
}
//+------------------------------------------------------------------+

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 ---