예제 #1
0
        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);
        }