IQDate.addRebalSchedule(IQDate.setWeekly(1));
IQDate.addRebalSchedule(IQDate.setMonthlyStart(15));
이런식으로 2개의 규칙을 추가하고 onDayClose 함수 안에서 isRebalancingDay 를 호출했을때,
월요일이라서 리밸런싱을 진행하는지, 15일이라서 리밸런싱을 진행하는지 여부에 따라 다른 로직을 수행하기 위해 아래와 같이 구현해보았습니다.
if (IQDate.isRebalancingDay(now)) {
if (now.getDate() == 15 && now.getDay != 1) {
// 15일인데 월요일이 아닐때
} else if (now.getDate() !=15 && now.getDay == 1) {
// 15일은 아닌데 월요일일때
} else if (now.getDate() == 15 && now.getDay == 1) {
// 15일이고 월요일일때
}
}
그런데 여기서 isRebalancingDay 를 빼도 될거 같아서 생각해보니 모든 경우의 수에 대해 now.getDate(), now.getDay() 등의 함수를 이용해서 onDayClose 안에 모든 날짜 규칙을 if 문 으로 분기하는 식으로 구현해도 문제가 없을지 궁금합니다.