// Оптимизируемые параметры.
t1 = Optimize("Полупериод", 18, 18, 90, 3);
/* первая цифра- по умолчанию, Min, Max, step. Значение по умолчанию используется при Back Test'e*/
t3 = Optimize("период стоп", 16, 1, 30, 3);
pu = Optimize("добавить сверху", 10, 0, 10, 3);
/* дробное число принимать нехочет, придется потом делить на 1000 */
pd = Optimize("добавить снизу", 10, 0, 10, 3);
// Длинный TS
Ad = IIf(Ref(L, -t1) == LLV(L,t1*2+1), 1, 0);
bd = ValueWhen(Ad == 1,Ref(L,-t1), 1); // везде использую только первый фрактал
bd = IIf(bd < LLV(L, t1), bd, LLV(L, t1));
a1d = IIf(Ref(H, -t1) == HHV(H, t1*2+1), 1, 0);
b1d = ValueWhen(a1d == 1, Ref(H, -t1), 1);
b1d = IIf(b1d > HHV(H, t1), b1d, HHV(H, t1));
tsd = (bd+b1d)/2;
FloatTS2 = IIf(tsd > Ref(tsd, -1), 1, IIf(tsd < Ref(tsd,-1),-1, Ref(Ad, -1)));
// Короткий TS
t2 = t1/3;
A = IIf(Ref(L, -t2) == LLV(L,t2 * 2+1), 1, 0);
b = ValueWhen(A == 1,Ref(L,-t2), 1);
b = IIf(b < LLV(L, t2), b, LLV(L, t2));
a1= IIf(Ref(H, -t2) == HHV(H, t2*2+1), 1, 0);
b1 = ValueWhen(a1 == 1, Ref(H, -t2), 1);
b1 = IIf(b1 > HHV(H, t2), b1, HHV(H, t2));
ts = (b+b1)/2;
FloatTS1 = IIf(ts>Ref(ts,-1), 1, IIf(ts<Ref(ts,-1),-1, Ref(A, -1)));
// Плавающие уровни
/* на свой страх и риск используб их как уровень S/L, чтобы показать, что это тоже можно. Выход будет точно по цене уровня стопа!!!*/
A = IIf(Ref(L, -t3) == LLV(L, t3 * 2+1), 1, 0);
b = ValueWhen( A == 1, Ref(L, -t3), 1);
bb = ValueWhen(A == 1, Ref(L, -t3), 1);
bbb = Min(LLV(L, t3), bb);
A1 = IIf(Ref(H, -t3) == LLV(H, t3 * 2+1), 1, 0);
b1 = ValueWhen(a1 == 1, Ref(H, -t3), 1);
bb1 = ValueWhen(a1 == 1, Ref(H, -t3), 1);
bbb1 = Max(HHV(H,t3), bb1);
Coverstop = Ref(IIf(b1>bbb1, b1, bbb1), -1) + pu/1000; // стоп уровень выхода из Short
Sellstop = Ref(IIf(b < bbb, b, bbb), -1) - pd/1000; // стоп уровень выхода из Long
SellPrice = Sellstop; // Цена выхода из Long
CoverPrice = Coverstop; // Цена выхода из Short
// Вход и выход long
Buy = FloatTS1 + FloatTS2 == 2 AND Ref(FloatTS2 + FloatTS1, -1) < 2; // Условие входа
Sell = L < Sellstop; // Условие выхода
// Вход и выход Short
Short = FloatTS2 +FloatTS1 == -2 AND Ref(FloatTS2 + FloatTS1, -1) > - 2; // Условие входа
Cover = H > Coverstop; // Условие выхода
а вот это система или тоже индикатор я как понимаю что система