public bool selectBySZ(DataStoreHelper dsh) { { var szzf = dsh.SZRef(Info.ZF); if (dsh.SZRef(Info.ZF, dsh.SZLL(Info.ZF, 3)) < -0.03 && szzf < 0.005 && szzf > -0.005 && dsh.SZUpShadow() > 0.005 && dsh.SZDownShadow() < -0.005) { return(false); } } float minSZZF = float.MaxValue; float maxSZZF = float.MinValue; int iSigIndex = -1; for (int i = 1; i <= 3; ++i) { var szzf = dsh.SZRef(Info.ZF, i); if (minSZZF > szzf) { minSZZF = szzf; if (minSZZF < -0.02) { iSigIndex = i; break; } } maxSZZF = Math.Max(maxSZZF, szzf); } if (iSigIndex != -1 && maxSZZF < 0.01) { var acc = dsh.SZAcc(Info.ZF, 3, iSigIndex + 1); if (acc > 0.02) { return(false); } } if (dsh.SZAcc(Info.ZF, 6, 1) < -0.06 && dsh.SZRedCount(6, 1) < 3) { return(false); } return(true); }