Код: Выделить всё
/**
DatesTest
**/
function Initialize()
{
StrategyName = "DatesTest";
AddParameter("P1", 0, "", 1);
AddInput("Input1", Inputs.Candle, 1, true, "");
LongLimit = 1;
ShortLimit = -1;
}
function OnUpdate()
{
// объявляем массив из 4 элементов DateTime
var Dates = new DateTime[4];
// заполняем каждый элемент по индексу в массиве
Dates[0] = new DateTime(2018, 5, 7);
Dates[1] = new DateTime(2018, 5, 9);
Dates[2] = new DateTime(2018, 5, 11);
Dates[3] = new DateTime(2018, 5, 14);
// дата бара в массиве? Если нет, завершаем работу функции через return.
if (!Array.Exists(Dates, e => e == BarDate())) return;
// в 10:XX открываем позицию long, если не открыта позиция
if (CurrentPosition() == 0 && BarTime().Hours == 10) EnterLong();
// в 15:XX закрываем позицию long, если открыта позиция
if (CurrentPosition() != 0 && BarTime().Hours == 15) CloseLong();
}
9 мая - праздничный день. Добавлен для примера, биржа не работала

В самом тестировании стратегии надо задать период или кол-во баров захватывающее все эти даты.