diff --git a/frontend/src/components/StrategyPage.tsx b/frontend/src/components/StrategyPage.tsx index 9c0b0a8..40bcb33 100644 --- a/frontend/src/components/StrategyPage.tsx +++ b/frontend/src/components/StrategyPage.tsx @@ -333,7 +333,7 @@ const getFieldOpts = (ind: string, signalType: 'buy'|'sell', DEF: DefType, cond? case 'ICHIMOKU': return condOpts([ { value:'CONVERSION_LINE', label:`전환선(${DEF.ichTenkan}일)` }, { value:'BASE_LINE', label:`기준선(${DEF.ichKijun}일)` }, - { value:'LEADING_SPAN1', label:'선행스팬1' }, + { value:'LEADING_SPAN1', label:`선행스팬1(${DEF.ichSenkouDisp}일)` }, { value:'LEADING_SPAN2', label:`선행스팬2(${DEF.ichSenkouB}일)` }, { value:'LAGGING_SPAN', label:'후행스팬' }, { value:'CLOSE_PRICE', label:'종가' }, diff --git a/frontend/src/utils/strategyEditorShared.tsx b/frontend/src/utils/strategyEditorShared.tsx index 3ace039..00ebe74 100644 --- a/frontend/src/utils/strategyEditorShared.tsx +++ b/frontend/src/utils/strategyEditorShared.tsx @@ -172,7 +172,7 @@ export const DEF_DEFAULTS = { dmiPeriod: 14, obvPeriod: 9, obvSignal: 9, bbPeriod: 20, bbStdDev: 2, - ichTenkan: 9, ichKijun: 26, ichSenkouB: 52, + ichTenkan: 9, ichKijun: 26, ichSenkouB: 52, ichSenkouDisp: 26, newPsy: 10, psyPeriod: 12, investPsy: 10, williamsR: 14, bwiPeriod: 20, @@ -326,6 +326,9 @@ export function buildDef(activeIndicators: IndicatorConfig[]): DefType { ichTenkan: num(ich, 'conversionPeriods', DEF_DEFAULTS.ichTenkan), ichKijun: num(ich, 'basePeriods', DEF_DEFAULTS.ichKijun), ichSenkouB: num(ich, 'laggingSpan2Periods', DEF_DEFAULTS.ichSenkouB), + ichSenkouDisp: typeof ich.senkouDisplacement === 'number' + ? (ich.senkouDisplacement as number) + : num(ich, 'displacement', DEF_DEFAULTS.ichSenkouDisp), psyPeriod: num(psy, 'length', DEF_DEFAULTS.psyPeriod), newPsy: num(nPsy, 'length', DEF_DEFAULTS.newPsy), investPsy: num(iPsy, 'length', DEF_DEFAULTS.investPsy), @@ -773,7 +776,7 @@ function buildFieldOptsForSlot( const lines = [ { value: 'CONVERSION_LINE', label: `전환선(${DEF.ichTenkan}일)` }, { value: 'BASE_LINE', label: `기준선(${DEF.ichKijun}일)` }, - { value: 'LEADING_SPAN1', label: '선행스팬1' }, + { value: 'LEADING_SPAN1', label: `선행스팬1(${DEF.ichSenkouDisp}일)` }, { value: 'LEADING_SPAN2', label: `선행스팬2(${DEF.ichSenkouB}일)` }, { value: 'LAGGING_SPAN', label: '후행스팬' }, { value: 'CLOSE_PRICE', label: '종가' },