short수정

This commit is contained in:
kyh
2025-09-15 12:51:30 +09:00
parent 738783473c
commit 9fce4b8636
2 changed files with 20 additions and 12 deletions

View File

@@ -64,23 +64,32 @@ namespace BitgetApi.IndicatorConditionSetup
var avgShortList = new List<double>();
for (var cntData = high.Count - 120; cntData < high.Count; cntData++)
{
var highestData = Highest(high, cntData, 12, 1);
{
var lowestData = Lowest(low, cntData, 12, 1);
var highData = high[cntData];
var highData = high[cntData];
avgLongList.Add((highData - lowestData)/lowestData * 100);
}
for (var cntData = high.Count - 12; cntData < high.Count; cntData++)
{
var highestData = Highest(high, cntData, 4, 1);
var lowData = low[cntData];
avgLongList.Add((highData - lowestData)/lowestData * 100);
avgShortList.Add((highestData - lowData) / highestData * 100);
}
rangeThresholdLongPercent = avgLongList.Average();
rangeThresholdShortPercent = avgShortList.Average();
rangeThresholdShortPercent = avgShortList.Average() * 2.5;
double sma72 = CalculateSMA(close, i);
double prevSma72 = CalculateSMA(close, i - 1);
double sma24 = CalculateSMA(close, i, 24);
double prevSma24 = CalculateSMA(close, i - 1, 24);
// SMA4 관련
double sma4 = CalculateSMA(close, i, 4);
double prevSma4 = CalculateSMA(close, i - 1, 4);
@@ -139,8 +148,8 @@ namespace BitgetApi.IndicatorConditionSetup
bool rawNewLong = highestTempData == high[i] && isLongRecentTouch && greenCandle && IsSideways(high, low, i, true, rangeThresholdLongPercent) && prevSma4 <= sma4 && sma4High == sma4 && prevSma4High >= prevSma4 && (prev2Sma4Middle - prevSma4Middle) > (prevSma4Middle - sma4Middle) && sma4Middle > sma72 && sma4 > cloudTopNow;
bool rawLongSell = (sma4Middle < sma72 && prevSma4Middle > prevSma72) || (sma4 == sma4Low);
bool rawNewShort = (sma72 < cloudTopAfter && sma72 < cloudTopNow) && sma72 > sma4 && sma4High > cloudBottomNow && sma4 == sma4Low && IsSideways(high, low, i, false, rangeThresholdShortPercent) && redCandle && sma4 < cloudTopNow;
bool rawShortSell = sma4High < close[i] || sma4 > sma72;
bool rawNewShort = (sma72 < cloudTopNow && prevSma4Middle > prevSma24 && sma4Middle > cloudBottomNow && sma4 < sma72 && sma4High > sma72 && sma24 > sma4Middle && sma4 == sma4Low && IsSideways(high, low, i, false, rangeThresholdShortPercent) && prevSma4 > sma4 && sma4 < cloudBottomNow) || (sma4 < sma72 && sma4High > sma72 && sma24 < sma4Middle && sma4 == sma4Low && IsSideways(high, low, i, false, rangeThresholdShortPercent) && redCandle && sma4 < cloudBottomNow && sma4Middle < cloudTopNow);
bool rawShortSell = (sma4High <= sma4 && sma4High < sma72) || sma4 > sma72;
//bool rawNewLong = greenCandle && sma4Low < sma72 && IsSideways(high, low, i, true) && sma4 > cloudTopNow && prevSma4 <= prevSma4High && sma4 == sma4High && prevSma4 < sma4 && sma4Middle > sma72 && sma4 > cloudTopNow && ichmok.SenkouSpanA >= ichmok.SenkouSpanB && ichmokCurrent.SenkouSpanA >= ichmokCurrent.SenkouSpanB;
//sma4 == sma4High && prevSma4 < sma4High && sma4Middle > sma72 && sma4 > cloudTopNow && ichmokCurrent.SenkouSpanA > ichmokCurrent.SenkouSpanB && ichmok.SenkouSpanA >= ichmok.SenkouSpanB; // sma4 > cloudBottomNow && IsSideways(high, low, i, true) && isSma4AboveCloud && (sma4 == sma4High && prevSma4 <= prevSma4High && prev2Sma4 <= prev2Sma4High) && (sma4 >= prevSma4 && prevSma4 >= prev2Sma4 && prev2Sma4 >= prev3Sma4);

View File

@@ -1157,7 +1157,7 @@ namespace BitgetAPI.WebService
{
var max = candleDataList.Max(t => t.Argument);
lastCandleData = candleDataList.Find(t => t.Argument == max);
lastCandleData.Open = 0;
var flag = false;
if (((int)mCandleTimeType) < 60)
{
@@ -1245,7 +1245,7 @@ namespace BitgetAPI.WebService
{
candleData.WebSocketUpdate = true;
lastCandleData.Close = candleData.Open;
lastCandleData.Open = candleData.Open;
if (lastCandleData.High < lastCandleData.Close)
{
lastCandleData.High = lastCandleData.Close;
@@ -1261,8 +1261,7 @@ namespace BitgetAPI.WebService
if((int)mCandleTimeType > 60)
{
dt = dt.AddMinutes(dt.Minute * -1);
}
}
// 새 데이터 등록
candleDataList.Add(candleData);