Author: Piotr
Orders Execution
Checks for the total of open orders
0 Views
0 Downloads
0 Favorites
ZeroLine
ÿþ

#property copyright "Piotr"

#property link      "http://www.mql5.com/ru/users/m0rg4n"



//---- input parameters



extern color  levels=DarkSeaGreen;

extern color  TB=CornflowerBlue;

       double m,acc,srd,ur,tb,crd;

       bool   b9;

       int    levelround =2;

//+------------------------------------------------------------------+

//| expert initialization function                                   |

//+------------------------------------------------------------------+

int init()

  {

  ObjectCreate("tb",1,0,0,0);   ObjectSet("tb", 6,TB);

  

  ObjectCreate("u0",1,0,0,0);   ObjectSet("u0",6, levels  ); ObjectSet("u0",7,  2);

  ObjectCreate("u1",1,0,0,0);   ObjectSet("u1", 6, levels ); ObjectSet("u1",7,  2);

  ObjectCreate("u2",1,0,0,0);   ObjectSet("u2", 6, levels ); ObjectSet("u2",7,  2);

  ObjectCreate("u3",1,0,0,0);   ObjectSet("u3", 6, levels ); ObjectSet("u3",7,  2);

  ObjectCreate("u4",1,0,0,0);   ObjectSet("u4", 6, levels ); ObjectSet("u4",7,  2);

  ObjectCreate("u5",1,0,0,0);   ObjectSet("u5", 6, levels ); ObjectSet("u5",7,  2);

  ObjectCreate("u6",1,0,0,0);   ObjectSet("u6", 6, levels ); ObjectSet("u6",7,  2);

  ObjectCreate("u7",1,0,0,0);   ObjectSet("u7", 6, levels ); ObjectSet("u7",7,  2);

  ObjectCreate("u8",1,0,0,0);   ObjectSet("u8", 6, levels ); ObjectSet("u8",7,  2);

  ObjectCreate("u9",1,0,0,0);   ObjectSet("u9", 6, levels ); ObjectSet("u9",7,  2);

  ObjectCreate("u10",1,0,0,0);  ObjectSet("u10",6, levels ); ObjectSet("u10",7, 2);

  ObjectCreate("u11",1,0,0,0);  ObjectSet("u11", 6, levels); ObjectSet("u11",7, 2);

  ObjectCreate("u12",1,0,0,0);  ObjectSet("u12", 6, levels); ObjectSet("u12",7, 2);

  ObjectCreate("u13",1,0,0,0);  ObjectSet("u13", 6, levels); ObjectSet("u13",7, 2);

  ObjectCreate("u14",1,0,0,0);  ObjectSet("u14", 6, levels); ObjectSet("u14",7, 2);

  ObjectCreate("u15",1,0,0,0);  ObjectSet("u15", 6, levels); ObjectSet("u15",7, 2);

  ObjectCreate("u16",1,0,0,0);  ObjectSet("u16", 6, levels); ObjectSet("u16",7, 2);

  ObjectCreate("u17",1,0,0,0);  ObjectSet("u17", 6, levels); ObjectSet("u17",7, 2);

  ObjectCreate("u18",1,0,0,0);  ObjectSet("u18", 6, levels); ObjectSet("u18",7, 2);

  ObjectCreate("u19",1,0,0,0);  ObjectSet("u19", 6, levels); ObjectSet("u19",7, 2);

  ObjectCreate("u20",1,0,0,0);  ObjectSet("u20", 6, levels); ObjectSet("u20",7, 2);

 

  return(0);

  }

//+------------------------------------------------------------------+

//| expert deinitialization function                                 |

//+------------------------------------------------------------------+

int deinit()

  {

  ObjectDelete("tb"); 

  ObjectDelete("u0");

  ObjectDelete("u1");

  ObjectDelete("u2");

  ObjectDelete("u3");

  ObjectDelete("u4");

  ObjectDelete("u5");

  ObjectDelete("u6");

  ObjectDelete("u7");

  ObjectDelete("u8");

  ObjectDelete("u9");

  ObjectDelete("u10");

  ObjectDelete("u11");

  ObjectDelete("u12");

  ObjectDelete("u13");

  ObjectDelete("u14");

  ObjectDelete("u15");

  ObjectDelete("u16");

  ObjectDelete("u17");

  ObjectDelete("u18");

  ObjectDelete("u19");

  ObjectDelete("u20");

 

  Comment(""); 

  

  return(0);

  }

//+------------------------------------------------------------------+

//| expert start function                                            |

//+------------------------------------------------------------------+

int start()

  {



  tb=tb();

  ObjectMove("tb", 0, 1, tb);

   

  if (StringFind(Symbol(),"JPY",0)!=-1){levelround=0;}

   

  ur=StrToDouble (DoubleToStr( Bid,levelround));

  if (levelround==2){m=0.01;}

  if (levelround==1){m=0.1;}

  if (levelround==0){m=1;}

  ObjectMove("u0" ,0,1,ur    );

  ObjectMove("u1" ,0,1,ur+m*1);

  ObjectMove("u2" ,0,1,ur+m*2);

  ObjectMove("u3" ,0,1,ur+m*3);

  ObjectMove("u4" ,0,1,ur+m*4);

  ObjectMove("u5" ,0,1,ur+m*5);

  ObjectMove("u6" ,0,1,ur+m*6);

  ObjectMove("u7" ,0,1,ur+m*7);

  ObjectMove("u8" ,0,1,ur+m*8);

  ObjectMove("u9" ,0,1,ur+m*9);

  ObjectMove("u10",0,1,ur+m*10);

  ObjectMove("u11",0,1,ur-m*1);

  ObjectMove("u12",0,1,ur-m*2);

  ObjectMove("u13",0,1,ur-m*3);

  ObjectMove("u14",0,1,ur-m*4); 

  ObjectMove("u15",0,1,ur-m*5); 

  ObjectMove("u16",0,1,ur-m*6); 

  ObjectMove("u17",0,1,ur-m*7); 

  ObjectMove("u18",0,1,ur-m*8); 

  ObjectMove("u19",0,1,ur-m*9); 

  ObjectMove("u20",0,1,ur-m*10);

   

   

  acc=AccountBalance();

  srd=AccountEquity() ;

  crd=AccountCredit( ) ;

 

   

  Comment

  (

  "TIME: ",TimeToStr(TimeCurrent()),

  "\n",

  "SPREAD: ", MarketInfo(Symbol(),MODE_SPREAD),

  "\n",

  "Leverage: ",AccountLeverage(),"   StopOut: ", AccountStopoutLevel()

  );





  return(0);

  }

//+------------------------------------------------------------------+



double tb()

{

int i=0,            // ?@54?>;0305<>5 :>;8G5AB2> >@45@>2

    k=1;            // 1 Buy-52K5, -1 Sell->2K5

double P=0,         // F5=0 >@45@0

       L=0,         // ;>B >@45@0

       sumL=0,      // AC<<0 ;>B>2

       sumLP=0,     // AC<<0 ;>B*F5=0

       tbr=0;       // @0AG5B=0O B>G:0 157C1KB>G=>AB8



i=OrdersTotal();

if (i==0){return(0);}

while (i!=0)

   {

   b9=OrderSelect(i-1,SELECT_BY_POS);

   if (OrderSymbol()==Symbol()&& (OrderType()==OP_BUY ||OrderType()==OP_SELL ) )

   {

    if (OrderType()==OP_BUY ){k=1; }

    if (OrderType()==OP_SELL){k=-1;}

    P=OrderOpenPrice();

    L=OrderLots();

    sumLP=sumLP+k*L*P;

    sumL=sumL+k*L;

   } 

   i=i-1;

   }

if (sumL==0){return(0);}   

tbr=MathAbs(sumLP/sumL);

Print("   " 4;O ",Symbol()," : ",DoubleToStr(tbr,10));

return(StrToDouble(DoubleToStr(tbr,Digits)));

}



//*******************************************************************

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