본문 바로가기

파이썬1297

QThread의 적용 part3 안녕하세요? 지난번 포스팅에서 너무 길어지는 감이 있어서 끊었어야 했는데, 아무튼 간에 끊은 것은 끊은 것이고, 주식의 기본정보를 가지고 오는 작업을 했는데, 이 작업에서 어디가 어떻게 고쳐서 성공을 했는지 모르는 사태가 벌어졌습니다. 그래서 바꾼 것을 하나 하나 고치면서 도로 추적하는 작업을 해 보고자 합니다. 일단 제대로 위 스크린샷처럼 어떻게 해서 성공을 하는데, 싱글톤으로 바꾸었어도 문제는 없다는 것을 알 수 있었습니다. 그럼 어디가 문제일까요? 그 다음으로는 QRunnable이 제대로 문제인가 싶어서 한번 원래대로 돌려놓고 나서, 여기서 어디가 어떻게 된 것인지 알아보고자 합니다. 이렇게 하고도 제대로 실행이 되는 것을 또 확인할 수 있었습니다. 아무래도 너무 많은 곳을 바꾼 것이 아닌가 싶기도.. 2019. 7. 28.
QThread의 적용 part2 안녕하세요? 지난번 포스팅에서 어떤 이유가 없는-그냥 원인을 발견하지 못한 것 때문에 생긴 것으로 인해서 어쩔 수 없이 제대로 종목에 대한 기본 정보를 받아오지 못하는 것을 볼 수 있었습니다. 이번 포스팅에는 그 원인을 파악하기 위해서 이런저런 시행착오를 하는 과정을 보여 드리고자 합니다. 먼저 위 스크린샷처럼 screenNo가 겹쳐져서 생긴 에러가 아닌가 하고 처음에는 의심을 했습니다. 충분히 있을 수는 있다는 생각이 들었습니다. 하지만 결과는 이것도 제대로 된 것이 아니라 다른 데 있었습니다. 그냥 프로그램을 강제로 종료할 수 밖에 없기는 없었습니다. 다음으로는 같은 클래스 안에서 로그인이 되지 않아서 생긴 문제가 아닌가 하는 생각이 들었습니다. 그래서 이런 문제를 해결하기 위해서 위 스크린샷과 같이.. 2019. 7. 28.
QThread의 적용 part1 안녕하세요? 이번 포스팅 부터는 어떻게 해서 제 알고리즘 트레이딩 시스템에서 QThread를 적용해서 다중의 종목을 한번 조사해 보는 작업을 해볼 예정인데, 이 작업이 처음에는 쉬울 줄 알았는데, 예상외로 어려워서 많이 늦어지게 되었습니다. 아무튼 늦어진 것은 늦어진 것이고, 그래도 포스팅으로 올리고자 이렇게 늦게나마 글을 올립니다. 우선 첫번째 작업입니다. 일단 QRunnable에서 위 스크린샷과 같이 communication.txt에서 정보를 가지고 오는 것을 먼저 해야만 합니다. 그리고 나서 이 QThread에서 멀티 스레드를 실행시키는데, 일단 for문을 사용해서 먼저 1에서 5까지 5개의 스레드를 먼저 실행시켜 주도록 합니다. 일단 처음으로 해서 위 스크린샷처럼 5개의 종목에 관한 데이터를 동시.. 2019. 7. 27.
QThread를 향한 공부-final- 안녕하세요? 제목에는 final이라고 적었지만, 이게....... 공부라는 것을 어디까지 둘지 생각해 본다면, 일단 지금은 알고리즘 트레이딩을 하기 위해서 필요한 수준까지만이라고 하자면, 그 까지는 어떻게 도달한 것 같다는 것을 말하기 위해서 final이라고 이름을 붙였습니다. 물론 멀티 스레딩이니, QThread에서도 파면 팔수록 무한히 무언가가 나오겠지만, 언제까지 이것만 팔 수 없기에 이렇게 여기서 잠시 멈추고, 다음의 작업을 이어가도록 해 보는 것 입니다. 먼저 해야할 일은 이게 진짜로 동시에 실행이 된 것이 맞는지 아닌지 알아보기 위해서, 한번 위 스크린샷처럼 시간을 알 수 있는 모듈인 datetime을 import해 오도록 합니다. 그리고 나서 QRunnable에서 위 스크린샷처럼 시간을 적어.. 2019. 7. 26.