- Видео 22
- Просмотров 21 860
날강두트레이더
Добавлен 24 янв 2021
Видео
14 키움 API을 이용한 시스템 트레이딩 완성
Просмотров 1,6 тыс.3 года назад
git code: github.com/naltrader07/pytrader 정말 수고 많으 셨습니다.
1 날강두 노쇼 전설의 시작 (자동매매, 시스템, 로보, 퀀트 트레이딩)
Просмотров 6873 года назад
1 날강두 노쇼 전설의 시작 (자동매매, 시스템, 로보, 퀀트 트레이딩)
시간이 많이 지난 영상인데 응답이 될려나??? 저는 파이썬도 초보이고, 자동매매도 초보입니다. 날강두님의 영상을 보고 공부를 할려고 하는데, 솔직히 10번정도 봤는데도, 초보라 프로그램에 대한 이해가 어렵습니다. 프로그램 이해는 접고 실행이 되어야 이것 저것해볼텐데... 로그인부터 안되어서 강제로 로그인을 수동으로 해봐도 다음에서 또 에러가 나와서 어렵네요... 내 생각에는 로그인에 필요한 '아이디, 비번, 인증비번' 등을 넣어두는 파일이 필요할 것 같은데... 실행하면 다음과 같이 나옵니다 [ (py38) C:\study>C:/Anaconda3/envs/py38/python.exe c:/study/Main.py Traceback (most recent call last): File "c:/study/Main.py", line 35, in <module> main.run() File "c:/study/Main.py", line 27, in run self.threads[cname] = thread(user_param, cond) File "c:\study\buy.py", line 16, in __init__ MyWindow.__init__(self, user_param, cond) File "c:\study\pytrader.py", line 29, in __init__ self.kiwoom = Kiwoom(self.user_param, cond) File "c:\study\Kiwoom.py", line 76, in __init__ self.con = sqlite3.connect(os.path.join(self.user_param['path']['root'], 'database', 'order.db')) sqlite3.OperationalError: unable to open database file ] 제 parameter.json 파일은 { "path": {"root": "C:/study"}, "market-time":{"open": "09:00:00", "close": "15:15:00", "daytrade": "09:10:00", "swing": "15:15:00"}, "password": "0000" } 입니다. 여기서 "path": {"root": "D:/stock"}를 "path": {"root": "C:/study"}로 변경하였습니다. "password": "0000"는 로그인창의 고객id인지? 비밀번호인지? 인증비밀번호인지? 로그인관련 고객id, 비밀번호, 인증비밀번호의 key가 무엇인지? 어디보면 알 수 있는지? 아주 단순한 문제인것 같은데... 아시는 분 답변 부탁드립니다.
강의 잘 보고있습니다 날강두님! 요즘에는 아나콘다 62bit밖에 없던데 이런 경우 가상환경으로 32bit를 구현하는 방법밖에 없겠죠?
좋은 정보 정말 감사합니다. msn들어가서 하다보니 말씀하신 parameter가 안보여서요 혹시 지금은 어떤 코드로 일봉을 받아보시는지 여쭤봐도 될까요?
루트 설정 어떻게 하나요?>?
이 영상 기반으로 뒤에 프로젝트도 진행되는데 이 문제를 해결 못해서 진행 못하고 있어요 ㅜㅜ
날강님 api 접속하고 계좌비밀번호저장으로들어갔는데 계좌가 아무것도 안뜹니다 왜이럴까요 ㅠ
동영상 기준으로 45까지 하고..똑 같이 디버깅 했는데.. response값이 400이 떨어집니다. 강사님은 210인데 말이죠... 뭐가 문제일까요 ...reason 값이 bad request라고 나온느데... 그러면 header와 param값이 잘못 되었다는 것 같은데.. .소스를 아무리 비교해 봐도 같은데 말이죠....
이제 막 자동매매를 파이썬으로 구현해 보려고 영상 보면서 열공중인 비긴어 입니다. 올려주신 코드 그대로 받아서 실행하면 아래와 같이 오류 나고 있는데 검토 가능하실런지요? 참고로, 서경동님이 코드는 그대로 받아서 실행하면 오류 없이 실행이 됩니다. 구독과 좋아요! raceback (most recent call last): File "C:/Users/leo/PycharmProjects/pytrader/pytrader.py", line 343, in myWindow = MyWindow() TypeError: init() missing 2 required positional arguments: 'user_param' and 'cond'
현재 돌아가고 있는 코드로 공유가 가능하실까요?ㅠㅠ 깃허브에 있는 자료로는 gui가 잠깐 켜졌다가 오류가 납니다.
혹시 13-4 영상도 있는건가요????
키움API를 이용한 주식 자동매매 프로그램을 개발하며 , 자동매매 실황을 LIVE 방송하고 있습니다. 라이브 영상을 보고 자동매매에 참고하시거나 , 매수/매도 알고리즘과 관련 조언 주시면 감사하겠습니다.
키움API를 이용한 주식 자동매매 프로그램을 개발하며 , 자동매매 실황을 LIVE 방송하고 있습니다. 라이브 영상을 보고 자동매매에 참고하시거나 , 매수/매도 알고리즘과 관련한 조언 주시면 감사하겠습니다.
키움API를 이용한 주식 자동매매 프로그램을 개발하며 , 자동매매 실황을 LIVE 방송하고 있습니다. 영상을 보고 자동매매에 참고하시거나 , 매수/매도 알고리즘과 관련한 조언 주시면 감사하겠습니다.
Traceback (most recent call last): File "C:\Users\백재건\PycharmProjects\jaegeon\pytrader.py", line 13, in <module> from Kiwoom import Kiwoom, ParameterTypeError, ParameterValueError, KiwoomProcessingError, KiwoomConnectError File "C:\Users\백재건\PycharmProjects\jaegeon\Kiwoom.py", line 14, in <module> from PyQt5.QAxContainer import QAxWidget ModuleNotFoundError: No module named 'PyQt5.QAxContainer' Process finished with exit code 1 이런게 뜨네요 ㅠㅠ
pip install pyqt5로 PyQt5를 설치 하셨을까요? PyQt5모듈이 없다는 내용인데..
좋은 영상 감사합니다!
감사합니다!!
C:\Users\Ethan\anaconda3\python.exe C:/Users/Ethan/PycharmProjects/talproject/main.py Traceback (most recent call last): File "C:/Users/Ethan/PycharmProjects/talproject/main.py", line 73, in <module> gd.get_day_candle() File "C:/Users/Ethan/PycharmProjects/talproject/main.py", line 55, in get_day_candle con: Connection = sqlite3.connect(fpath) sqlite3.OperationalError: unable to open database file Process finished with exit code 1 이렇게 뜨는데 어떻게 해야하나요?
디버깅 눌르면 콘솔에서만 뭐가 나오고 디버깅 창에서는 프레임 밑에 아무것도 없어요
키움이랑 연결되는건가요
전에 만든게 어디있나요
시연 영상 찍어주세요~!!
영상 많이 찍어주세요!!
이전 영상에서 앞쪽에 이어지는 부분이 약간 건너띈 듯 하네요 그러다보니 건너띈 부분의 코딩이 잘 안보입니다
선생님 root는 설정을 어떻게 하는건가요? TypeError: __init__() missing 1 required positional argument: 'root'
답변이 늦었네요 죄송합니다. 처음에 클래스 생성할때 root를 넣어주셔야되요. 김진우님께서 데이터를 다운받을폴더의 root directory를 넣어주시면됩니다.
강의 잘 들었습니다~~~ 감사합니다!
좋은 강의 감사합니다. 열심히 배워보겠습니다~~~
good
디버깅을 계속 하는데도 quote랑 df가 안뜹니다 ㅠㅠ response 또한 안뜨네요 ㅠ 1:00까지 했는데 말이죠 ㅠㅠㅠ 정말 왜 이런지 모르겠네요 ㅠ param_c 에서 symbols까지는 잘 나옵니다. 살려주세요. 답답해 미치겠어요 ㅠㅠ
일단 어떤 에러메시지가 떳는지 또는 어떤 현상인지 자세히 설명 부탁드릴께요. 현상알면 해결하도록 하겟습니다~
코스닥 주가가 50,000원 이상 일때 호가폭이 100인걸로 알고 있습니다. 12:55
초반보다 음질이 좋아졌네요. 마이크를 바꾸신거 같아요
pytrader.py를 run 해봤는데요. 이런 에러가 뜨는데 어떻게 해야되나요? 답변 해주신다면 정말 감사드리겠습니다. 부탁드립니다 ㅠㅠ Traceback (most recent call last): File "C:/Users/a/PycharmProjects/nalgangdu/pytrader.py", line 313, in <module> myWindow = MyWindow() File "C:/Users/a/PycharmProjects/nalgangdu/pytrader.py", line 25, in __init__ self.kiwoom = Kiwoom() File "C:\Users\a\PycharmProjects algangdu\Kiwoom.py", line 59, in __init__ self.OnEventConnect.connect(self.eventConnect) AttributeError: 'Kiwoom' object has no attribute 'OnEventConnect' Process finished with exit code 1
이간 아나콘다 64비트말고 32비트를 사용하시면 해결될겁니다 ^^
@@날강두트레이더 문제가 해결 되었습니다. 감사합니다 ^^ 앞으로도 문제 생기면 바로 답글 달겠습니다.^^
5:55 에서 GUI와 키움관련 함수 2가지를 스레드로 나눌수있나요?
11:45 에서 말씀하신 GUI와 키움관련함수를 쪼갠다! 에 대해서... 방법이 어떻게될까요? GUI(QMainWindow)는 무조건 메인스레드에 있어야하니, 키움을 다른스레드로 보내야하는데 키움(OCX)을 QAxWidget으로 받을때 메인이 아닌 다른스레드에서 하면... 걔와 연관된 시그널을 인식못합니다
GUI를꾸리는것과 키움OCX를구현하는것 스레드로 충돌이좀 나는데... 문의를 좀 드리고싶습니다. 혹시 연락가능 이메일이나 방법을 알 수 있을까요?
질문을 이렇게 주시면 최대한 알려드릴께요~ 쓰레드충돌이 난다는것이 어떻게 에러메시지가 나는지 알려주시면 한번 해결해 보도록 하겠습니다!
@@날강두트레이더 감사합니다. 우선 저는 PyQt5로 만든 GUI를 기반으로 키움의 데이터들을 받아와서 실시간으로 무엇인가를 하고자 합니다. 이때 키움의 데이터를받는 QAxWidget과 GUI를돌리는 QMainWindow를 다른 thread로 하고자하는데.... 예를들어 from PyQt5 import QtCore, QtWidgets, QAxContainer import sys class MT(QtWidgets.QMainWindow): def __init__(self): super().__init__() # GUI 꾸미기 @ MT(MainThread) kiwoom = ST() kiwoom_thread = QtCore.QThread() kiwoom.moveToThread(kiwoom_thread) kiwoom_thread.started.connect(kiwoom.run) kiwoom_thread.start() class ST(QtCore.QObject): def __init__(self): super().__init__() def run(self): OCXConn = QAxContainer.QAxWidget("KHOPENAPI.KHOpenAPICtrl.1") OCXConn.OnEventConnect.connect(self.slot) a = QtWidget.QApplication(sys.argv) b = MT() b.show() a.exec_() 으로하면 제 생각에는 QMainWindow와 키움OCX는 다른 thread로 관리될것같은데, OCXConn에 당연히 있는 OnEventConect가 없다고 에러가뜹니다... 혹시 왜그런걸까요? 만약에 QMainWIndow와 키움OCX를 동일 스레드에 가야한다면... 키움OCX가 실시간으로 데이터를 계속받는다면, QMainWindow(동일스레드 내 다른작업)은 먹통이 되지 않을까요?
@@dongwookim7010 네 맞습니다. 저는 사실 완전 자동화를 목표로 해서 GUI가 먹통이 되는 부분을 신경쓰지 않았는데 키움에서 실시간 처리를 하게되면 그동안에는 Gui가 당연히 먹통이 되겟네요. 저도 한번 같이 고민을 해보고 결과를 알려드리겠습니다.
@@날강두트레이더 감사합니다 그런데 어느링크를보내 OCX도 QWidget이고, 메인gui도 QMainWindow이니, 둘다 메인스레드에만 있어야한다고 하네요... gui를보며 실시간키움과 정보를주고받는게 안될리가없는데... 방법알면 꼭 알려주시면 감사합니다!
@@날강두트레이더 댓글이 없어져서 다시 달자면, 위에서 말씀드린 내용관련 링크입니다. stackoverflow.com/questions/67774338/pyqt5-qmainwindow-qaxwidget-thread-problem?noredirect=1#comment119798812_67774338
안녕하세요, 질문이 있는데요 도와주세요 ㅠㅠ 1. 메인쓰레드에서는 GUI가 돌아갑니다 2. 이때 쓰레드를 몇개 만드는데, 다른쓰레드에서 키움의 OCX를 읽어오고 3. 메인쓰레드에서 이런저런행동에맞춰 키움OCX에 dynamicCall을 합니다 그런데... 이렇게 TR을 요청할때 계속 값을 못가져오는데 (간단히 종목코드를 요청하는 TR도 빈값('')이 return됩니다) 쓰레드때문인가요? 메인쓰레드에서 키움을 받고, 나머지(GUI나 등등)를 다른쓰레드에 구현해야할까요?
추가로~ 시연하는 영상도 올려주심 안될까요? 어떻게 시작해야 할지 몰라서요~ 부탁드립니다^^
우선 부족한 강의 다 채우고 시도해보도록 하겠습니다^^
시작하는것은 어딘가 영상에 있었을텐데 간단하니 여기서 답변 해드릴께요. Main.py를 클릭하시고 오른쪽 버튼 누른담에 Run 'Main.py'를 클릭하시면 실행이 됩니다.
강의 감사하고 수고하셨습니다. 잼있게 강의 듣고 따라왔습니다. 그런데...write.db 관련 코딩 강의는 없는지요? 키움 파일에도 추가 코딩이 있는 것 같은데 강의하신 자료를 아무리 봐도 안보여서요ㅠㅠ 추가로 공유해주신 코딩자료에 키움 파일이 빠져있어서 ~ 혹시 공유해주실 수 있으신지요?
봐주시고 공부하고 계신다니 제가 다 감사합니다. 말씀하신 부분은 최대한 어떤방법으로든 업데이트 해드리도록 하겠습니다!
늦어서 죄송합니다~ git에 공유했습니다. 아마 push를 하다가 에러가 났었는지 많은 파일이 누락 되어있었네요 말씀해 주셔서 알아채고 업로드했습니다. 감사합니다!
@@날강두트레이더 감사합니다^^ 올려주신 자료 소중히 보겠습니다^^
안녕하세요 9번째 구독자입니다
반갑습니다. 구독자님 언제나 환영입니다. ㅎ
open API 모듈 설치 시에 설치 마법사 실행되는 도중 오류라고 뜨는데 혹시 왜그런지 아시나요? 다음과 같은 팝업창 뜨더니 설치마법사가 종료됩니다. 오류번호 : 0x8000FFFF 설명 : 오류입니다. 이제 설치 프로그램이 종료 됩니다. 상기와 같이 나옵니다. ㅠ
정확히 봐야 알겠지만, 아마 vcredist_x86.exe과 vcredist_x64.exe를 받아서 설치하지면 해결 되지 않을까 생각되네요 혹시 안되신다면 다시 댓글 남겨주세요 방법을 찾아보도록 하겠습니다!
attributeeror: kiwoom object has no attribute 'OnEventConnect' 에러가 뜨면서 ui창이 뜨지를 않습니다
아마 python 64bit를 쓰진게 아닌가 싶습니다. 32bit를 설치하신뒤 interpreter를 32비트로 바뀌고 해보시고 만약 그래도 안되면 다른 솔루션을 찾아보도록 하겟습니다
몇번씩 돌려보며 똑같이 작성했는데 에러가 자꾸나요 ㅠㅠ
지금오늘님 죄송합니다. 이제야 소중한 댓글을 봤네요 ㅜㅜ. 혹시 에러메세지를 알려주실 수 있을실까요? 메세지를 보면 아마 해결할 방법을 찾을 수 있을거 같아요
@@날강두트레이더 신경써주셔서 감사합니다 시간날때 함 보내겠습니다 ㅎㅎ 제가 코딩에는 좀 문외한이라 ^^
기대됩니다. 시간날때마다 따라해 보겠습니다. ~ 좋은영상 감사합니다.ㅏ
결론은 시스템 프로그래밍으로 주식투자를 할 수 있는 방법을 알려주신다는거죠? 그럼 시간 절약이 엄청날 것 같은데 다음 영상 기대됩니다. 쉽고 재밌게 만들어 주세요:)