□ 투자전략의 문제점
chatGPT를 활용하여 투자전략을 수립하였으나, 과금등의 이유로 3.5버전으로 사용하니 투자판단이 모호하다고 생각됨
- api 호출 마다 10초간 5~6번을 호출하면 "buy", "sell"이 교차하면서 나오게됨(매매 수수료 발생)
□ 개선 투자 전략(변동성 돌파 전략)
- 목표가 = 금일 시가 + (전일 고가 - 전일 저가) * 0.5
- 매초 시세조회 api를 호출하여 목표가 도달 시 전액 매수
- 매일 장 종료 시 전량 매도
- 코인시장은 장 종료가 없으므로 오전 9시를 기준으로 실행
public void startProgram() throws IOException, InterruptedException, NoSuchAlgorithmException {
double todayTarget = checkTarget(); // 당일 목표가
boolean op_mode = false; // 시작하는 날 매수하지않기
boolean hold = false; // 이미 매수한 상태라면 매수시도 하지않기(true = 매수, false = 매도)
while (true) {
LocalTime now = LocalTime.now(); // 현재시간
double current = current(); // 현재가
// 목표가 지정 9시 00분 20 ~ 30초 사이
if (now.getHour() == 9 && now.getMinute() == 0 && (20 < now.getSecond() && 30 > now.getSecond())) {
todayTarget = checkTarget(); // 목표가 갱신
op_mode = true;
}
// 매수 로직
if (op_mode && !hold && current >= todayTarget) {
// 매수 api
orderCoins("buy");
hold = true;
}
// 매도 로직
if (op_mode && hold && now.getHour() == 8 && now.getMinute() == 59 && (50 <= now.getSecond() && 59 >= now.getSecond())) {
// 매도 api
orderCoins("sell");
hold = false;
op_mode = false;
Thread.sleep(10000);
}
Thread.sleep(1000);
}
}
□ EC2 배포하기
- 업비트api사용을 위한 EC2 IP등록
- 무중단 배포 진행
nohup java -jar {jar파일} &
□ 추가적으로 고려할 사항
- while문이 아닌 redis적용 고려
- 일정 손실이 발생 할 경우 매도 로직 실행(손절)
- 메시지큐를 통한 매수, 매도 시 알림 발생
'프로젝트 > coin-trading' 카테고리의 다른 글
3. chatGPT 연동하기(투자 판단) (0) | 2025.02.08 |
---|---|
2. 업비트 매매 API 적용 (0) | 2025.02.07 |
1. 업비트 API 적용해보기 (1) | 2025.02.05 |
0. 프로젝트 설계 (0) | 2025.02.05 |