전략 수명 주기
AQE는 다음 전략 수명 주기를 중심으로 동작합니다.
on_startuniverseiniton_bargenerate_insightsinsight_pipelineon_teardown
pub trait Strategy { fn name(&self) -> &str { "Base Strategy" }
fn on_start(&mut self, ctx: &mut dyn StrategyContext); fn init(&mut self, ctx: &mut dyn StrategyContext, asset: &Asset); fn universe(&self, ctx: &mut dyn StrategyContext) -> HashSet<String>; fn on_bar(&mut self, ctx: &mut dyn StrategyContext, symbol: &str, bar: &BarData); fn generate_insights(&mut self, ctx: &mut dyn StrategyContext, symbol: &str); fn insight_pipeline(&mut self, ctx: &mut dyn StrategyContext, insight: &Insight); fn on_teardown(&mut self, ctx: &mut dyn StrategyContext);}각 훅의 역할
섹션 제목: “각 훅의 역할”공통 런타임 구성을 등록할 때는 on_start를 사용합니다.
- 지표
- 알파
- 파이프
- 위험 설정
- 워밍업 봉
universe()는 전략이 거래할 심볼을 반환합니다. AQE는 이 심볼을 사용해 선택한 데이터 및 브로커 스택에서 Asset 메타데이터를 불러옵니다.
init()은 유니버스를 불러온 뒤 자산마다 한 번 실행됩니다. 심볼별 변수, 심볼별 지표 상태, 자산 특성을 반영한 설정 등 자산별 초기화에 사용하세요.
on_bar()는 해당 심볼의 새 봉이 도착할 때마다 호출됩니다. 이 훅에서 최신 시장 데이터를 바탕으로 전략 수준의 상태를 갱신합니다.
on_bar() 이후 AQE는 generate_insights()를 호출합니다. 여기에서 새 인사이트를 생성하고 런타임에 추가합니다.
봉 처리가 끝나면 AQE는 인사이트 파이프라인을 실행합니다. 파이프는 인사이트의 현재 상태에 따라 수량을 산정하고, 검증하고, 주문을 제출하거나 거부하고, 취소하거나 청산할 수 있습니다.
마지막 정리 작업과 요약에는 on_teardown()을 사용하세요.
시작 설정, 초기화, 종료 정리, 유니버스 선택 로직을 재사용할 수 있는 모듈은 수명 주기 컴포넌트를 참조하세요.
필수 쿠키 및 저장소
로그인, 계정 보안, 색상 테마 설정, 이 알림 표시와 PostHog의 필수 내부 이용 현황·세션 품질·안정성 지표 수집을 위해 필수 쿠키와 저장소를 사용합니다. 광고 쿠키는 사용하지 않습니다.
