재 수정

This commit is contained in:
kyh
2025-05-27 13:13:16 +09:00
parent a2c307b3d8
commit ba7b46f86d
2 changed files with 8 additions and 10 deletions

View File

@@ -613,7 +613,7 @@ namespace BitgetAPI.IndicatorConditionSetup
else
{
var buyItem = DownBuyList[market];
var flag = (bool)buyItem["Flag"];
//var flag = (bool)buyItem["Flag"];
if (interval < MCandleTimeType.H1)
{
var buyTime = ((DateTime)buyItem["BuyDate"]).AddMinutes(5);

View File

@@ -12,7 +12,7 @@ namespace BitgetApi.IndicatorConditionSetup
public class SMABandConditionSetup
{
private readonly int rangeLookback = 12;
private readonly double rangeThresholdPercent = 0.4;
private readonly double rangeThresholdPercent = 0.6;
private readonly int recentTouchLookback = 5;
private readonly int recentTouch2Lookback = 15;
@@ -100,20 +100,18 @@ namespace BitgetApi.IndicatorConditionSetup
{
double sma4_j = Avg(close[j], close[j - 1], close[j - 2], close[j - 3]);
double sma4Middle_j = SMA(close, j, 12, useSma4: true);
if (sma4_j > sma4Middle_j)
if (sma4_j < sma4Middle_j)
{
isShort2RecentTouch = true;
isLong2RecentTouch = true;
break;
}
}
bool rawNewLong = (isSideways && ! isLongRecentTouch && isLong2RecentTouch && sma4 == sma4High && prevSma4<sma4 && prevSma4 < prevSma4High &&((sma4Middle - prevSma4Middle) > (prevSma4Middle - prev2Sma4Middle))) ||
(isSideways && isLong2RecentTouch && sma4 == sma4High && prevSma4 == prevSma4High && prevSma4 < sma4 && ((sma4Middle - prevSma4Middle) > (prevSma4Middle - prev2Sma4Middle)));
bool rawLongSell = prevSma4High == prevSma4 && sma4High > sma4;
bool rawNewLong = (isSideways && ! isLongRecentTouch && isLong2RecentTouch && sma4 == sma4High && prevSma4<sma4 && prevSma4 < prevSma4High && open[open.Count - 1]<close[close.Count - 1] && ((sma4Middle -prevSma4Middle) > (prevSma4Middle - prev2Sma4Middle))) &&(isSideways && isLong2RecentTouch && sma4 > sma4Middle && prevSma4 < prevSma4Middle && prevSma4 < sma4 &&((sma4Middle - prevSma4Middle) > (prevSma4Middle - prev2Sma4Middle) && open[open.Count - 1] < close[close.Count - 1]));
bool rawLongSell = close[close.Count - 1] < sma4Middle || prevSma4High == prevSma4 && sma4High > sma4;
bool rawNewShort = (!isShortRecentTouch && isShort2RecentTouch && sma4 == sma4Low && prevSma4 > sma4 && prevSma4 > prevSma4Low && ((sma4Middle - prevSma4Middle) < (prevSma4Middle - prev2Sma4Middle))) ||
(isShort2RecentTouch && sma4 == sma4Low && prevSma4 == prevSma4Low && prevSma4 > sma4 && ((sma4Middle - prevSma4Middle) < (prevSma4Middle - prev2Sma4Middle)));
bool rawShortSell = open[open.Count - 1] > sma4Middle || (sma4High == sma4 && prevSma4High > prevSma4) ||(prev2Sma4Low == prev2Sma4 && prevSma4Low < prevSma4); ;
bool rawNewShort = (! isShortRecentTouch && isShort2RecentTouch && sma4 == sma4Low && prevSma4 > sma4 && prevSma4 > prevSma4Low && open[open.Count - 1] > close[close.Count - 1] &&((sma4Middle - prevSma4Middle) < (prevSma4Middle - prev2Sma4Middle))) || (isShort2RecentTouch && sma4 == sma4Low && prevSma4 == prevSma4Low && prevSma4 > sma4 && open[open.Count - 1] > close[close.Count - 1] &&((sma4Middle - prevSma4Middle) < (prevSma4Middle - prev2Sma4Middle)));
bool rawShortSell = rawShortSell = close[close.Count - 1] > sma4Middle || (sma4High == sma4 && prevSma4High > prevSma4) || (prev2Sma4Low == prev2Sma4 && prevSma4Low < prevSma4);
// === 시그널 계산 ===
if (type == SMABandType.LongBuy)