사는 지점과 파는지점이 겹치면 안사는거로 처리

This commit is contained in:
kyh
2025-05-28 15:37:09 +09:00
parent 4a39cf6e70
commit 07085f88c7
2 changed files with 7 additions and 5 deletions

View File

@@ -370,7 +370,8 @@ namespace BitgetAPI.IndicatorConditionSetup
//사는 시점 //사는 시점
if (!UpBuyList.ContainsKey(market)) if (!UpBuyList.ContainsKey(market))
{ {
if (sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.LongBuy)) if (sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.LongBuy) &&
!sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.LongSell))
{ {
BuyLongStep[market] = 0; BuyLongStep[market] = 0;
// 없으면 생성 // 없으면 생성
@@ -544,7 +545,8 @@ namespace BitgetAPI.IndicatorConditionSetup
//사는 시점 //사는 시점
if (!DownBuyList.ContainsKey(market)) if (!DownBuyList.ContainsKey(market))
{ {
if (sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.ShortBuy)) if (sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.ShortBuy) &&
!sMABandConditionSetup.Calculate(candleDatas_5_TempList, SMABandType.ShortSell))
{ {
BuyShortStep[market] = 0; BuyShortStep[market] = 0;
// 없으면 생성 // 없으면 생성

View File

@@ -51,7 +51,7 @@ namespace BitgetApi.IndicatorConditionSetup
double prev2Sma4High = Highest(close, i - 2, 12); double prev2Sma4High = Highest(close, i - 2, 12);
double prev2Sma4Low = Lowest(close, i - 2, 12); double prev2Sma4Low = Lowest(close, i - 2, 12);
double prev2Sma4Middle = SMA(close, i - 2, 12);
bool isSideways = IsSideways(high, low, i); bool isSideways = IsSideways(high, low, i);
// 조건 판단 // 조건 판단
@@ -69,8 +69,8 @@ namespace BitgetApi.IndicatorConditionSetup
bool rawLongSell = close[i] < sma4Middle || (prevSma4High == prevSma4 && sma4High > sma4); bool rawLongSell = close[i] < sma4Middle || (prevSma4High == prevSma4 && sma4High > sma4);
bool rawNewShort = (sma4 == sma4Low && prevSma4 == prevSma4Low && prevSma4 > sma4 && redCandle && (sma4Middle - prevSma4Middle) < (prevSma4Middle - SMA(close, i - 2, 12))); bool rawNewShort = (sma4 == sma4Low && prevSma4 > sma4 && prevSma4 > prevSma4Low && open[i] > close[i] && ((sma4Middle - prevSma4Middle) < (prevSma4Middle - prev2Sma4Middle)));
bool rawShortSell = close[i] > sma4Middle || (sma4High == sma4 && prevSma4High > prevSma4) || (prev2Sma4Low == prev2Sma4 && prevSma4Low < prevSma4); bool rawShortSell = close[i] > sma4Middle || (sma4High == sma4 && prevSma4High > prevSma4) || (prev2Sma4Low == prev2Sma4 && prevSma4Low < prevSma4);
// === 시그널 계산 === // === 시그널 계산 ===