Dictionary <String, String> selectForGreen(DataStoreHelper dsh, SelectMode selectMode, ref String sigInfo) { var zf = dsh.Ref(Info.ZF); if (zf > 0.095 || zf < -0.095) { return(null); } if (dsh.IsLikeSTStop()) { return(null); } if (dsh.Ref(Info.HF) > 0) { return(null); } if (dsh.IsRed()) { return(null); } if (dsh.DownShadow() < -0.03) { return(null); } return(EmptyRateItemButSel); }
public virtual Dictionary <String, String> selectFor(DataStoreHelper dsh, SelectMode selectMode, ref String sigInfo) { var zf = dsh.Ref(Info.ZF); if (zf > 0.095 || zf < -0.095) { return(null); } if (zf < 0.02) { return(null); } if (dsh.IsLikeSTStop()) { return(null); } if (dsh.Ref(Info.ZF, 2) < 0.03) { return(null); } if (dsh.Ref(Info.ZF, 1) > -0.01) { return(null); } if (dsh.Ref(Info.ZF, 3) > 0) { return(null); } if (dsh.AccZF(3) < 0.05) { return(null); } if (dsh.AccZF(3, 3) > 0) { return(null); } if (dsh.Ref(Info.V) > dsh.Ref(Info.V, 1) * 2) { return(null); } for (int i = 0; i < 4; ++i) { if (dsh.DownShadow(i) < -0.04) { return(null); } if ((dsh.Ref(Info.CO, i) / dsh.Ref(Info.C, i + 1)) < 0.005) { return(null); } if (dsh.Ref(Info.OF, i) > 0.02 && dsh.Ref(Info.ZF, i) < -0.02) { return(null); } } var hhCO = dsh.HH(Info.CO, 8); if (dsh.Ref(Info.ZF, hhCO) > 0) { return(null); } if (dsh.Ref(Info.ZF, dsh.LL(Info.ZF, 8)) < -0.095) { return(null); } if (dsh.HH(Info.V, 6) == 0) { return(null); } return(EmptyRateItemButSel); }
Dictionary <String, String> IStrategy.select(DataStoreHelper dsh, SelectMode selectMode, ref String sigInfo) { var zf = dsh.Ref(Info.ZF); if (zf > 0.095 || zf < -0.095) { return(null); } if (zf < 0.01) { return(null); } if (dsh.IsLikeSTStop()) { return(null); } if (dsh.DownShadow() < -0.04) { return(null); } if ((dsh.Ref(Info.C, 1) - dsh.Ref(Info.L, 3)) / dsh.Ref(Info.C, 1) > 0) { return(null); } if (dsh.Ref(Info.HL, 1) > dsh.Ref(Info.HL, 2) * 2) { return(null); } if (dsh.Ref(Info.HL, 2) > dsh.Ref(Info.HL, 1) * 2) { return(null); } if (dsh.Ref(Info.C) < dsh.Ref(Info.O, 1)) { return(null); } if ((dsh.Ref(Info.C, 1) - dsh.Ref(Info.O, 5)) / dsh.Ref(Info.C, 1) > 0.01) { return(null); } if (dsh.Ref(Info.L) < dsh.Ref(Info.L, 1) && dsh.Ref(Info.H) > dsh.Ref(Info.H, 1)) { return(null); } if (dsh.AccZF(2, 1) < -0.1) { return(null); } if (dsh.AccZF(3) > 0.02) { return(null); } if (dsh.AccZF(2) < -0.04) { return(null); } var accZF6 = dsh.AccZF(6); if (accZF6 > 0.08) { return(null); } int nDownCount = 2; if (dsh.EveryDown(1) != nDownCount) { return(null); } if (dsh.Ref(Info.ZF, nDownCount + 1) < 0.01) { return(null); } if (dsh.Ref(Info.ZF, dsh.HH(Info.ZF, 6)) < 0.03) { return(null); } if (dsh.Ref(Info.ZF, nDownCount + 2) > -0.01) { return(null); } if (dsh.Ref(Info.ZF, nDownCount + 3) < 0.01) { return(null); } var upV = dsh.Acc(Info.V, 6, 0, 1); var downV = dsh.Acc(Info.V, 6, 0, -1); if (upV > downV * 1.5) { return(null); } for (int i = 0; i <= 5; ++i) { var curOF = dsh.Ref(Info.OF, i); var curZF = dsh.Ref(Info.ZF, i); if (!dsh.IsReal(i)) { return(null); } if (curZF > 0.095 || curZF < -0.095) { return(null); } if (curOF > 0.02 && curZF < 0) { return(null); } if (curOF < -0.02 && curZF < 0) { return(null); } if (dsh.Ref(Info.CO, i) / dsh.Ref(Info.C, i + 1) < 0.006) { return(null); } } var szZF = dsh.SZRef(Info.ZF); if (szZF > 0 && szZF < 0.011 && dsh.SZAcc(Info.ZF, 7, 1) > 0.03) { return(null); } if (!selectBySZ(dsh)) { return(null); } return(EmptyRateItemButSel); }
Dictionary <String, String> IStrategy.select(DataStoreHelper dsh, SelectMode selectMode, ref String sigInfo) { var zf = dsh.Ref(Info.ZF); if (zf > 0.095 || zf < -0.095) { return(null); } if (zf < 0.01) { return(null); } if (dsh.IsLikeSTStop()) { return(null); } var szZF = dsh.SZRef(Info.ZF); if (szZF < 0.01) { return(null); } if (szZF < 0.011 && dsh.SZAcc(Info.ZF, 7, 1) > 0.03) { return(null); } var recentMaxSZZF = dsh.SZRef(Info.ZF, dsh.SZHH(Info.ZF, 10, 1)); if (recentMaxSZZF < 0.005) { return(null); } var minSZZFIndex = dsh.SZLL(Info.ZF, 8, 1); if (dsh.SZRef(Info.ZF, minSZZFIndex) > -0.005) { return(null); } if (!dsh.IsReal()) { return(null); } if (dsh.UpShadow() > 0.04) { return(null); } if (dsh.DownShadow() < -0.04) { return(null); } var of = dsh.Ref(Info.OF); if (of > 0.02 || of < -0.04) { return(null); } if (dsh.Ref(Info.ZF, 1) > -0.02 || dsh.Ref(Info.ZF, 1) < -0.095) { return(null); } if (dsh.Ref(Info.ZF, 2) < -0.02) { return(null); } if (zf + dsh.Ref(Info.ZF, 1) < 0) { return(null); } if (dsh.Ref(Info.V) > dsh.Ref(Info.V, 1) * 1.5) { return(null); } for (int i = 1; i < 8; ++i) { var curZF = dsh.Ref(Info.ZF, i); var curOf = dsh.Ref(Info.OF, i); if (curOf > 0.04 && curZF < 0) { return(null); } if (curOf < -0.02 && curZF < 0) { return(null); } } if (dsh.AccZF(8, 1) < -0.1) { return(null); } if (dsh.Ref(Info.ZF, dsh.HH(Info.CO, 10)) > 0) { return(null); } int iMaxVolIndex = dsh.HH(Info.V, 10); if (dsh.Ref(Info.C, iMaxVolIndex) > dsh.Ref(Info.O, iMaxVolIndex)) { return(null); } if ((dsh.Ref(Info.H, dsh.HH(Info.H, 8)) - dsh.Ref(Info.L, dsh.LL(Info.L, 8))) / dsh.Ref(Info.C, 1) > 0.2) { return(null); } return(EmptyRateItemButSel); }
Dictionary <String, String> IStrategy.select(DataStoreHelper dsh, SelectMode selectMode, ref String sigInfo) { var zf = dsh.Ref(Info.ZF); if (zf > 0.095 || zf < -0.095) { return(null); } if (zf < 0.02 || zf > 0.03) { return(null); } if (dsh.IsLikeSTStop()) { return(null); } if (dsh.Ref(Info.OF) < -0.015) { return(null); } if (dsh.EveryDown(1) >= 3) { return(null); } if (dsh.Ref(Info.ZF, 1) > -0.02 || dsh.Ref(Info.ZF, 1) < -0.05) { return(null); } if (dsh.UpShadow() > 0.04) { return(null); } if (dsh.Ref(Info.CO) / dsh.Ref(Info.C, 1) < 0.01) { return(null); } if (dsh.AccZF(8) > -0.1) { return(null); } if (dsh.AccZF(2) > 0) { return(null); } if (dsh.HH(Info.V, 8) == 0) { return(null); } if (dsh.DownShadow() < -0.04) { return(null); } if (dsh.Ref(Info.ZF, 2) < -0.01) { return(null); } if (!dsh.IsReal()) { return(null); } for (int i = 1; i < 8; ++i) { var curZF = dsh.Ref(Info.ZF, i); var curOF = dsh.Ref(Info.OF, i); if (curZF < -0.095 || curZF > 0.095) { return(null); } if (curOF > 0.04 && dsh.IsGreen(i)) { return(null); } if (dsh.IsUpStopEveryDay(3, i)) { return(null); } } if (!selectBySZ(dsh)) { return(null); } return(EmptyRateItemButSel); }