/// <summary> /// /// </summary> /// <returns></returns> public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append(maSign.ToString("D") + " ,"); builder.Append(bollingerSign.ToString("D") + " ,"); builder.Append(ichimokuSign.ToString("D") + " ,"); builder.Append(parabolicSign.ToString("D") + " ,"); builder.Append(pivotSign.ToString("D") + " ,"); builder.Append(ROCSign.ToString("D") + " ,"); builder.Append(psychologicalSign.ToString("D") + " ,"); builder.Append(deviationSign.ToString("D") + " ,"); builder.Append(RSISign.ToString("D") + " ,"); builder.Append(RCISign.ToString("D") + " ,"); builder.Append(perRSign.ToString("D") + " ,"); builder.Append(stochasticSign.ToString("D") + " ,"); builder.Append(MACDSign.ToString("D") + " ,"); builder.Append(DMISign.ToString("D") + " ,"); builder.Append(VolumeSign.ToString("D") + " ,"); builder.Append(MFISign.ToString("D") + " ,"); builder.Append(MATrend.ToString("D") + " ,"); builder.Append(DMITrend.ToString("D") + " ,"); builder.Append(ParabolicTrend.ToString("D") + " ,"); builder.Append(MACDTrend.ToString("D") + " ,"); builder.Append(HLBand.ToString("D") + " ,"); builder.Append(TwoMA.ToString("D") + " ,"); builder.Append(FourWeeksRule.ToString("D") + " ,"); builder.Append(PFB1.ToString("D") + " ,"); builder.Append(PFB2.ToString("D") + " ,"); builder.Append(PFB3.ToString("D") + " ,"); builder.Append(PFB4.ToString("D") + " ,"); builder.Append(PFB5.ToString("D") + " ,"); builder.Append(PFS1.ToString("D") + " ,"); builder.Append(PFS2.ToString("D") + " ,"); builder.Append(minPurchasePrice + " ,"); builder.Append("NULL" + " ,"); builder.Append(WhiteMaruBozu.ToString("D") + " ,"); builder.Append(WhiteOhbikeBozu.ToString("D") + " ,"); builder.Append(WhiteYoritsukiBozu.ToString("D") + " ,"); builder.Append(BlackMaruBozu.ToString("D") + " ,"); builder.Append(BlackOhbikeBozu.ToString("D") + " ,"); builder.Append(BlackYoritsukiBozu.ToString("D") + " ,"); builder.Append(WhiteShitakage.ToString("D") + " ,"); builder.Append(WhiteUekage.ToString("D") + " ,"); builder.Append(WhiteKarakasa.ToString("D") + " ,"); builder.Append(BlackShitakage.ToString("D") + " ,"); builder.Append(BlackUekage.ToString("D") + " ,"); builder.Append(BlackKarakasa.ToString("D") + " ,"); builder.Append(Tonkachi.ToString("D") + " ,"); builder.Append(Tombo.ToString("D") + " ,"); builder.Append(Touba.ToString("D") + " ,"); builder.Append(SankuTatakikomi.ToString("D") + " ,"); builder.Append(SanteDaiInsen.ToString("D") + " ,"); builder.Append(LastIdakiInsen.ToString("D") + " ,"); builder.Append(AkenoMyojo.ToString("D") + " ,"); builder.Append(Sutegozoko.ToString("D") + " ,"); builder.Append(TakuriSen.ToString("D") + " ,"); builder.Append(Seiryokusen.ToString("D") + " ,"); builder.Append(BlackBlackHarami.ToString("D") + " ,"); builder.Append(IdakiYosen.ToString("D") + " ,"); builder.Append(Akasanpei.ToString("D") + " ,"); builder.Append(KaiFiveYosen.ToString("D") + " ,"); builder.Append(Osaekomisen.ToString("D") + " ,"); builder.Append(Agesanpo.ToString("D") + " ,"); builder.Append(SankuHumiage.ToString("D") + " ,"); builder.Append(SinneHatteRiguiSen.ToString("D") + " ,"); builder.Append(IkiDumari.ToString("D") + " ,"); builder.Append(JouiUwabanareInsen.ToString("D") + " ,"); builder.Append(YoYoHarami.ToString("D") + " ,"); builder.Append(LastIdakiYosen.ToString("D") + " ,"); builder.Append(IdakiInsen.ToString("D") + " ,"); builder.Append(VolumeRatio + " ,"); builder.Append(VolumeAmount + " ,"); builder.Append("'" + DateTime.Today + "'"); return(builder.ToString()); }
/// <summary> /// resultからテクニカル指標を生成,直近のDateを返す /// </summary> /// <param name="result"></param> /// <returns></returns> private DateTime MakeIndex(List <Candle> result) { var highStock = new List <double>(result.Select(row => row.highMid)); var lowStock = new List <double>(result.Select(row => row.lowMid)); var openStock = new List <double>(result.Select(row => row.openMid)); var closeStock = new List <double>(result.Select(row => row.closeMid)); var dateStock = new List <DateTime>(result.Select(row => row.time)); var ma = new MASign(closeStock); var bollinger = new BollingerSign(closeStock); var ichimoku = new IchimokuSign(highStock, lowStock, closeStock); var parabolic = new ParabolicSign(highStock, lowStock, closeStock); var pivot = new PivotSign(highStock, lowStock, closeStock); var roc = new ROCSign(closeStock); var psychological = new PsychologicalSign(closeStock); var deviation = new DeviationSign(closeStock); var rsi = new RSISign(closeStock); var rci = new RCISign(closeStock); var perR = new PerRSign(highStock, lowStock, closeStock); var stochastic = new StochasticSign(highStock, lowStock, closeStock); var macd = new MACDSign(closeStock); var dmi = new DMISign(highStock, lowStock, closeStock); //詳細画面 var hlBand = new HaLBandSign(highStock, lowStock, closeStock); var twoMA = new TwoMASign(closeStock); var fourWeekRule = new FourWeeksRuleSign(highStock, lowStock, closeStock); var pfSign = new PointAndFigureSign(closeStock); var B1 = pfSign.isB1Sign() ? Sign.TooSell : Sign.Normal; var B2 = pfSign.isB2Sign() ? Sign.TooSell : Sign.Normal; var B3 = pfSign.isB3Sign() ? Sign.TooSell : Sign.Normal; var B4 = pfSign.isB4Sign() ? Sign.TooSell : Sign.Normal; var B5 = pfSign.isB5Sign() ? Sign.TooSell : Sign.Normal; var S1 = pfSign.isS1Sign() ? Sign.TooBuy : Sign.Normal; var S2 = pfSign.isS2Sign() ? Sign.TooBuy : Sign.Normal; var sql = @"INSERT INTO IndexData_10m_2017( AsOfDate, MASign, BollingerSign, IchimokuSign, ParabolicSign, PivotSign, ROCSign, PsychologicalSign, DeviationSign, RSISign, RCISign, perRSign, StochasticSign, MACDSign, DMISign, MATrend, DMITrend, ParabolicTrend, MACDTrend, HLBand, TwoMA, FourWeeksRule, PFB1, PFB2, PFB3, PFB4, PFB5, PFS1, PFS2, NextBid, NextAsk, TenAfterBid, TenAfterAsk, TenMaxDDBid, TenMaxDDAsk, TenMaxDUBid, TenMaxDUAsk, RegisterDate ) VALUES( " + "'" + dateStock[dateStock.Count - 1].ToString("yyyy-MM-dd HH:mm:ss") + "'" + "," + ma.GetSign(closeStock.Count).ToString("D") + "," + bollinger.GetSign(closeStock.Count).ToString("D") + "," + ichimoku.GetSign(closeStock.Count).ToString("D") + "," + parabolic.GetSign(closeStock.Count).ToString("D") + "," + pivot.GetSign(closeStock.Count).ToString("D") + "," + roc.GetSign(closeStock.Count).ToString("D") + "," + psychological.GetSign(closeStock.Count).ToString("D") + "," + deviation.GetSign(closeStock.Count).ToString("D") + "," + rsi.GetSign(closeStock.Count).ToString("D") + "," + rci.GetSign(closeStock.Count).ToString("D") + "," + perR.GetSign(closeStock.Count).ToString("D") + "," + stochastic.GetSign(closeStock.Count).ToString("D") + "," + macd.GetSign(closeStock.Count).ToString("D") + "," + dmi.GetSign(closeStock.Count).ToString("D") + "," + ma.GetTrend(closeStock.Count).ToString("D") + "," + dmi.GetTrend(closeStock.Count).ToString("D") + "," + parabolic.GetTrend(closeStock.Count).ToString("D") + "," + macd.GetTrend(closeStock.Count).ToString("D") + "," + hlBand.GetSign(closeStock.Count).ToString("D") + "," + twoMA.GetSign(closeStock.Count).ToString("D") + "," + fourWeekRule.GetSign(closeStock.Count).ToString("D") + "," + B1.ToString("D") + "," + B2.ToString("D") + "," + B3.ToString("D") + "," + B4.ToString("D") + "," + B5.ToString("D") + "," + S1.ToString("D") + "," + S2.ToString("D") + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "NULL" + "," + "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'" + ")"; DB.ExecuteNonQuery(sql); return(dateStock.Last()); }