// Downloaded From https://www.WiseStockTrader.com // Оптимизируемые параметры. 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(tsbbb1, 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; // Условие выхода