직접입력값 평가오류 수정

This commit is contained in:
Macbook
2026-06-18 00:47:58 +09:00
parent bd6094f71f
commit e5b5af093e
11 changed files with 297 additions and 284 deletions
+5 -5
View File
@@ -74,7 +74,7 @@ import {
import ComboFieldSelect from '../components/strategyEditor/ComboFieldSelect';
import {
activateDirectThresholdInput,
canonicalizeConditionThreshold,
ensureDirectThresholdSnapshot,
getCompositeFieldOpts,
getCompositePeriodPresetOptions,
getConditionRightPeriod,
@@ -924,7 +924,7 @@ export function resolveFieldOptionValue(indicatorType: string, field?: string):
export const nodeToText = (node: LogicNode, DEF: DefType = DEF_DEFAULTS): string => {
if (!node) return '';
if (node.type === 'CONDITION' && node.condition) {
const c = canonicalizeConditionThreshold(normalizeCompositeCondition(node.condition));
const c = ensureDirectThresholdSnapshot(normalizeCompositeCondition(node.condition));
const indName = getStrategyIndicatorDisplayName(c.indicatorType);
const opts = getFieldOpts(c.indicatorType, 'buy', DEF, c);
const C = condLabel(c.conditionType);
@@ -1155,7 +1155,7 @@ export const CondEditor: React.FC<CondEditorProps> = ({
const handleRight = (v: string) => {
if (isThresholdSymbol(v)) {
const { targetValue: _t, ...rest } = normalized;
onChange(canonicalizeConditionThreshold({ ...rest, rightField: v, thresholdOverride: false }));
onChange(ensureDirectThresholdSnapshot({ ...rest, rightField: v, thresholdOverride: false }));
return;
}
const thresholds: Record<string,number> = {
@@ -1177,7 +1177,7 @@ export const CondEditor: React.FC<CondEditorProps> = ({
if (priorP != null && isPriceExtremeIndicator(normalized.indicatorType)) {
upd = syncPriceExtremeSimpleFields({ ...upd, period: priorP });
}
onChange(canonicalizeConditionThreshold(upd));
onChange(ensureDirectThresholdSnapshot(upd));
};
if (normalized.composite) {
@@ -1443,7 +1443,7 @@ export const CondEditor: React.FC<CondEditorProps> = ({
));
}}
onCustomNumberChange={v => onChange(
canonicalizeConditionThreshold(
ensureDirectThresholdSnapshot(
setConditionThreshold(normalized, 'right', v, def, { directInput: true }),
),
)}