Author: Copyright 2014, 101177ui@gmail.com
cek_op
Price Data Components
Series array that contains open time of each bar
Orders Execution
Checks for the total of open ordersChecks for the total of closed orders
0 Views
0 Downloads
0 Favorites
cek_op
//+------------------------------------------------------------------+
//|                                                       cek OP.mq4 |
//|                               Copyright 2014, 101177ui@gmail.com |
//|                                              http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, 101177ui@gmail.com"
#property link      "http://www.mql4.com"
#property indicator_chart_window

input bool Comment=true;//see comment

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   Comment("");
   return(INIT_SUCCEEDED);
  }
  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   ObjectsDeleteAll();
   return(0);
  }
  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {double AM=AccountInfoDouble(ACCOUNT_MARGIN);
   if(AM==0)AM=Point;
   double ML=AccountInfoDouble(ACCOUNT_EQUITY)/AM*100;
   if(AM==0)ML=0;
   if(Comment)
      Comment("\n","ACCOUNT_BALANCE        =  ",AccountInfoDouble(ACCOUNT_BALANCE),
              "\n","ACCOUNT_PROFIT           =  ",AccountInfoDouble(ACCOUNT_PROFIT),
              "\n","ACCOUNT_EQUITY           =  ",AccountInfoDouble(ACCOUNT_EQUITY),
              "\n","ACCOUNT_MARGIN          =  ",AccountInfoDouble(ACCOUNT_MARGIN),
              "\n","ACCOUNT_FREEMARGIN  =  ",AccountInfoDouble(ACCOUNT_FREEMARGIN),
              "\n","MARGIN LEVEL                  =  ",ML," %"
              );
              
   string symbol=Symbol();
   int cntcb;
//+------------------------------------------------------------------+
//| gambar price aktual                                              |
//+------------------------------------------------------------------+
   
   for(cntcb=OrdersTotal(); cntcb>=0; cntcb--)
     {
      if(OrderSelect(cntcb,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==symbol)
           {
            string AN="BUY"+OrderOpenPrice()+TimeToStr(OrderOpenTime());
            if(OrderType()==0)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderOpenTime(),OrderOpenPrice(),3,Blue);
            AN="TPBUY"+OrderOpenPrice()+OrderTakeProfit()+TimeToStr(OrderOpenTime());
            if(OrderType()==0)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,Time[0],+OrderTakeProfit(),3,White);
            AN="SELL"+OrderOpenPrice()+TimeToStr(OrderOpenTime());
            if(OrderType()==1)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderOpenTime(),OrderOpenPrice(),3,Red);
            AN="TPSELL"+OrderOpenPrice()+OrderTakeProfit()+TimeToStr(OrderOpenTime());
            if(OrderType()==1)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,Time[0],+OrderTakeProfit(),3,Green);
           }
     }
//+------------------------------------------------------------------+
//| baca sejarah                                                     |
//+------------------------------------------------------------------+
   for(cntcb=0; cntcb<=OrdersHistoryTotal(); cntcb++)
     {
      if(OrderSelect(cntcb,SELECT_BY_POS,MODE_HISTORY))
         if(OrderSymbol()==symbol)
           {
            AN="BUY"+OrderOpenPrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==0)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderOpenTime(),OrderOpenPrice(),1,Blue);
            AN="CloseBUY"+OrderClosePrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==0)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderCloseTime(),OrderClosePrice(),11,White);
            AN="LCloseBUY"+OrderClosePrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==0)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  tren(AN,OrderOpenTime(),OrderOpenPrice(),OrderCloseTime(),OrderClosePrice(),5,Blue);
            AN="SELL"+OrderOpenPrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==1)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderOpenTime(),OrderOpenPrice(),1,Red);
            AN="CloseSELL"+OrderClosePrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==1)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  gbr(AN,OrderCloseTime(),OrderClosePrice(),11,Aqua);

            AN="LCloseSELL"+OrderClosePrice()+TimeToStr(OrderOpenTime());
            ObjectDelete(AN);
            if(OrderType()==1)
               if(ObjectGet(AN,OBJPROP_PRICE1)==0)
                  tren(AN,OrderOpenTime(),OrderOpenPrice(),OrderCloseTime(),OrderClosePrice(),5,Red);
           }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//| kode panah                                                       |
//+------------------------------------------------------------------+
void gbr(string nama,datetime tempat,double harga1,int kode,color warna)
  {
   if(kode==1)
     {
      ObjectCreate(nama,OBJ_ARROW,0,tempat,harga1);
      ObjectSet(nama,OBJPROP_ARROWCODE,1);
      ObjectSet(nama,OBJPROP_COLOR,warna);
     }
   if(kode==11)
     {
      ObjectCreate(nama,OBJ_ARROW,0,tempat,harga1);
      ObjectSet(nama,OBJPROP_ARROWCODE,3);
      ObjectSet(nama,OBJPROP_COLOR,warna);
     }
   if(kode==2)
     {
      ObjectCreate(nama,OBJ_ARROW,0,tempat,harga1);
      ObjectSet(nama,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
      ObjectSet(nama,OBJPROP_COLOR,warna);
      ObjectSet(nama,OBJPROP_PRICE1,harga1);
      ObjectSet(nama,OBJPROP_TIME1,tempat);
     }
   if(kode==3)
     {
      ObjectCreate(nama,OBJ_ARROW,0,tempat,harga1);
      ObjectSet(nama,OBJPROP_ARROWCODE,SYMBOL_LEFTPRICE);
      ObjectSet(nama,OBJPROP_COLOR,warna);
      ObjectSet(nama,OBJPROP_PRICE1,harga1);
      ObjectSet(nama,OBJPROP_TIME1,tempat);
     }
   if(kode==4)
     {
      ObjectCreate(nama,OBJ_HLINE,0,0,harga1);
      ObjectSet(nama,OBJPROP_COLOR,warna);
      ObjectSet(nama,OBJPROP_WIDTH,1);
      ObjectSet(nama,OBJPROP_RAY,False);
     }
   return;
  }//*/
//+------------------------------------------------------------------+
//| Gambar trenline                                                  |
//+------------------------------------------------------------------+
void tren(string nama,datetime tempat1,double harga1,datetime tempat2,double harga2,int kode,color warna)
  {
   if(kode==5)
     {
      ObjectCreate(nama,OBJ_TREND,0,tempat1,harga1,tempat2,harga2);
      ObjectSet(nama,6,warna);
      ObjectSet(nama,7,STYLE_DOT);
      ObjectSet(nama,10,0);
      ObjectSetText(nama,nama);
     }
   return;
  }

Comments