N봉 기울기 판단로직 수정

This commit is contained in:
Macbook
2026-06-16 09:12:24 +09:00
parent 518b69cdc6
commit f85c0bef20
10 changed files with 642 additions and 367 deletions
@@ -104,6 +104,14 @@ function rangeNote(cond?: ConditionDSL): string {
const mode = resolveCandleRangeMode(cond);
if (mode === 'CURRENT') return '';
const n = candleRangeWindowBars(cond);
if (cond.conditionType === 'SLOPE_UP' || cond.conditionType === 'SLOPE_DOWN') {
if (mode === 'EXISTS_IN') {
return `최근 ${n}봉(현재 봉 포함) 구간에서 그래프선이 ${cond.conditionType === 'SLOPE_UP' ? '상승' : '하락'} 추세인지 현재 봉 기준으로 판정합니다. `;
}
if (mode === 'NOT_EXISTS_IN') {
return `최근 ${n}봉(현재 봉 포함) 구간에서 그래프선이 ${cond.conditionType === 'SLOPE_UP' ? '상승' : '하락'} 추세가 아닌지 현재 봉 기준으로 판정합니다. `;
}
}
if (mode === 'EXISTS_IN') return `최근 ${n}봉(현재 봉 포함) 안에 해당 조건이 한 번이라도 성립하면 충족으로 판정합니다. `;
return `최근 ${n}봉(현재 봉 포함) 안에 해당 조건이 한 번도 없어야 충족으로 판정합니다. `;
}
@@ -201,6 +209,18 @@ function buildReason(
if (row.conditionType === 'SLOPE_UP' || row.conditionType === 'SLOPE_DOWN') {
const dir = row.conditionType === 'SLOPE_UP' ? '상승' : '하락';
const mode = cond ? resolveCandleRangeMode(cond) : 'CURRENT';
if (mode === 'EXISTS_IN' || mode === 'NOT_EXISTS_IN') {
const n = cond ? candleRangeWindowBars(cond) : 0;
const neg = mode === 'NOT_EXISTS_IN';
return prefix + (status === 'match'
? (neg
? `최근 ${n}봉 구간 그래프선이 ${dir} 추세가 아니어서 충족합니다.`
: `최근 ${n}봉 구간 그래프선이 ${dir} 추세로 판정되어 충족합니다.`)
: (neg
? `최근 ${n}봉 구간 그래프선이 ${dir} 추세가 아님 — 미충족입니다.`
: `최근 ${n}봉 구간 그래프선이 ${dir} 추세가 아니어서 미충족입니다.`));
}
return prefix + (status === 'match'
? `최근 기울기가 ${dir} 추세로 판정되어 충족합니다.`
: `최근 기울기가 ${dir} 추세가 아니어서 미충족입니다.`);