목록개인 프로젝트/파이썬 뉴스매매 (21)
웹스쿨
import sys import requests import json import webbrowser import re import datetime from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QGridLayout, QLabel, QMessageBox, QTableWidget, QTableWidgetItem, QPushButton, QLineEdit from PyQt5 import uic from PyQt5.QtCore import QTimer from PyQt5.QtCore import QEventLoop from PyQt5.QAxContainer import * from functools import partial from coll..
잡다한 다른 변수들은 설명이 필요없을 듯 하다. SetInputValue 값으로1. 계좌번호2. 비밀번호(있을경우 입력)3. 상장폐지조회구분4. 비밀번호입력매체구분을 파라메터로 전달한다. CommRqData 에서 세번째 파라메터값으로 "1"을 넣은 이유는 연속으로 호출하기 위함이다.대부분 매수 종류가 1개 이상일 것이기 때문이다.account_number = myWindow.main_ui.account_box.currentText() #print("account_number = " + account_number) self.dynamicCall("SetInputValue(QString, QString)", "계좌번호", account_number) # self.dynamicCall("SetInputValu..
Qt Designer 로 짠 XML UI가 배포판을 만들때 컨버팅을 해줘야 한다는 것을 스스로 깨달았다.(구글링 해도 가르쳐 주는 사람이 없어서, 혼자 삽질하다가 발견한 사실임) D:\project\python\auto_buy>pyuic5 -x auto_pay.ui -o auto_pay.pyD:\project\python\auto_buy>pyuic5 -x keyword_setup.ui -o keyword_setup.py D:\project\python\auto_buy>pyuic5 -x order_setup.ui -o order_setup.py 위와 같이 컨버팅을 해서 UI 소스파일을 제작한 후에, 메인파일의 UI 부분의 변수를 모두 재수정 해줬다... 파이썬 한국어 커뮤니티 사이트라도 하나 만들어야 하나..
is_gwansim = self.dynamicCall("GetMasterStockState(QString)", code) #print(code + "관리종목이냐? = " + is_gwansim) #140910관리종목이냐? = 증거금100%|관리종목 관리종목은 매수를 하지 않기 위해서 위 코드를 추가.다행히 쉽게 사용가능한 API가 있어서 다행이다. 이 게시글은 https://webschool.kr/?v=board_view&board_key=30&idx=484 에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.
음 완성된거 같은데.우여곡절이 많았지만 어쨋든 드디어 완성한 것 같다.이제 설정만 해놓고 기다리면서 실테스트만 해보면 될듯~(물론 클라이언트의 몫이징)이름을 뭘로 붙일까? 머니채굴기? ㅋㅋ 아래소스는 매수목록 가져오기 소스코드.나의 API 서버에서 JSON 으로 리턴받아서 뿌리는게 다임. def btn_buylist_proc(self): #print("btn_buylist_proc 호출됨") y = self.yearbox.currentText() m = self.monthbox.currentText() d = self.daybox.currentText() post_data = {"type": "get_buylist", "stock_id": self.ki.user_id, "y":..
def receiveTrData(self, screenNo, requestName, trcode, recordName, inquiry, deprecated1, deprecated2, deprecated3, deprecated4): """ TR 수신 이벤트 조회요청 응답을 받거나 조회데이터를 수신했을 때 호출됩니다. requestName과 trCode는 commRqData()메소드의 매개변수와 매핑되는 값 입니다. 조회데이터는 이 이벤트 메서드 내부에서 getCommData() 메서드를 이용해서 얻을 수 있습니다. :param screenNo: string - 화면번호(4자리) :param requestName: string - TR 요청명(commRqData() 메소드 호출시 사용된 requestName..
매수만 적용하면 끝이다.매수야 뭐 걍 적용하면 될거 같으니 거진 끝났다고 보면 된다. 이 게시글은 https://webschool.kr/?v=board_view&board_key=30&idx=473 에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.
총 2,679 개의 종목을 가져왔습니다.장내랑 코스닥만 가져왔습니다.이제 키워드와 매칭된 기사가 있으면, 위 2,679개의 종목을 써칭하여 자동매수를 구현할 예정입니다. 이 게시글은 https://webschool.kr/?v=board_view&board_key=30&idx=468 에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.
UI 부터가 ver1.0 과 완전히 다르게 개발했습니다.각각의 정보들을 모두 새창으로 개발했습니다.Qt Designer 으로 개발하니까 좌표값이랑 크기값을 일일이 세팅하지 않아도 되어서 개발이 너무 편하다. i: continue elif index == i: self.order_table.removeRow(index) else: edit_name_value = self.vars['edit_name_%d' % i].text() edit_code_value = self.vars['edit_code_%d' % i].text() upper_number = i - 1 self.btn_order_add_proc(upper_number) self.vars['edit_name_%d' % upper_number].set..
클라이언트의 요구가 조금 까다로워서 새로운 기획안이 나오게 되었습니다.그래서 새 기획안대로 UI를 모두 새로 개발하고(소스 정리도 좀 할겸 헤헤~), 기능을 더 추가하기로 하였습니다.그리고 이참에 Qt Designer 를 이용해서 UI 개발을 좀 편하게 해볼까 합니다. 아래는 Qt Designer 을 이용하여 메인 UI를 그려본 것입니다.역시 노가다 코딩보다 편하군요~웹개발과는 달리 어플리케이션 개발은 하드코딩보다 이런 툴이 편한것 같습니다.역시 프론트 개발은 웹이 최고의 난이도인듯~