package com.goldenchart.dto; import com.fasterxml.jackson.databind.JsonNode; import lombok.*; import java.util.List; import java.util.Map; /** * 백테스팅 요청 DTO. * *
* {
* "strategyId": 1, // DB 전략 ID (선택 — 없으면 dsl 직접 전송)
* "buyCondition": { ...LogicNode }, // 매수 조건 DSL
* "sellCondition": { ...LogicNode }, // 매도 조건 DSL
* "bars": [ {time, open, high, low, close, volume}, ... ],
* "timeframe": "1D",
* "indicatorParams": { "CCI": {"length":13}, ... } // 사용자 설정 파라미터 (선택)
* }
*
*/
@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