그다음 check_buy_signal_and_order가 시작할 때 먼저 매수 신호를 확인하는 시간인지 체크합니다(RSIStrategy.py 파일의 order_sell 함수 다음에 다음 코드를 입력합니다).
RSIStrategy.py
(...)
def check_buy_signal_and_order(self, code): ------ 매수 대상인지 확인하고 주문을 접수하는 함수
if not check_adjacent_transaction_closed_for_buying(): ------ 매수 가능 시간 확인
return False
universe_item = self.universe[code]
매수 조건 확인은 매도 조건 확인에서 사용했던 RSI(2)와 추가로 20일, 60일 이동평균을 계산해서 사용합니다. 함수 처리 순서는 매도 조건 확인 때와 마찬가지로 현재 체결 정보가 있는지 확인하여 없으면 함수를 종료하고, 있다면 RSI(2)와 이동평균을 계산합니다. RSI(2)의 계산은 매도 조건 확인 과정에서 계산한 방법과 같으니 동일한 코드를 사용합니다. 다만 매수 조건 확인에서 추가된 것은 ‘4.2절 매수/매도 조건’에서 설명했듯이 20일, 60일 이동평균을 구하는 것과 하락한 정도를 파악하고자 오늘부터 2일 전 종가와 현재가 차이를 구하는 것입니다.