5.7.1 틀 구성하기
5장을 시작하며 코드를 실행부, 전략부, 유틸부로 구분했습니다(그림 5-1). 전략부에서는 전략을 운용하는 데 필요한 유틸 코드들을 호출해서 사용했고, 실행부인 main.py 파일에서는 다음과 같이 전략을 호출하는 역할을 했습니다.
main.py
from strategy.RSIStrategy import *
import sys
app = QApplication(sys.argv)
rsi_strategy = RSIStrategy()
rsi_strategy.start()
app.exec_()
여기서 RSIStrategy 클래스의 객체인 rsi_strategy를 만들어 rsi_strategy.start() 코드를 실행시키면 RSIStrategy 클래스 내부에 있는 run 함수가 실행됩니다. 객체를 생성하면서 전략 초기화 함수인 init_strategy()가 실행되었다면 그 외의 실질적인 동작은 run 함수 안에 구현되어 있어야 main.py 파일에서 실행시킬 수 있습니다.