public bool BuyCondition(ref SimulationVariable simulationVariable, ref DataList dataList, ref BasicFinancialReportListModel financialdata, int j)
        {
            if (dataList.CoditionSatified("MoveAverageValue-1", "MoveAverageValue-30", j, Times: 2) &&
                dataList.CoditionSatified("MoveAverageValue-1", "MoveAverageValue-30", j, 3, false) &&
                dataList.TechData[j].ReturnOnInvestment >= 5 &&
                dataList.TechData[j].ReturnOnInvestment <= 6
                //&& dataList.TechData[j].ClosePrice >= 20
                //&& dataList.TechData[j].Date.Month != 3
                //&& dataList.TechData[j].Date.Month != 4

                //&& dataList.TechData[j].Date.Month != 6

                && dataList.TechData[j].Date.Month == Acc


                //&& (dataList.TechData[j].ClosePrice>=40 || dataList.TechData[j].ClosePrice <= 20)
                && dataList.CoditionSatifiedIsBiggerValue("MoveAverageValue-30", j, 1400) &&
                !dataList.CoditionSatifiedIsBiggerValue("MoveAverageValue-30", j, 7400)
                )
            {
                return(true);
            }

            return(false);
        }
 public bool BuyCondition(ref SimulationVariable simulationVariable, ref DataList dataList, ref BasicFinancialReportListModel financialdata, int j)
 {
     if (
         dataList.CoditionSatified("MoveAverageValue-1", "BollingerBandsDown-20", j) &&
         dataList.CoditionSatified("BollingerBandsDown-20", "MoveAverageValue-1", j - 1)
         )
     {
         return(true);
     }
     return(false);
 }
Пример #3
0
        //double IStrategy.Acc { get { return Acc; } set => this.Acc = Acc; }

        public bool BuyCondition(ref SimulationVariable simulationVariable, ref DataList dataList, ref BasicFinancialReportListModel financialdata, int j)
        {
            if (dataList.CoditionSatified("MoveAverageValue-1", "BollingerBandsDown-20", j) &&
                dataList.CoditionSatified("BollingerBandsDown-20", "MoveAverageValue-1", j - 1) &&
                dataList.CoditionSatifiedIsBiggerValue("MoveAverageValue-30", j, 200)
                //&& double.Parse(dataList.TechData[j].ClosePrice.ToString()) * double.Parse(dataList.TechData[j].Volume.ToString()) > 10000
                )    //&& dataList.CoditionSatified("BollingerBandsDown-5", "MoveAverageValue-1", j) && financialdata.ComparerFinancial("QCashFlowPerShare",3,4))
                     //   if (dataList.CoditionSatified("MoveAverageValue-1", "MoveAverageValue-20", j)
                     //&& dataList.CoditionSatified("MoveAverageValue-20", "MoveAverageValue-1", j - 1)
                     //       )
            {
                return(true);
            }
            return(false);
        }
        public bool BuyCondition(ref SimulationVariable simulationVariable, ref DataList dataList, ref BasicFinancialReportListModel financialdata, int j)
        {
            if (!simulationVariable.HasBuy && dataList.TechData[j].ReturnOnInvestment < 0)
            {
                CountDropDays++;
            }
            else if (dataList.TechData[j].ReturnOnInvestment != 0 || simulationVariable.HasBuy)
            {
                CountDropDays = 0;
            }

            if (
                dataList.ReturnValue("MinValue-10", j) == double.Parse(dataList.TechData[j].Volume.ToString()) &&
                (dataList.TechData[j].Date.Month == 7 || dataList.TechData[j].Date.Month == 8) &&
                dataList.CoditionSatified("BollingerBandsDown-20", "MoveAverageValue-1", j)) //&& dataList.CoditionSatified("BollingerBandsDown-5", "MoveAverageValue-1", j) && financialdata.ComparerFinancial("QCashFlowPerShare",3,4))
            {
                return(true);
            }

            return(false);
        }