Draw Vertical Line to Future Time

I can draw a vertical line from past date into current date but how to draw a vertical line into future date?

The distance between two lines with the number of candles = 20 candles

I want to draw a vertical line No. 3 in the future, starting from line No. 1 with 20 candles, not counting holidays

Documentation on MQL5: Constants, Enumerations and Structures / Objects Constants / Object Types
• www.mql5.com
Object Types - Objects Constants - Constants, Enumerations and Structures - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5

عمرو الشرقاوى:

I can draw a vertical line from past date into current date but how to draw a vertical line into future date?

The distance between two lines with the number of candles = 20 candles

I want to draw a vertical line No. 3 in the future, starting from line No. 1 with 20 candles, not counting holidays

```#property indicator_chart_window
#property indicator_plots 0

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ObjectsDeleteAll(0,"TL");
ChartRedraw();
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
{
if(rates_total-prev_calculated==0)
return(rates_total);
ArraySetAsSeries(time,true);
ArraySetAsSeries(open,true);

SetTLine(0, "TL", time[0], open[0], time[0]+PeriodSeconds()*20, open[0], clrAqua);

return(rates_total);
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void SetTLine(long chart_ID,string nm,datetime t1,double p1,datetime t2,double p2,color cl)
{
if(ObjectFind(chart_ID,nm)<0) {
ObjectCreate(chart_ID,nm,OBJ_TREND,0,0,0,0);
ObjectSetInteger(chart_ID,nm,OBJPROP_RAY,false);
ObjectSetInteger(chart_ID,nm,OBJPROP_STYLE,0);
ObjectSetInteger(chart_ID,nm,OBJPROP_WIDTH,2);
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTABLE,true);
ObjectSetInteger(chart_ID,nm,OBJPROP_SELECTED,false);
ObjectSetInteger(chart_ID,nm,OBJPROP_HIDDEN,false);
ObjectSetInteger(chart_ID,nm,OBJPROP_BACK,false);
ObjectSetInteger(chart_ID,nm,OBJPROP_TIME,t1);
ObjectSetDouble(chart_ID,nm,OBJPROP_PRICE,p1);
ObjectSetInteger(chart_ID,nm,OBJPROP_TIME,1,t2);
ObjectSetDouble(chart_ID,nm,OBJPROP_PRICE,1,p2);
ObjectSetInteger(chart_ID,nm,OBJPROP_COLOR,cl);
}
}
//+------------------------------------------------------------------+
```
Reason: