//+------------------------------------------------------------------+
//|                                                          111.mq4 |
//|                                          Copyright © 2007, DRKNN |
//|                                                    drknn@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, DRKNN"
#property link      "drknn@mail.ru"
#include <Errors.mqh>
//#property show_inputs
//extern int ChisloSvech=300;
/*
  Скрипт проходит по истории сделок и наносит на график статистику торгов как в тестере.
*/

//+------------------------------------------------------------------+
//|                 Начало работы скрипта                            |
//+------------------------------------------------------------------+
int start()
  {
  
  string SMB=Symbol();
  double OpenBuy=0.0,CloseBuy=0.0,OpenSell=0.0,CloseSell=0.0;//координаты отрезков
  int i,Ticket;
  int HistTotal=0;
  string L_name,Tip,Open_name,Close_name;
  datetime TimeOpenBuy=0,TimeCloseBuy=0,TimeOpenSell=0,TimeCloseSell=0;
  HistTotal=OrdersHistoryTotal();
  //Alert("HistTotal = ",HistTotal);
  for (i=0; i<HistTotal; i++) {//Начало цикла
    if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {WriteError(i);}
    if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {//начало работы с выбранным ордером
      if(OrderSymbol()!=SMB){continue;}
      
      if(OrderType()==OP_BUY ){
      // ------------- получаем параметры линий --------------
        OpenBuy=OrderOpenPrice();
        CloseBuy=OrderClosePrice();
        Ticket=OrderTicket();
        TimeOpenBuy=OrderOpenTime();
        TimeCloseBuy=OrderCloseTime();
        // ---- генерируем имена объектов ------
        Tip="Buy";//тип сделки
        L_name="L_"+Tip+" № "+Ticket;
        Open_name="Open"+Tip+" № "+Ticket;//стрелка, открывающая сделку
        Close_name="Close"+Tip+" № "+Ticket;//стрелка, закрывающая сделку
        // ---- удаляем открывающую стрелку ------------
        ObjectDelete(Open_name);//открывающая стрелка Бай-ордера
        // ---- удаляем закрывающую стрелку ------------
        ObjectDelete(Close_name);//закрывающая стрелка Бай-ордера
        // ---- удаляем линии ------------ 
        ObjectDelete(L_name);//
      }
      if(OrderType()==OP_SELL){
        // ------------- получаем параметры линий ------------
        OpenSell=OrderOpenPrice();
        CloseSell=OrderClosePrice();
        Ticket=OrderTicket();
        TimeOpenSell=OrderOpenTime();
        TimeCloseSell=OrderCloseTime();
        // ---- генерируем имена объектов ------
        Tip="Sell";//тип сделки
        L_name="L_"+Tip+" № "+Ticket;
        Open_name="Open"+Tip+" № "+Ticket;//стрелка, открывающая сделку
        Close_name="Close"+Tip+" № "+Ticket;//стрелка, закрывающая сделку
        // ---- удаляем открывающую стрелку ------------
        ObjectDelete(Open_name);//открывающая стрелка Sell-ордера
        // ---- удаляем закрывающую стрелку ------------
        ObjectDelete(Close_name);//закрывающая стрелка Sell-ордера
        // ---- удаляем линии ------------
        ObjectDelete(L_name);//
        
        
      }  
    
    //Print("L_name = ",L_name);
    //ObjectCreate
    }//конец работы с выбранным ордером
  }//Конец цикла
  
  
   return(0);
  }
//+------------------------------------------------------------------+
//|                 Конец работы скрипта                             |
//+------------------------------------------------------------------+

