diff --git a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs index c2b621f..9c30c92 100644 --- a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs +++ b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs @@ -125,7 +125,7 @@ namespace BitgetAPI.IndicatorConditionSetup public Dictionary BuyShortStep = new Dictionary(); public Dictionary BuyLongStep = new Dictionary(); - + // 전봉이 구름떼 돌파후 시가가 구름떼 위에서 시작하는 것 @@ -405,6 +405,7 @@ namespace BitgetAPI.IndicatorConditionSetup var 전봉Bol4_Down = candleData_전봉.movingAverageDataList[4].BolangerValue_Down; var 전봉Bol12_Down = candleData_전봉.movingAverageDataList[12].BolangerValue_Down; var 전봉Bol24_Down = candleData_전봉.movingAverageDataList[24].BolangerValue_Down; + var 전봉Bol72_Down = candleData_전봉.movingAverageDataList[72].BolangerValue_Down; var 전전봉Bol4_Down = candleData_전전봉.movingAverageDataList[4].BolangerValue_Down; var 전전봉Bol12_Down = candleData_전전봉.movingAverageDataList[12].BolangerValue_Down; @@ -418,6 +419,7 @@ namespace BitgetAPI.IndicatorConditionSetup var 전봉Bol4_Up = candleData_전봉.movingAverageDataList[4].BolangerValue_Up; var 전봉Bol12_Up = candleData_전봉.movingAverageDataList[12].BolangerValue_Up; var 전봉Bol24_Up = candleData_전봉.movingAverageDataList[24].BolangerValue_Up; + var 전봉Bol72_Up = candleData_전봉.movingAverageDataList[72].BolangerValue_Up; var 전전봉Bol4_Up = candleData_전전봉.movingAverageDataList[4].BolangerValue_Up; var 전전봉Bol12_Up = candleData_전전봉.movingAverageDataList[12].BolangerValue_Up; @@ -454,10 +456,10 @@ namespace BitgetAPI.IndicatorConditionSetup var buyType = 0; if (BuyLongStep.ContainsKey(market + interval) && BuyLongStep[market + interval]) - { - if (전봉72 < 전봉24 && 전봉12 < 전봉2 && + { + if (전봉72 < 전봉24 && 전봉12 < 전봉2 && 전봉24 < 전봉2 && candleData_전봉.IchimokData.상한선 < 전봉24 && - (전전봉24 < 전봉24 || 전전봉12 < 전봉12)) + (전전봉24 < 전봉24 && 전전봉12 < 전봉12)) { buyTempFlag = true; buyType = 2; @@ -477,7 +479,7 @@ namespace BitgetAPI.IndicatorConditionSetup } else if ( candleData_전봉.IchimokData.하한선 < 전봉2 && candleData_전전봉.IchimokData.하한선 < 전전봉2 && - 전봉24 < 전봉2 && 전전봉24 > 전전봉2 && 전전봉72 < 전전봉2 && 전봉72 < 전봉2 && (전전봉24 < 전봉24 || 전전봉12 < 전봉12) + 전봉24 < 전봉2 && 전전봉2 < 전전봉24 && 전전봉72 < 전전봉2 && 전봉72 < 전봉2 && (전전봉24 < 전봉24 || 전전봉12 < 전봉12) ) { BuyLongStep[market + interval] = true; @@ -487,20 +489,20 @@ namespace BitgetAPI.IndicatorConditionSetup if (buyTempFlag) { - if(buyType == 1) + if (buyType == 1) { - if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && 현재봉24 - Bol72_Down > 현재봉24 - 현재봉72) + if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && Math.Abs(전봉24 - 전봉Bol72_Down) < Math.Abs(전봉24 - 전봉72)) { buyFlag = true; } } - else if(buyType == 2) + else if (buyType == 2) { - if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && 현재봉24 - Bol72_Up < 현재봉24 - 현재봉72) + if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && Math.Abs(현재봉24 - Bol72_Up) < Math.Abs(현재봉24 - 현재봉72)) { buyFlag = true; } - } + } } @@ -639,17 +641,17 @@ namespace BitgetAPI.IndicatorConditionSetup //} if (type == 1) { - if (현재봉72 > 현재봉2) + if (Math.Abs(전봉4 - 전봉Bol72_Down) < Math.Abs(전봉4 - 전봉72)) { - if (전봉2 < 전봉8) + if (전봉2 < 전봉4) { sellFlag = true; BuyLongStep[market + interval] = false; } else { - if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || - (현재봉2 < 현재봉24)) + if ((전전봉24 > 전봉24 && 전전봉12 > 전봉12) || + (전봉2 < 전봉24)) { sellFlag = true; BuyLongStep[market + interval] = false; @@ -659,8 +661,8 @@ namespace BitgetAPI.IndicatorConditionSetup } else { - if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || - (현재봉2 < 현재봉24)) + if ((전전봉24 > 전봉24 && 전전봉12 > 전봉12) || + (전봉2 < 전봉24)) { sellFlag = true; BuyLongStep[market + interval] = false; @@ -669,8 +671,10 @@ namespace BitgetAPI.IndicatorConditionSetup } else if (type == 2) { - if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || - (현재봉2 < 현재봉24)) + if ((전전봉24 > 전봉24 && 전전봉12 > 전봉12) || + ((전전봉24 > 전봉24 || 전전봉12 > 전봉12) && 현재봉2 < 현재봉72 && 전봉2 > 전봉72) || + 전봉24 > 전봉Bol72_Up && 전봉2 < 전봉Bol72_Up + ) { sellFlag = true; BuyLongStep[market + interval] = false; @@ -771,9 +775,9 @@ namespace BitgetAPI.IndicatorConditionSetup if (BuyShortStep.ContainsKey(market + interval) && BuyShortStep[market + interval]) { - if (전봉72 > 전봉24 && 전봉12 > 전봉2 && + if (전봉72 > 전봉24 && 전봉12 > 전봉2 && 전봉24 > 전봉2 && candleData_전봉.IchimokData.하한선 > 전봉24 && - (전전봉24 > 전봉24 || 전전봉12 > 전봉12)) + (전전봉24 > 전봉24 && 전전봉12 > 전봉12)) { buyTempFlag = true; buyType = 2; @@ -793,7 +797,7 @@ namespace BitgetAPI.IndicatorConditionSetup } else if ( candleData_전봉.IchimokData.상한선 > 전봉2 && candleData_전전봉.IchimokData.상한선 > 전전봉2 && - 전봉24 > 전봉2 && 전전봉24 < 전전봉2 && 전전봉72 > 전전봉2 && 전봉72 > 전봉2 && (전전봉24 > 전봉24 || 전전봉12 > 전봉12) + 전봉24 > 전봉2 && 전전봉2 > 전전봉24 && 전전봉72 > 전전봉2 && 전봉72 > 전봉2 && (전전봉24 > 전봉24 || 전전봉12 > 전봉12) ) { BuyShortStep[market + interval] = true; @@ -805,16 +809,14 @@ namespace BitgetAPI.IndicatorConditionSetup { if (buyType == 1) { - if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down - && 전봉Bol12_Down > Bol12_Down && 현재봉24 - Bol72_Up < 현재봉24 - 현재봉72) + if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down && Math.Abs(전봉24 - 전봉Bol72_Up) < Math.Abs(전봉24 - 전봉72)) { buyFlag = true; } } else if (buyType == 2) { - if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down - && 전봉Bol12_Down > Bol12_Down && 현재봉24 - Bol72_Down > 현재봉24 - 현재봉72) + if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down && Math.Abs(현재봉24 - Bol72_Down) < Math.Abs(현재봉24 - 현재봉72)) { buyFlag = true; } @@ -959,11 +961,46 @@ namespace BitgetAPI.IndicatorConditionSetup // break; //} - if ((전봉24 < 현재봉24 && 전봉12 < 현재봉12) || - (현재봉2 > 현재봉24)) + if (type == 1) { - sellFlag = true; - BuyShortStep[market + interval] = false; + if (Math.Abs(전봉4 - 전봉Bol72_Up) < Math.Abs(전봉4 - 전봉72)) + { + if (전봉2 > 전봉4) + { + sellFlag = true; + BuyShortStep[market + interval] = false; + } + else + { + if ((전전봉24 < 전봉24 && 전전봉12 < 전봉12) || + (전봉2 > 전봉24)) + { + sellFlag = true; + BuyShortStep[market + interval] = false; + } + } + + } + else + { + if ((전전봉24 < 전봉24 && 전전봉12 < 전봉12) || + (전봉2 > 전봉24)) + { + sellFlag = true; + BuyShortStep[market + interval] = false; + } + } + } + else if (type == 2) + { + if ((전전봉24 < 전봉24 && 전전봉12 < 전봉12) || + ((전전봉24 < 전봉24 || 전전봉12 < 전봉12) && 현재봉2 > 현재봉72 && 전봉2 < 전봉72) || + 전봉24 < 전봉Bol72_Down && 전봉2 > 전봉Bol72_Down + ) + { + sellFlag = true; + BuyShortStep[market + interval] = false; + } } if (sellFlag)