Page 11 -
P. 11

그림 5-4 자동매매 프로그램의 동작 흐름도
                             유니버스 실시간
                            체결 정보 조회 등록




                             ➊                    ➌                     ➍
                                            No                   No                   No
                             주문 접수 종목?              보유 종목?                매수 대상?
                             ➋     Yes            ➏                     ➎     Yes                     5
                                                         Yes
                                                                No
                               체결 대기                매도 대상?               매수 주문 접수                     프로젝트
                                                  ➐      Yes

                                                   매도 주문 접수





                    각 단계를 하나씩 살펴보겠습니다.

                       ➊   초기화 함수에서 얻어 온 주문 정보로 유니버스 중 이미 매매 주문이 접수된 종목이 있는지

                         확인합니다.

                       ➋   주문 접수한 종목이라면 체결될 때까지 대기합니다(여기서 접수 시간이 얼마나 지났는지
                         주문가와 현재 거래가 차이에 따라 주문을 취소하고 재접수하도록 로직을 수정해도 좋지
                         만, 우리 프로그램에서는 대기하는 방법을 사용하겠습니다).

                       ➌   주문을 접수한 종목이 아니라면 초기화 함수 중 잔고 확인으로 보유한 종목인지 확인합니다.

                       ➍   보유하지 않은 종목이라면 매수 대상인지 조건을 확인합니다. 매수 대상이 아니라면 이 단
                         계를 계속 반복하여 매수 신호를 확인합니다.
                       ➎   매수 조건에 해당하는 종목이라면 매수 주문을 접수합니다.

                       ➏   이미 보유한 종목이라면 매도 대상인지 확인합니다. 매도 대상이 아니라면 계속 반복하며

                         매도 신호를 확인합니다.
                       ➐   매도 조건에 해당한다면 매도 주문을 접수합니다.


                    지금까지 프로젝트 구조와 프로그램 동작 흐름을 알아보았습니다. 프로그램이 어떻게 동작할지 구
                    상한 대로 코드를 만들어 시스템을 구축해야 하는 만큼 아주 중요한 부분입니다. 이 부분이 잘 이
                    해되지 않으면 프로젝트 진행도 어려울 수 있으니 꼭 이해하고 다음 장으로 넘어가길 추천합니다.



                                                                                                  299





     주식매매_05.indd   299                                                                      2021-09-30   오후 3:20:42
   6   7   8   9   10   11   12   13   14   15   16