SetBarsRequired(100000, 100000);
Cr = IIf(Ref(C,-1) < Ref(O,-1) AND
Ref(C,1) < Ref(O,1) AND
C > O, (H + L)/2, Null);
Cs = ValueWhen(Ref(Cr,-1), C, 1);
Cmax = IIf(Cr > 0, HHV(H,BarsSince(Cr)), Null);
Cmin = IIf(Cr > 0, LLV(L,BarsSince(Cr)), Null);
k1 = (Cmax - Cr)/Cr;
k2 = abs((Cmin - Cr)/Cr);
uk = IIf(k1/k2 > 0, k1/k2, 0);
//Здесь можнои примерно приравнять кол-во паттернов в каждом классе
/*
ur1 = Param("ur1",0.5,0.01,1,0.01);
ur2 = Param("ur2",1,0.5,2,0.01);
ur3 = Param("ur3",2,1,10,0.01);
klass1 = Cum(iif(uk <= ur1 AND uk > 0, 1, 0));
klass2 = Cum(IIf(uk > ur1 AND uk <= ur2, 1, 0));
klass3 = Cum(IIf(uk > ur2 AND uk <= ur3, 1, 0));
klass4 = Cum(IIf(uk > ur3, 1, 0));
Plot(klass1,"kl1",colorred,styleline);
Plot(klass2,"kl2",colorgreen,styleline);
Plot(klass3,"kl3",coloryellow,styleline);
Plot(klass4,"kl4",colorblue,styleline);
*/
//Потом вписываем сюда полученные значения уровней (расположение уровней как в klass1-4)
kl1234 = IIf(uk <= 0.49 AND uk > 0, 1,
IIf(uk > 0.49 AND uk <= 1.07, 2,
IIf(uk > 1.07 AND uk <= 2.62, 3,
IIf(uk > 2.62, 4, 0))));
Cond1 = ValueWhen(kl1234 > 0, kl1234, 1);
Cond2 = ValueWhen(kl1234 > 0, kl1234, 2);
Cond3 = ValueWhen(kl1234 > 0, kl1234, 3);
Buy = Ref(Cond1 == 1 AND
Cond2 == 3 AND
Cond3 == 1,-1);
Sell = Ref(kl1234,-1) == 4;
Equity(1);
Plot(C,"",colorGreen,styleCandle);
PlotShapes(IIf(kl1234 == 1, shapeDigit1,
IIf(kl1234 == 2, shapeDigit2,
IIf(kl1234 == 3, shapeDigit3,
IIf(kl1234 == 4, shapeDigit4, shapeNone)))), colororange, 0, L, -15);
PlotShapes(IIf(Buy , shapeSmallUpTriangle, shapeNone), coloryellow, 0, L, -25);
PlotShapes(IIf(Sell, shapeSmallDownTriangle, shapeNone), colorRed, 0, H, -20);
Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}}\n H %g, \n O %g, \n C %g, \n L %g\n (%.1f%%){{VALUES}}",
H, O, C, L, SelectedValue(ROC(C, 1))); |