package com.goldenchart.dto; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; /** * 실시간 전략 체크 설정 DTO. * PUT /api/strategy/settings (요청/응답 공용) */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class LiveStrategySettingsDto { /** 업비트 마켓 코드 (e.g. "KRW-BTC") */ private String market; /** 연결된 전략 ID (null = 미연결) */ private Long strategyId; /** 실시간 체크 ON/OFF (JSON 키: isLiveCheck) */ @JsonProperty("isLiveCheck") private boolean liveCheck; /** "CANDLE_CLOSE" | "REALTIME_TICK" */ private String executionType; /** * @deprecated 전략 DSL의 START/TIMEFRAME에서 시간봉을 자동 추출합니다. 응답 전용 필드는 {@link #strategyCandleTypes}를 사용하세요. */ @Deprecated @Builder.Default private String candleType = "1m"; /** 전략 조건 DSL에 포함된 평가 시간봉 목록 (응답 전용) */ private List strategyCandleTypes; /** 매도 시그널 포지션 종속성 모드: "LONG_ONLY" | "SIGNAL_ONLY" */ @Builder.Default private String positionMode = "LONG_ONLY"; /** true면 관심종목 전체 동기화 생략 (가상투자 per-market 저장) */ private Boolean skipWatchlistSync; /** true면 gc_app_settings 전역 템플릿 갱신 생략 */ private Boolean skipGlobalTemplate; /** 가상투자 투자대상 고정 — ON 이면 목록에서 삭제 불가 (JSON: isPinned) */ @JsonProperty("isPinned") private Boolean pinned; }