//+----------------------------------------------------------------------------+
//|                                                    fromHistoryOnGraph.mq4  |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|  Скрипт выполняет чтение сделок из истории счёта и отображает их           |
//|  на графике в виде разноцветных линий.                                     |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link      "http://www.kimiv.ru"
#property show_inputs

extern int tolshina =2;                            // Толщина линий
extern color  clObjBuy         = DodgerBlue;      // Цвет прибыльных покупок
extern color  clObjBuyLoss     = DodgerBlue;      // Цвет убыточных покупок
extern color  clObjSell        = Coral;       // Цвет прибыльных продаж
extern color  clObjSellLoss    = Coral;       // Цвет убыточных продаж


//------- Глобальные переменные -----------------------------------------------+
int    frogBalance     = 0;
string frogNameObjLine = "LDeal";      // Наименования объектов ЛИНИЯ
string frogNameObjRect = "RDeal";      // Наименования объектов ПРЯМОУГОЛЬНИК


//+----------------------------------------------------------------------------+
//|  script program start function                                             |
//+----------------------------------------------------------------------------+
void start()
{
  datetime ot, ct;
  double   op, cp;
  int      i, k=OrdersHistoryTotal(), s=0, ty;

  for (i=0; i<k; i++)
  {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
    {
      ty=OrderType();
      if (OrderSymbol()==Symbol() && ty<2)
      {
        ot=OrderOpenTime();
        op=OrderOpenPrice();
        ct=OrderCloseTime();
        cp=OrderClosePrice();
        SetProp(i, ty, ot, op, ct, cp); s++;
      }
    }
  }
}

//+----------------------------------------------------------------------------+
//|  Установка свойств объектов                                                |
//|  Параметры:                                                                |
//|    or - номер объекта                                                      |
//|    ty - операция                                                           |
//|    ot - дата, время открытия                                               |
//|    op - цена открытия                                                      |
//|    ct - дата, время закрытия                                               |
//|    cp - цена закрытия                                                      |
//+----------------------------------------------------------------------------+
void SetProp(int or, int ty, datetime ot, double op, datetime ct, double cp)
{
  string no=frogNameObjLine;


  ObjectCreate(no+or, OBJ_TREND, 0, 0,0, 0,0);

  ObjectSet(no+or, OBJPROP_TIME1 , ot);
  ObjectSet(no+or, OBJPROP_PRICE1, op);
  ObjectSet(no+or, OBJPROP_TIME2 , ct);
  ObjectSet(no+or, OBJPROP_PRICE2, cp);
  ObjectSet(no+or, OBJPROP_RAY, false);
  ObjectSet(no+or, OBJPROP_WIDTH,   tolshina);
  if (ty==OP_BUY)
  {
    if (op<cp) ObjectSet(no+or, OBJPROP_COLOR, clObjBuy);
    if (op>cp) ObjectSet(no+or, OBJPROP_COLOR, clObjBuyLoss);
  }
  if (ty==OP_SELL)
  {
    if (op>cp) ObjectSet(no+or, OBJPROP_COLOR, clObjSell);
    if (op<cp) ObjectSet(no+or, OBJPROP_COLOR, clObjSellLoss);
  }
}

