Подскажите, пожалуйста mql5

 

Добрый день!


на графике много трендовых линий.

Пример наименования:

PI_TP_Line_11645815000
PI_TP_Line_21645815000
PI_TP_Line_31645815000
PI_SL_Line_11645815000
PI_SL_Line_21645815000   

Я хочу узнать цену самой последней линии.

Мой код пока такой. 

Я нашел все трендовые линии с префиксом, которые мне  нужны, как найти именно трендовую линию последнюю на графике?

//+------------------------------------------------------------------+
//| Get Trend Info                                                   |
//+------------------------------------------------------------------+
void  getTrendInfo()
  {
   int countLine = ObjectsTotal(0,0,OBJ_TREND);
   string id;
   for(int i=0; i<countLine; i++)
     {
      id = ObjectGetString(0,ObjectName(0,i,0,-1),OBJPROP_NAME);
      datetime dtline = ObjectGetTimeByValue(0,ObjectName(0,i,0,-1),
                                             if(StringSubstr(id,0,12)== "PI_TP_Line_1")    //если  линии открытых ордеров-пропускаем
     {
      Print(ObjectName(0,i,0,-1));
         //
        }
      //PI_TP_Line_11645815000
      //PI_TP_Line_21645815000
      //PI_TP_Line_31645815000
      //
      //PI_SL_Line_11645815000
      //PI_SL_Line_21645815000
     }
  }
Документация по MQL5: Графические объекты / ObjectGetTimeByValue
Документация по MQL5: Графические объекты / ObjectGetTimeByValue
  • www.mql5.com
ObjectGetTimeByValue - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Что означает в Вашем понимании термин "самая последняя линия"? 

Это дата создания, это дата линии на текущем баре, это ...

 

Пример кода, перебирает все трендовые линии. Если имя такой линии начинается с параметра заданного в 'Prefix' - распечатываем имя линии и дату создания линии.

//+------------------------------------------------------------------+
//|                                                      Test_en.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property version   "1.002"
#property script_show_inputs
//--- input
input string   InpPrefix   = "PI_TP_Line_";  // Prefix
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   GetTrendInfo();
  }
//+------------------------------------------------------------------+
//| Get Trend Info                                                   |
//+------------------------------------------------------------------+
void GetTrendInfo()
  {
   long chart_id=ChartID();
   int trend_total=ObjectsTotal(chart_id,0,OBJ_TREND);
   for(int i=0; i<trend_total; i++)
     {
      string trend_name=ObjectName(chart_id,i,0,OBJ_TREND);
      if(StringFind(trend_name,InpPrefix,0)==0)
        {
         datetime trend_time=(datetime)(ObjectGetInteger(chart_id,trend_name,OBJPROP_TIME));
         Print(trend_name,", time: ",TimeToString(trend_time,TIME_DATE|TIME_SECONDS));
        }
     }
  }
//+------------------------------------------------------------------+
Файлы:
Test_en.mq5  3 kb
 

OBJPROP_CREATETIME

 
Dmitry Fedoseev #:

OBJPROP_CREATETIME

Да, спасибо. Перепутал.

//+------------------------------------------------------------------+
//|                                                      Test_en.mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property version   "1.003"
#property script_show_inputs
//--- input
input string   InpPrefix   = "PI_TP_Line_";  // Prefix
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   GetTrendInfo();
  }
//+------------------------------------------------------------------+
//| Get Trend Info                                                   |
//+------------------------------------------------------------------+
void GetTrendInfo()
  {
   long chart_id=ChartID();
   int trend_total=ObjectsTotal(chart_id,0,OBJ_TREND);
   for(int i=0; i<trend_total; i++)
     {
      string trend_name=ObjectName(chart_id,i,0,OBJ_TREND);
      if(StringFind(trend_name,InpPrefix,0)==0)
        {
         datetime trend_time=(datetime)(ObjectGetInteger(chart_id,trend_name,OBJPROP_CREATETIME));
         Print(trend_name,", create time: ",TimeToString(trend_time,TIME_DATE|TIME_SECONDS));
        }
     }
  }
//+------------------------------------------------------------------+
Файлы:
Test_en.mq5  3 kb
 
Dmitry Fedoseev #:

OBJPROP_CREATETIME

Спасибо!!!

 
Vladimir Karputov #:

Да, спасибо. Перепутал.

Спасибо!!!
 
Привет! Подскажите как закрыть ордера на паре USD\RUB? Никак не получается и график стоит(