From 422f2296d9bec66e7ddcb211a827ae04447ba4fb Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Thu, 5 Dec 2024 13:22:07 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IndicatorProcess.cs | 69 ++++++++++++++----- BitgetApi/IndicatorData/MovingAverageData.cs | 2 +- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs index 2271fb9..5985e9c 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(); - + // 전봉이 구름떼 돌파후 시가가 구름떼 위에서 시작하는 것 @@ -413,6 +413,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_Up = candleData_전봉.movingAverageDataList[4].BolangerValue_Up; var 전봉Bol12_Up = candleData_전봉.movingAverageDataList[12].BolangerValue_Up; @@ -425,6 +426,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; if ((int)interval != 1) { @@ -487,16 +489,14 @@ namespace BitgetAPI.IndicatorConditionSetup { if(buyType == 1) { - if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up - && 전봉Bol12_Up < Bol12_Up) + if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && 현재봉24 - Bol72_Down > 현재봉24 - 현재봉72) { buyFlag = true; } } else if(buyType == 2) { - if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up - && 전봉Bol12_Up < Bol12_Up && 전봉Bol24_Up < Bol24_Up) + if (Bol12_Up < Bol24_Up && 전봉Bol12_Up < 전봉Bol24_Up && 현재봉24 - Bol72_Up < 현재봉24 - 현재봉72) { buyFlag = true; } @@ -637,12 +637,44 @@ namespace BitgetAPI.IndicatorConditionSetup // break; //} - if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || - (현재봉2 < 현재봉24) || - (전봉4 < 전전봉4 && 전전봉Bol12_Down < 전봉Bol12_Down && 전전봉Bol24_Down < 전봉Bol24_Down && 전봉2 < 전봉12)) + if (type == 1) { - sellFlag = true; - BuyLongStep[market + interval] = false; + if (현재봉72 > 현재봉2) + { + if (전봉2 < 전봉4) + { + sellFlag = true; + BuyLongStep[market + interval] = false; + } + else + { + if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || + (현재봉2 < 현재봉24)) + { + sellFlag = true; + BuyLongStep[market + interval] = false; + } + } + + } + else + { + if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || + (현재봉2 < 현재봉24)) + { + sellFlag = true; + BuyLongStep[market + interval] = false; + } + } + } + else if (type == 2) + { + if ((전봉24 > 현재봉24 && 전봉12 > 현재봉12) || + (현재봉2 < 현재봉24)) + { + sellFlag = true; + BuyLongStep[market + interval] = false; + } } if (sellFlag) { @@ -734,7 +766,7 @@ namespace BitgetAPI.IndicatorConditionSetup { var buyFlag = false; var buyTempFlag = false; - + var buyType = 0; if (BuyShortStep.ContainsKey(market + interval) && BuyShortStep[market + interval]) @@ -774,7 +806,7 @@ namespace BitgetAPI.IndicatorConditionSetup if (buyType == 1) { if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down - && 전봉Bol12_Down > Bol12_Down) + && 전봉Bol12_Down > Bol12_Down && 현재봉24 - Bol72_Up < 현재봉24 - 현재봉72) { buyFlag = true; } @@ -782,7 +814,7 @@ namespace BitgetAPI.IndicatorConditionSetup else if (buyType == 2) { if (Bol12_Down > Bol24_Down && 전봉Bol12_Down > 전봉Bol24_Down - && 전봉Bol12_Down > Bol12_Down && 전봉Bol24_Down > Bol24_Down) + && 전봉Bol12_Down > Bol12_Down && 현재봉24 - Bol72_Down > 현재봉24 - 현재봉72) { buyFlag = true; } @@ -829,7 +861,7 @@ namespace BitgetAPI.IndicatorConditionSetup [5] = false }; SellShortStep.Add(market + interval, dic); - if(buyType == 2) + if (buyType == 2) { BuyShortStep[market + interval] = false; } @@ -926,14 +958,13 @@ namespace BitgetAPI.IndicatorConditionSetup // } // break; //} - if ((전봉24 < 현재봉24 && 전봉12 < 현재봉12) || - (현재봉2 > 현재봉24) || - (전봉4 > 전전봉4 && 전전봉Bol12_Up > 전봉Bol12_Up && 전전봉Bol24_Up > 전봉Bol24_Up && 전봉2 > 전봉12)) + + if ((전봉24 < 현재봉24 && 전봉12 < 현재봉12) || + (현재봉2 > 현재봉24)) { sellFlag = true; BuyShortStep[market + interval] = false; - } - + } if (sellFlag) { diff --git a/BitgetApi/IndicatorData/MovingAverageData.cs b/BitgetApi/IndicatorData/MovingAverageData.cs index 7fa5936..9f034cc 100644 --- a/BitgetApi/IndicatorData/MovingAverageData.cs +++ b/BitgetApi/IndicatorData/MovingAverageData.cs @@ -18,6 +18,6 @@ namespace BitgetAPI.Data.IndicatorData // Bol Type 0 하향 1 상향 2기준 // Bol 편차 - public int BolangerSquared { get; set; } = 20; + public int BolangerSquared { get; set; } = 1; } }