From 34005c0ed1ee79374a5926362771d8ad74c23531 Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Mon, 2 Dec 2024 15:30:47 +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 | 229 +++++++++--------- 1 file changed, 120 insertions(+), 109 deletions(-) diff --git a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs index ae846bd..29916f5 100644 --- a/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs +++ b/BitgetApi/IndicatorConditionSetup/IndicatorProcess.cs @@ -450,10 +450,11 @@ namespace BitgetAPI.IndicatorConditionSetup var buyType = 0; if (BuyLongStep.ContainsKey(market + interval) && BuyLongStep[market + interval]) { - if (전봉72 < 전봉24 && 전봉24 < 전봉12 && 전봉12 < 전봉2 && candleData_전봉.IchimokData.상한선 < 전봉24) + if (전봉72 < 전봉24 && 전봉24 < 전봉12 && 전봉12 < 전봉2 && + candleData_전봉.IchimokData.상한선 < 전봉24 && + 전전봉24 < 전봉24 && 전전봉12 < 전봉12) { - 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) { buyType = 2; buyFlag = true; @@ -465,13 +466,12 @@ namespace BitgetAPI.IndicatorConditionSetup else { if ( - candleData_전봉.IchimokData.하한선 > 전봉2 && candleData_전전봉.IchimokData.하한선 > 전전봉2 && - 전봉72 > 전봉2 && 전전봉72 > 전전봉2 && 전전봉24 > 전전봉2 && 전봉24 < 전봉2 && - 전전봉12 < 전전봉2 && 전봉12 < 전봉24 + candleData_전봉.IchimokData.상한선 > 전봉2 && candleData_전전봉.IchimokData.상한선 > 전전봉2 && + 전봉24 < 전봉2 && 전전봉24 < 전전봉2 && 전전봉72 > 전전봉2 && 전봉72 < 전봉2 && 전전봉24 < 전봉24 && 전전봉12 < 전봉12 ) { - //buyFlag = true; - //buyType = 1; + buyFlag = true; + buyType = 1; } else if ( candleData_전봉.IchimokData.상한선 < 전봉2 && candleData_전전봉.IchimokData.상한선 < 전전봉2 && candleData_전봉.IchimokData.상한선 < 전봉24 && @@ -571,52 +571,57 @@ namespace BitgetAPI.IndicatorConditionSetup var sellFlag = false; int.TryParse(buyItem["Type"].ToString(), out var type); var val = SellLongStep[market + interval]; - switch (type) + //switch (type) + //{ + // case 1: + // if (전봉12 > 전봉24 && !val[2]) + // val[2] = true; + // if (전봉2 > 전봉72 && !val[3]) + // val[3] = true; + // if (전봉12 > 전봉72 && !val[4]) + // val[4] = true; + // if (전봉24 > 전봉72 && !val[5]) + // val[5] = true; + + // if (val[1] && !val[2] && !val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉12 < 전봉24 && 전봉24 < 전봉2 && 전봉2 < 전봉72); + // } + // else if (val[1] && val[2] && !val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉24 < 전봉12 && 전봉12 < 전봉2 && 전봉2 < 전봉72); + // } + // else if (val[1] && !val[2] && val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉12 < 전봉24 && 전봉24 < 전봉72 && 전봉72 < 전봉2); + // } + // else if (val[1] && val[2] && val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉24 < 전봉12 && 전봉12 < 전봉72 && 전봉72 < 전봉2); + // } + // else if (val[1] && val[2] && val[3] && val[4] && !val[5]) + // { + // sellFlag = !(전봉24 < 전봉72 && 전봉72 < 전봉12 && 전봉12 < 전봉2); + // } + // else if (val[1] && val[2] && val[3] && val[4] && val[5]) + // { + // sellFlag = !(전봉72 < 전봉24 && 전봉24 < 전봉12 && 전봉12 < 전봉2); + // } + + // break; + // case 2: + // if ((전봉24 < 현재봉24 && 전봉12 < 현재봉12) || 현재봉2 > 현재봉24) + // { + // sellFlag = true; + // } + // break; + + //} + if ((전봉24 < 현재봉24 && 전봉12 < 현재봉12) || 현재봉2 > 현재봉24) { - case 1: - if (전봉12 > 전봉24 && !val[2]) - val[2] = true; - if (전봉2 > 전봉72 && !val[3]) - val[3] = true; - if (전봉12 > 전봉72 && !val[4]) - val[4] = true; - if (전봉24 > 전봉72 && !val[5]) - val[5] = true; - - if (val[1] && !val[2] && !val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉12 < 전봉24 && 전봉24 < 전봉2 && 전봉2 < 전봉72); - } - else if (val[1] && val[2] && !val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉24 < 전봉12 && 전봉12 < 전봉2 && 전봉2 < 전봉72); - } - else if (val[1] && !val[2] && val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉12 < 전봉24 && 전봉24 < 전봉72 && 전봉72 < 전봉2); - } - else if (val[1] && val[2] && val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉24 < 전봉12 && 전봉12 < 전봉72 && 전봉72 < 전봉2); - } - else if (val[1] && val[2] && val[3] && val[4] && !val[5]) - { - sellFlag = !(전봉24 < 전봉72 && 전봉72 < 전봉12 && 전봉12 < 전봉2); - } - else if (val[1] && val[2] && val[3] && val[4] && val[5]) - { - sellFlag = !(전봉72 < 전봉24 && 전봉24 < 전봉12 && 전봉12 < 전봉2); - } - break; - case 2: - if (전봉Bol12_Up < 전전봉Bol12_Up && 전봉Bol24_Up < 전전봉Bol24_Up) - { - sellFlag = true; - } - break; - + sellFlag = true; + BuyLongStep[market + interval] = false; } - if (sellFlag) { double.TryParse(buyItem["Price"].ToString(), out var buyPrice); @@ -711,10 +716,11 @@ namespace BitgetAPI.IndicatorConditionSetup if (BuyShortStep.ContainsKey(market + interval) && BuyShortStep[market + interval]) { //72 > 24 > 12 > 2 - if (전봉72 > 전봉24 && 전봉24 > 전봉12 && 전봉12 > 전봉2 && candleData_전봉.IchimokData.하한선 > 전봉24) + if (전봉72 > 전봉24 && 전봉24 > 전봉12 && 전봉12 > 전봉2 && + candleData_전봉.IchimokData.하한선 > 전봉24 && + 전전봉24 > 전봉24 && 전전봉12 > 전봉12) { - if (전봉Bol12_Down > 전봉Bol24_Down && 전전봉Bol12_Down > 전전봉Bol24_Down && - 전전봉Bol12_Down > 전봉Bol12_Down && 전전봉Bol24_Down > 전봉Bol24_Down) + if (전봉Bol12_Down > 전봉Bol24_Down && 전전봉Bol12_Down > 전전봉Bol24_Down) { buyType = 2; buyFlag = true; @@ -726,17 +732,16 @@ namespace BitgetAPI.IndicatorConditionSetup else { if ( - candleData_전봉.IchimokData.상한선 < 전봉2 && candleData_전전봉.IchimokData.상한선 < 전전봉2 && - 전봉72 < 전봉2 && 전전봉72 < 전전봉2 && 전전봉24 < 전전봉2 && 전봉24 > 전봉2 && - 전전봉12 > 전전봉2 && 전봉12 > 전봉24 + candleData_전봉.IchimokData.하한선 < 전봉2 && candleData_전전봉.IchimokData.하한선 < 전전봉2 && + 전봉24 > 전봉2 && 전전봉24 > 전전봉2 && 전전봉72 < 전전봉2 && 전봉72 > 전봉2 && 전전봉24 > 전봉24 && 전전봉12 > 전봉12 ) { - //buyFlag = true; - //buyType = 1; + buyFlag = true; + buyType = 1; } else if ( - candleData_전봉.IchimokData.하한선 > 전봉2 && candleData_전전봉.IchimokData.하한선 > 전전봉2 && candleData_전봉.IchimokData.하한선 > 전봉24 && - 전봉72 > 전봉2 && 전전봉72 > 전전봉2 && 전전봉24 < 전전봉2 && 전봉24 > 전봉2 + candleData_전봉.IchimokData.하한선 < 전봉2 && candleData_전전봉.IchimokData.하한선 < 전전봉2 && + 전봉24 > 전봉2 && 전전봉24 > 전전봉2 && 전전봉72 < 전전봉2 && 전봉72 > 전봉2 && 전전봉24 > 전봉24 && 전전봉12 > 전봉12 ) { BuyShortStep[market + interval] = true; @@ -832,54 +837,60 @@ namespace BitgetAPI.IndicatorConditionSetup } int.TryParse(buyItem["Type"].ToString(), out var type); - - switch (type) - { - case 1: - var val = SellShortStep[market + interval]; - if (전봉12 < 전봉24 && !val[2]) - val[2] = true; - if (전봉2 < 전봉72 && !val[3]) - val[3] = true; - if (전봉12 < 전봉72 && !val[4]) - val[4] = true; - if (전봉24 < 전봉72 && !val[5]) - val[5] = true; - if (val[1] && !val[2] && !val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉12 > 전봉24 && 전봉24 > 전봉2 && 전봉2 > 전봉72); - } - else if (val[1] && val[2] && !val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉24 > 전봉12 && 전봉12 > 전봉2 && 전봉2 > 전봉72); - } - else if (val[1] && !val[2] && val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉12 > 전봉24 && 전봉24 > 전봉72 && 전봉72 >전봉2); - } - else if (val[1] && val[2] && val[3] && !val[4] && !val[5]) - { - sellFlag = !(전봉24 > 전봉12 && 전봉12 > 전봉72 && 전봉72 > 전봉2); - } - else if (val[1] && val[2] && val[3] && val[4] && !val[5]) - { - sellFlag = !(전봉24 > 전봉72 && 전봉72 > 전봉12 && 전봉12 > 전봉2); - } - else if (val[1] && val[2] && val[3] && val[4] && val[5]) - { - sellFlag = !(전봉72 > 전봉24 && 전봉24 > 전봉12 && 전봉12 > 전봉2); - } - else - sellFlag = true; - break; - case 2: - if(전봉Bol12_Down > 전전봉Bol12_Down && 전봉Bol24_Down > 전전봉Bol24_Down) - { - sellFlag = true; - } - break; - } + //switch (type) + //{ + // case 1: + // var val = SellShortStep[market + interval]; + // if (전봉12 < 전봉24 && !val[2]) + // val[2] = true; + // if (전봉2 < 전봉72 && !val[3]) + // val[3] = true; + // if (전봉12 < 전봉72 && !val[4]) + // val[4] = true; + // if (전봉24 < 전봉72 && !val[5]) + // val[5] = true; + + // if (val[1] && !val[2] && !val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉12 > 전봉24 && 전봉24 > 전봉2 && 전봉2 > 전봉72); + // } + // else if (val[1] && val[2] && !val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉24 > 전봉12 && 전봉12 > 전봉2 && 전봉2 > 전봉72); + // } + // else if (val[1] && !val[2] && val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉12 > 전봉24 && 전봉24 > 전봉72 && 전봉72 >전봉2); + // } + // else if (val[1] && val[2] && val[3] && !val[4] && !val[5]) + // { + // sellFlag = !(전봉24 > 전봉12 && 전봉12 > 전봉72 && 전봉72 > 전봉2); + // } + // else if (val[1] && val[2] && val[3] && val[4] && !val[5]) + // { + // sellFlag = !(전봉24 > 전봉72 && 전봉72 > 전봉12 && 전봉12 > 전봉2); + // } + // else if (val[1] && val[2] && val[3] && val[4] && val[5]) + // { + // sellFlag = !(전봉72 > 전봉24 && 전봉24 > 전봉12 && 전봉12 > 전봉2); + // } + // else + // sellFlag = true; + // break; + // case 2: + // if(전봉12 < 현재봉12 && 전봉24 < 현재봉24) + // { + // sellFlag = true; + // } + // break; + //} + if (전봉12 < 현재봉12 && 전봉24 < 현재봉24) + { + sellFlag = true; + BuyShortStep[market + interval] = false; + } + if (sellFlag) {