From 9af714f0db0a8b83fd0f67a22bc4b2af01f7f42f Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Thu, 29 Aug 2024 11:01:54 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=8C=EB=8A=94=20=EC=A1=B0=EA=B1=B4=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IndicatorProcess.cs | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs index 8a0117c..625db28 100644 --- a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs +++ b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs @@ -256,36 +256,44 @@ namespace BitgetAPI.IndicatorConditionSetup // 24,48 높은값 var 높은값_48_24_전전봉 = Math.Max(candleData_전전봉.movingAverageDataList[48].Value, candleData_전전봉.movingAverageDataList[24].Value); + var 높은값_72_24_전전봉 = Math.Max(candleData_전전봉.movingAverageDataList[72].Value, candleData_전전봉.movingAverageDataList[24].Value); // 24,48 낮은값 var 낮은값_48_24_전전봉 = Math.Min(candleData_전전봉.movingAverageDataList[48].Value, candleData_전전봉.movingAverageDataList[24].Value); - + var 낮은값_72_24_전전봉 = Math.Min(candleData_전전봉.movingAverageDataList[72].Value, candleData_전전봉.movingAverageDataList[24].Value); // 24,48 높은값 var 높은값_48_24_전봉 = Math.Max(candleData_전봉.movingAverageDataList[48].Value, candleData_전봉.movingAverageDataList[24].Value); + var 높은값_72_24_전봉 = Math.Max(candleData_전봉.movingAverageDataList[72].Value, candleData_전봉.movingAverageDataList[24].Value); // 24,48 낮은값 var 낮은값_48_24_전봉 = Math.Min(candleData_전봉.movingAverageDataList[48].Value, candleData_전봉.movingAverageDataList[24].Value); + var 낮은값_72_24_전봉 = Math.Min(candleData_전봉.movingAverageDataList[72].Value, candleData_전봉.movingAverageDataList[24].Value); // 24,48 높은값 var 높은값_48_24 = Math.Max(candleData.movingAverageDataList[48].Value, candleData.movingAverageDataList[24].Value); + var 높은값_72_24 = Math.Max(candleData.movingAverageDataList[72].Value, candleData.movingAverageDataList[24].Value); // 24,48 낮은값 var 낮은값_48_24 = Math.Min(candleData.movingAverageDataList[48].Value, candleData.movingAverageDataList[24].Value); + var 낮은값_72_24 = Math.Min(candleData.movingAverageDataList[72].Value, candleData.movingAverageDataList[24].Value); var 높은값_12_낮은값48_24 = Math.Max(candleData.movingAverageDataList[12].Value, 낮은값_48_24); - var 낮은값_12_높은값48_24 = Math.Min(candleData.movingAverageDataList[12].Value, 높은값_48_24); + var 낮은값_12_높은값72_24 = Math.Min(candleData.movingAverageDataList[12].Value, 높은값_72_24); var 전전봉4 = candleData_전전봉.movingAverageDataList[4].Value; var 전전봉12 = candleData_전전봉.movingAverageDataList[12].Value; var 전전봉24 = candleData_전전봉.movingAverageDataList[24].Value; var 전전봉48 = candleData_전전봉.movingAverageDataList[48].Value; + var 전전봉72 = candleData_전전봉.movingAverageDataList[72].Value; var 전봉4 = candleData_전봉.movingAverageDataList[4].Value; var 전봉12 = candleData_전봉.movingAverageDataList[12].Value; var 전봉24 = candleData_전봉.movingAverageDataList[24].Value; var 전봉48 = candleData_전봉.movingAverageDataList[48].Value; + var 전봉72 = candleData_전봉.movingAverageDataList[72].Value; var 현재봉4 = candleData.movingAverageDataList[4].Value; var 현재봉12 = candleData.movingAverageDataList[12].Value; var 현재봉24 = candleData.movingAverageDataList[24].Value; var 현재봉48 = candleData.movingAverageDataList[48].Value; + var 현재봉72 = candleData.movingAverageDataList[72].Value; var 전봉Bol4 = candleData_전봉.movingAverageDataList[4].BolangerValue; @@ -371,13 +379,13 @@ namespace BitgetAPI.IndicatorConditionSetup try { - var candle240Flag = 현재봉240_4 < 높은값240_48_24 && - 현재봉240_4 < 전봉240_4 && - 현재봉240_12 < 전봉240_12 && + var candle240Flag = 현재봉240_4 > 낮은값240_48_24 && + 현재봉240_4 > 전봉240_4 && + 현재봉240_12 > 전봉240_12 && 전봉240Bol12 - 전봉240Bol24 > 현재봉240Bol12 - 현재봉240Bol24; var buyFlag = 전전봉Bol12 - 전전봉Bol24 > 전봉Bol12 - 전봉Bol24 && 전전봉Bol4 > 전봉Bol4; - var sellFlag = 현재봉4 < 낮은값_12_높은값48_24; + var sellFlag = 현재봉4 < 낮은값_12_높은값72_24; var 전고점Data = 전고점[market + strInterval]; double.TryParse(전고점Data["val"].ToString(), out var val); @@ -386,7 +394,7 @@ namespace BitgetAPI.IndicatorConditionSetup bool.TryParse(전고점Data["clearFlag"].ToString(), out var clearFlag); bool.TryParse(전고점Data["breakFlag"].ToString(), out var breakFlag); - if (현재봉4 < 낮은값_48_24) + if (현재봉4 < 낮은값_72_24) { if (firstFlag) 전고점Data["firstFlag"] = false; @@ -408,7 +416,7 @@ namespace BitgetAPI.IndicatorConditionSetup if (전봉4 < 전전봉4 && clearFlag) { 전고점Data["clearFlag"] = false; - if (전전봉4 > val) + if (전전봉4 < val) { 전고점Data["flag"] = false; 전고점Data["breakFlag"] = true; @@ -434,11 +442,11 @@ namespace BitgetAPI.IndicatorConditionSetup { if ( ( - 전전봉4 < 높은값_48_24_전전봉 && - 전봉4 > 높은값_48_24_전봉 && + 전전봉4 < 높은값_72_24_전전봉 && + 전봉4 > 높은값_72_24_전봉 && 전봉12 > 전전봉12 && - (전봉4 < candleData_전봉.IchimokData.하한선 - || 전봉4 > candleData_전봉.IchimokData.상한선) && + ((전봉4 < candleData_전봉.IchimokData.하한선 && 높은값_72_24_전봉 < candleData_전봉.IchimokData.하한선) + || (전봉4 > candleData_전봉.IchimokData.상한선 && 높은값_72_24_전봉 > candleData_전봉.IchimokData.상한선)) && 전봉4 - 전전봉4 > 전봉12 - 전전봉12 && 전봉12 - 전전봉12 > 전봉24 - 전전봉24 ) @@ -691,11 +699,10 @@ namespace BitgetAPI.IndicatorConditionSetup if ( ( 전전봉4 > 낮은값_48_24_전전봉 && - 전봉4 < 낮은값_48_24_전봉 && - + 전봉4 < 낮은값_48_24_전봉 && 전봉12 < 전전봉12 && - (전봉4 > candleData_전봉.IchimokData.상한선 - || 전봉4 < candleData_전봉.IchimokData.하한선) && + ((전봉4 > candleData_전봉.IchimokData.상한선 && 낮은값_48_24_전봉 > candleData_전봉.IchimokData.상한선) + ||(전봉4 < candleData_전봉.IchimokData.하한선 && 낮은값_48_24_전봉 < candleData_전봉.IchimokData.하한선)) && 전봉4 - 전전봉4 < 전봉12 - 전전봉12 && 전봉12 - 전전봉12 < 전봉24 - 전전봉24 )