goldenChat base source add

This commit is contained in:
aidev
2026-05-23 15:11:48 +09:00
commit a4ea7762b5
2081 changed files with 1155760 additions and 0 deletions
@@ -0,0 +1,59 @@
package com.goldenchart.dto;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.*;
import java.util.List;
import java.util.Map;
/**
* 백테스팅 요청 DTO.
*
* <pre>
* {
* "strategyId": 1, // DB 전략 ID (선택 — 없으면 dsl 직접 전송)
* "buyCondition": { ...LogicNode }, // 매수 조건 DSL
* "sellCondition": { ...LogicNode }, // 매도 조건 DSL
* "bars": [ {time, open, high, low, close, volume}, ... ],
* "timeframe": "1D",
* "indicatorParams": { "CCI": {"length":13}, ... } // 사용자 설정 파라미터 (선택)
* }
* </pre>
*/
@Data @Builder @NoArgsConstructor @AllArgsConstructor
public class BacktestRequest {
/** DB 저장 전략 ID (선택 — 설정 시 buyCondition/sellCondition 무시) */
private Long strategyId;
/** 매수 조건 DSL */
private JsonNode buyCondition;
/** 매도 조건 DSL */
private JsonNode sellCondition;
/** OHLCV 캔들 데이터 */
private List<OhlcvBar> bars;
/** 타임프레임 (1m/5m/15m/30m/1h/4h/1D/1W/1M) */
private String timeframe;
/**
* 지표 파라미터 오버라이드.
* key = indicatorType (e.g. "CCI"), value = {length:13, ...}
* 없으면 IndicatorService 기본값 사용.
*/
private Map<String, Map<String, Object>> indicatorParams;
/** 백테스팅 설정 옵션 (선택 — 없으면 기본값 사용) */
private BacktestSettingsDto settings;
/** 종목 코드 (결과 저장용, e.g. "KRW-BTC") */
private String symbol;
/** 전략 이름 (결과 저장용) */
private String strategyName;
/** 디바이스 ID (결과 저장용) */
private String deviceId;
}