bool IsBuy_ConditionForTurn() { SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; if (temp1 - 3 < 0) { return(false); } if ( BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth > 0 && BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > 0 && BasicFinancial.DataList[temp1].EPS > 0 && BasicFinancial.DataList[temp1 - 1].EPS < 0 && BasicFinancial.DataList[temp1].EPS - BasicFinancial.DataList[temp1 - 1].EPS > 0 && BasicFinancial.DataList[temp1 - 1].EPS - BasicFinancial.DataList[temp1 - 2].EPS > 0 && BasicFinancial.DataList[temp1].LongTermLiabilities / BasicFinancial.DataList[temp1].AllLiabilities < 0.6 ) { YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1); if (Var1.FCF > 0) { return(true); } } return(false); }
void YearsSum(int countYear, DateTime date, ref SumVariable sum)//每年累家數值 例如CashFlow 等 { int temp = BasicFinancial.BasicFinancialInt; int countY = 0; bool startToCount = false; int countT = 0;//數累加了多少次 if (countYear == 1) { for (int i = 0; i < 4; i++) { if (temp - i < 0) { return; } sum.FCF += BasicFinancial.DataList[temp - i].CashFromOperationActivity - BasicFinancial.DataList[temp - i].CashFromInvestingActivity; sum.ROE += BasicFinancial.DataList[temp - i].ROE; sum.NetIncomeAfterTax += BasicFinancial.DataList[temp - i].ProfitAfterTax; sum.NetIncomeAfterTaxRatio += BasicFinancial.DataList[temp - i].ProfitAfterTaxRatio; sum.CashFromOperation += BasicFinancial.DataList[temp - i].CashFromOperationActivity; } sum.NetIncomeAfterTaxRatio = sum.NetIncomeAfterTaxRatio / 4; return; } if (countYear != 1) { for (int i = temp; i >= 0; i--) { if (BasicFinancial.DataList[i].Date.Month == 12) { countY++; startToCount = true; } if (countY == countYear + 1) { return; } if (startToCount) { sum.FCF += BasicFinancial.DataList[i].CashFromOperationActivity - BasicFinancial.DataList[i].CashFromInvestingActivity; sum.ROE += BasicFinancial.DataList[i].ROE; sum.NetIncomeAfterTax += BasicFinancial.DataList[i].ProfitAfterTax; sum.NetIncomeAfterTaxRatio += BasicFinancial.DataList[i].ProfitAfterTaxRatio; sum.CashFromOperation += BasicFinancial.DataList[i].CashFromOperationActivity; countT++; } } sum.NetIncomeAfterTaxRatio = sum.NetIncomeAfterTaxRatio / countT; } }
bool MinPriceBuy_IsBuyCondition() { SumVariable Var5 = new SumVariable(); SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1); if (temp1 == 0 || temp == 0) { return(false); } if ((BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > 0 && (BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth > 0 )) || (BasicFinancial.DataList[temp1].EPS - BasicFinancial.DataList[temp1 - 1].EPS > 0)) { { return(true); } } return(false); }
bool _GetRise_IsBuyCondition() { SumVariable Var5 = new SumVariable(); SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1); if ( Bargin.bargin[i - 1].ForeignInvestorNetBuySell + Bargin.bargin[i - 1].InvestmentTruthNetBuySell + Bargin.bargin[i - 1].DealerNetBuySell > 100 && Bargin.bargin[i - 2].ForeignInvestorNetBuySell + Bargin.bargin[i - 2].InvestmentTruthNetBuySell + Bargin.bargin[i - 2].DealerNetBuySell > 100) { //if (((Bargin.bargin[i - 1].ForeignInvestorNetBuySell > 50 && Bargin.bargin[i - 1].InvestmentTruthNetBuySell > 50) // || (Bargin.bargin[i - 1].ForeignInvestorNetBuySell > 50 && Bargin.bargin[i - 1].DealerNetBuySell > 50) // || (Bargin.bargin[i - 1].DealerNetBuySell > 50 && Bargin.bargin[i - 1].InvestmentTruthNetBuySell > 50)) // && Bargin.bargin[i - 1].MarginStockRatio <= 3 // ) { return(true); } } return(false); }
bool IsBuy_ConditionForRevenue() { SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; if (temp1 - 2 < 0) { return(false); } if ( BasicFinancial.DataList[temp1].EPS > 0 && BasicFinancial.DataList[temp1 - 1].EPS > 0 && BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth > 0 && BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > 0 && BasicFinancial.DataList[temp1].LongTermLiabilities / BasicFinancial.DataList[temp1].AllLiabilities < 0.5 ) { return(true); } return(false); }
bool IsBuy_Condition() { SumVariable Var5 = new SumVariable(); SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; // YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1);//啟昇 if (temp1 - 2 < 0) { return(false); } if ( BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth > -5 && BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > -5 && BasicFinancial.RevenueList[temp - 2].MonthRiseRatioInSameMonth > -5 && BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth + BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > 20 ///////////////啟昇 && BasicFinancial.DataList[temp1].LongTermLiabilities / BasicFinancial.DataList[temp1].AllLiabilities < 0.5 ) { //return true; YearsSum(5, BasicFinancial.DataList[temp1].Date, ref Var5); if ( Var5.FCF > 0 && Var5.ROE / 5 >= 10 &&//ROE 15改成10 Var5.NetIncomeAfterTaxRatio / 5 >= 10 && Var5.CashFromOperation / Var5.NetIncomeAfterTax >= 0.5 ) { YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1); if ( Var1.FCF > 0 && Var1.ROE >= 10 && Var1.NetIncomeAfterTaxRatio >= 10 ) { return(true); } } } return(false); }
bool IsBuy_ConditionForGetRise() { SumVariable Var5 = new SumVariable(); SumVariable Var1 = new SumVariable(); BasicFinancial.InitialDate(TechData.TechData[i].date); int temp = BasicFinancial.RevenueInt; int temp1 = BasicFinancial.BasicFinancialInt; if (temp1 >= BasicFinancial.DataList.Count) { return(false); } YearsSum(1, BasicFinancial.DataList[temp1].Date, ref Var1);//啟昇 if (temp1 - 2 < 0) { return(false); } if ( ((BasicFinancial.DataList[temp1].EPS - BasicFinancial.DataList[temp1 - 1].EPS > 0 && (BasicFinancial.DataList[temp1 - 1].EPS - BasicFinancial.DataList[temp1 - 2].EPS > 0)) || (BasicFinancial.RevenueList[temp].MonthRiseRatioInSameMonth > -10 && BasicFinancial.RevenueList[temp - 1].MonthRiseRatioInSameMonth > -10 ) //|| //(BasicFinancial.RevenueList[temp].MonthRevenueRiseRatio>30 //&&BasicFinancial.RevenueList[temp-1].MonthRevenueRiseRatio>30) ) && BasicFinancial.DataList[temp1].LongTermLiabilities / BasicFinancial.DataList[temp1].AllLiabilities < 0.8 ) { return(true); } return(false); }