복합지표 전략 추가
This commit is contained in:
@@ -4,6 +4,9 @@ import PaletteItemModal from './PaletteItemModal';
|
||||
import type { DefType } from '../../utils/strategyEditorShared';
|
||||
import { getCompositeDefaultPeriods } from '../../utils/compositeIndicators';
|
||||
import { isStochOverboughtPairPaletteValue } from '../../utils/stochOverboughtPair';
|
||||
import { isPriceExtremeBreakoutPairPaletteValue } from '../../utils/priceExtremeBreakoutPair';
|
||||
import { isInflection33PaletteValue } from '../../utils/inflection33Strategy';
|
||||
import { isStableStrategyPaletteValue, STABLE_STRATEGY_PALETTE_ITEMS } from '../../utils/stableStrategyPairs';
|
||||
import { getDefaultIndicatorPeriod } from '../../utils/conditionPeriods';
|
||||
import { getStrategyIndicatorDisplayName } from '../../utils/strategyPaletteStorage';
|
||||
import { getIndicatorPeriodLabel } from '../../utils/strategyFlowLayout';
|
||||
@@ -20,6 +23,18 @@ function periodLabel(item: PaletteItem, def: DefType): string {
|
||||
const sec = item.secondaryIndicator ?? 'CCI';
|
||||
return `Stoch + ${getStrategyIndicatorDisplayName(sec)}`;
|
||||
}
|
||||
if (item.kind === 'composite' && isPriceExtremeBreakoutPairPaletteValue(item.value)) {
|
||||
const s = item.shortPeriod ?? 9;
|
||||
const l = item.longPeriod ?? 20;
|
||||
return `${s} / ${l}일`;
|
||||
}
|
||||
if (item.kind === 'composite' && isInflection33PaletteValue(item.value)) {
|
||||
return `${item.period ?? 33}일`;
|
||||
}
|
||||
if (item.kind === 'composite' && isStableStrategyPaletteValue(item.value)) {
|
||||
const meta = STABLE_STRATEGY_PALETTE_ITEMS.find(i => i.value === item.value);
|
||||
return meta?.periodHint ?? '';
|
||||
}
|
||||
if (item.kind === 'composite') {
|
||||
const d = getCompositeDefaultPeriods(item.value, def);
|
||||
return `${d.short} / ${d.long}`;
|
||||
@@ -170,8 +185,15 @@ export default function IndicatorPaletteTab({
|
||||
label={item.label}
|
||||
desc={item.desc}
|
||||
color={kind === 'composite' ? 'composite' : 'ind'}
|
||||
composite={kind === 'composite' && !isStochOverboughtPairPaletteValue(item.value)}
|
||||
composite={kind === 'composite'
|
||||
&& !isStochOverboughtPairPaletteValue(item.value)
|
||||
&& !isPriceExtremeBreakoutPairPaletteValue(item.value)
|
||||
&& !isInflection33PaletteValue(item.value)
|
||||
&& !isStableStrategyPaletteValue(item.value)}
|
||||
stochPair={isStochOverboughtPairPaletteValue(item.value)}
|
||||
priceExtremeBreakout={isPriceExtremeBreakoutPairPaletteValue(item.value)}
|
||||
inflection33={isInflection33PaletteValue(item.value)}
|
||||
stableStrategy={isStableStrategyPaletteValue(item.value)}
|
||||
secondaryIndicator={item.secondaryIndicator}
|
||||
period={periodLabel(item, def)}
|
||||
periodValue={item.period}
|
||||
|
||||
Reference in New Issue
Block a user