Вы пытаетесь записать TimeSpan в DateTime. 
из MSDNDateTime И TimeSpan типы значений отличаются в том, что DateTime представляет момент времени, а TimeSpan представляет интервал времени. Это означает, например, что можно вычесть один экземпляр DateTime из другого для получения TimeSpan , представляющий интервал времени между ними. Или можно добавить положительное TimeSpan с текущим DateTime для получения DateTime значение, которое представляет дату в будущем.
Можно добавить или вычесть временной интервал из DateTime объекта. Интервалы времени может быть положительным или отрицательным, могут быть выражены в единицах, таких как такты или секунды или могут быть выражен как TimeSpan объект.
Ещё один момент, это инициализация. Чтобы заработало надо что-то записать в глоб. переменную при инициализации, иначе в OnUpdate() её не будет. Поэтому делаем так:
Код: Выделить всё
AddGlobalVariable("VariableTime", Types.DateTime, DateTime.Today);В АД действительно нельзя задать TimeSpan в глоб. переменных, т.к. доступен ограниченный набор типов.
AddGlobalVariable(Name, Types)AddGlobalVariable(Name, Types, Value) – функция создания статической переменной, которая сохраняет значение при следующем обращении к функции Evaluate(). В скрипте может быть определено несколько глобальных переменных.
Параметры:
•	Name – строка - имя параметра.
•	Types – тип переменной
o	Int
o	Long
o	Double
o	Boolean
o	String
o	DateTime
o	IntList
o	DoubleList
•	Value – значение по умолчанию   
TimeSpan частично и есть DateTime
Поэтому, как пример, добавим к дате бара или к дате наше время бара и 5 сек и запишем в глоб. переменную.
Код: Выделить всё
function Initialize()
{
   StrategyName = "Проверка";   
   AddParameter("P1", 0, "", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "");   
   AddGlobalVariable("VariableTime", Types.DateTime, DateTime.Today);   
}
function OnUpdate()
{
   // запишем в DateTime глоб. переменную "Дата бара + время бара + 5 сек"
   VariableTime = BarDate().Add(BarTime() + AsTime(0, 0, 5));   
      
      // Или
      
      // Запишем в DateTime глоб. переменную "Дата 2018.01.01 + время бара + 5 сек"
   VariableTime = AsDate(2018, 1, 1).Add(BarTime() + AsTime(0, 0, 5));   
}