diff --git a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs index 2310898..7ccb542 100644 --- a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs +++ b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs @@ -228,6 +228,7 @@ namespace BitgetAPI.IndicatorConditionSetup var 전봉24 = candleData_전봉.movingAverageDataList[24].Value; var 전봉72 = candleData_전봉.movingAverageDataList[72].Value; + var 현재봉4 = candleData.movingAverageDataList[4].Value; var 현재봉24 = candleData.movingAverageDataList[24].Value; var 현재봉72 = candleData.movingAverageDataList[72].Value; @@ -237,20 +238,20 @@ namespace BitgetAPI.IndicatorConditionSetup var 전전봉Bol12 = candleData_전전봉.movingAverageDataList[12].BolangerValue; var 전전봉Bol24 = candleData_전전봉.movingAverageDataList[24].BolangerValue; - //볼랜저 12 24중 12가 크고 전전봉 전봉 12 차이보다 전전봉 전봉 24가 작아야함(하향) - var data12 = 전봉Bol12 - 전전봉Bol12 > 0 - ? 전봉Bol12 - 전전봉Bol12 : - (전봉Bol12 - 전전봉Bol12) * -1; + ////볼랜저 12 24중 12가 크고 전전봉 전봉 12 차이보다 전전봉 전봉 24가 작아야함(하향) + //var data12 = 전봉Bol12 - 전전봉Bol12 > 0 + // ? 전봉Bol12 - 전전봉Bol12 : + // (전봉Bol12 - 전전봉Bol12) * -1; - var data24 = 전봉Bol24 - 전전봉Bol24 > 0 - ? 전봉Bol24 - 전전봉Bol24 : - (전봉Bol24 - 전전봉Bol24) * -1; + //var data24 = 전봉Bol24 - 전전봉Bol24 > 0 + // ? 전봉Bol24 - 전전봉Bol24 : + // (전봉Bol24 - 전전봉Bol24) * -1; - var buyFlag = candleData_전봉.movingAverageDataList[12].BolangerValue > candleData_전봉.movingAverageDataList[24].BolangerValue && data12 > data24; + var buyFlag = candleData_전봉.movingAverageDataList[12].BolangerValue > candleData_전봉.movingAverageDataList[24].BolangerValue && 전전봉Bol12 - 전전봉Bol24 > 전봉Bol12 - 전봉Bol24; //파는 시점 볼랜저 전전봉 12 - 24 값이 전봉 12 - 24보다 클경우 팜 - var sellFlag = 전전봉Bol12 - 전전봉Bol24 < 전봉Bol12 - 전봉Bol24; + var sellFlag = 전전봉Bol12 - 전전봉Bol24 < 전봉Bol12 - 전봉Bol24 || 현재봉4 > 낮은값_74_24; if (영호조건식_상향돌파 && @@ -324,10 +325,12 @@ namespace BitgetAPI.IndicatorConditionSetup signals_SD.Add(signalInfoData); } - //사는 시점 - if (!BuyList.ContainsKey(market)) + try { - var buyDic = new Dictionary + //사는 시점 + if (!BuyList.ContainsKey(market+ interval)) + { + var buyDic = new Dictionary { { "MarketName", market }, { "BuyDate", nowTime }, @@ -336,33 +339,33 @@ namespace BitgetAPI.IndicatorConditionSetup { "Candle", candleData } }; - BuyList.Add(market, buyDic); - } - //파는 시점 - else - { - if(interval < MCandleTimeType.H1) - { - if (nowTime < candleData_전봉.Argument.AddMinutes((int)interval)) - { - continue; - } + BuyList.Add(market + interval, buyDic); } - //임시로 처리 + //파는 시점 else { - if (nowTime < candleData_전봉.Argument.AddHours((int)interval)) + if (interval < MCandleTimeType.H1) { - continue; + if (nowTime < candleData_전봉.Argument.AddMinutes((int)interval)) + { + continue; + } } - } - if (sellFlag) - { - var buyItem = BuyList[market]; - double.TryParse(buyItem["Price"].ToString(), out var buyPrice); - var resultRate = ((price - buyPrice) / buyPrice) * 100; + //임시로 처리 + else + { + if (nowTime < candleData_전봉.Argument.AddHours((int)interval)) + { + continue; + } + } + if (sellFlag) + { + var buyItem = BuyList[market + interval]; + double.TryParse(buyItem["Price"].ToString(), out var buyPrice); + var resultRate = ((price - buyPrice) / buyPrice) * 100; - var result = new Dictionary() + var result = new Dictionary() { { "MarketName", market }, { "BuyDate", buyItem["BuyDate"]}, @@ -375,9 +378,15 @@ namespace BitgetAPI.IndicatorConditionSetup { "Rate", resultRate } }; - ResultList.Add(result); + ResultList.Add(result); + BuyList.Remove(market + interval); + } } } + catch (Exception e) + { + + } } } }