Skip to content
조회 수 2338 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 키움증권 open api 분할매매 주문하기

 

 


import os
import json
import time
import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *
from PyQt5.QtCore import *
sys.path.insert(0, '"H:/python/kiwoomapi/anaconda3/PACKAGE_DIR')
from 키움증권.config.errCode import *

from pykiwoom.kiwoom import *
kiwoom = Kiwoom()
kiwoom.CommConnect(block=True)

TR_REQ_TIME_INTERVAL = 0.2

# 주식계좌
accounts = kiwoom.GetLoginInfo("ACCNO")
stock_account = accounts[0]

# 피라미드 주문
account_num = "계좌번호"

item_num = "128540"                 # 종목명

order_money=5250                 #현재가를 변수에 담기
max_order_money=1500000
mom_ea=int(max_order_money/order_money)                             # 총매매금액 나누기 현재가 = 총매매 수량
rate=0.01
합계=0
sellbuy_ea=[]

print("총매매 주식수 : ", mom_ea)
print("총매매금액 : ", max_order_money)
print("총매매금액 : %s, 현재가 : %s, 총수량 %s" %(max_order_money,order_money,mom_ea))
for i in range(0,10):
    sellbuy_ea.append(int(mom_ea * rate))
    rate = rate + 0.02
    합계 = int(int(mom_ea * rate) + 합계)

print("총매매 주식수 : ", mom_ea)
print("총매매금액 : ", max_order_money)

print(order_money*합계,sellbuy_ea)

# 0.5% ~ 10%까지의 매수호가/매도호가 생성
sell_m = []
buy_m = []
rate_v = 0.005
for i in range(0, 40):  ## 20 = 10%에 대한 매도호가 생성 / 40 = 20%에 대한 매도호가 생성
    sell_m.append(order_money + (order_money * rate_v))
    buy_m.append(order_money - (order_money * rate_v))
    rate_v = rate_v + 0.005
# print("매도호가",sell_m)
# 0.5% ~ 10%까지의 폭

## 호가를 자리수에따라 반올림하면서 정수화 함.
buyQ = []
sellQ = []
for i in range(0, len(buy_m)):
    if buy_m[i] < 1000:
        buyQ.append(int(round(buy_m[i], 0)))
    elif buy_m[i] < 5000:
        buyQ.append(int(round(buy_m[i], -1)))
    elif buy_m[i] < 10000:
        buyQ.append(int(round(buy_m[i], -1)))
    elif buy_m[i] < 50000:
        buyQ.append(int(round(buy_m[i], -2)))
    elif buy_m[i] < 100000:
        buyQ.append(int(round(buy_m[i], -2)))
    elif buy_m[i] < 500000:
        buyQ.append(int(round(buy_m[i], -3)))
    elif buy_m[i] < 1000000:
        buyQ.append(int(round(buy_m[i], -3)))

for i in range(0, len(sell_m)):
    if sell_m[i] < 1000:
        sellQ.append(int(round(sell_m[i], 0)))
    elif sell_m[i] < 5000:
        sellQ.append(int(round(sell_m[i], -1)))
    elif sell_m[i] < 10000:
        sellQ.append(int(round(sell_m[i], -1)))
    elif sell_m[i] < 50000:
        sellQ.append(int(round(sell_m[i], -2)))
    elif sell_m[i] < 100000:
        sellQ.append(int(round(sell_m[i], -2)))
    elif sell_m[i] < 500000:
        sellQ.append(int(round(sell_m[i], -3)))
    elif sell_m[i] < 1000000:
        sellQ.append(int(round(sell_m[i], -3)))
#print("매도호가:", sellQ, "\n매수호가:", buyQ)

print("계좌번호 : %s / 종목번호 : %s\n 주문개수 : %s\n 매수가격 : %s" % (account_num, item_num, sellbuy_ea, buyQ)) #buyQ 40호가 까지 / sellbuy_ea 10개까지)
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[0], buyQ[0], "00", "")
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[1], buyQ[2], "00", "")
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[2], buyQ[4], "00", "")
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[3], buyQ[7], "00", "")
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[4], buyQ[9], "00", "")
kiwoom.SendOrder("피라미드매수", "0101", account_num, 1, item_num, sellbuy_ea[5], buyQ[12], "00", "")
print("지정가 매수완료")


 

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. 04
    Nov 2020
    18:17

    크롬에서 플래시 사용하기

    Category컴퓨터잡담 Views3386
    Read More
  2. 18
    Nov 2019
    06:58

    [크롬] 원격 데스크톱 외부접속시 "서버에서 참조를 반환했습니다." 오류 해결법

    Category컴퓨터잡담 Views11508
    Read More
  3. 10
    Nov 2019
    08:19

    [REMIX OS]How to Edit of REMIX OS build.prop? 수정방법

    Category컴퓨터잡담 Views12577
    Read More
  4. 31
    May 2019
    08:23

    CCTV VIEWEASYV2

    Category컴퓨터잡담 Views4151
    Read More
  5. 13
    Apr 2019
    21:21

    ISO 파일을 USB에 굽는 방법 [4GB 넘는 ISO 파일 USB에 굽는 방법]

    CategoryWindowsTip Views8113
    Read More
  6. 23
    Feb 2019
    18:50

    CPU-Z

    Category컴퓨터잡담 Views3904
    Read More
  7. 19
    Feb 2019
    19:00

    nVIDIA GTX750Ti 드라이버

    Category컴퓨터잡담 Views6800
    Read More
  8. 09
    Jan 2019
    09:25

    구글 앱스 스크립트(Google Apps Script) 외부에서 실행하기

    Category[Docs]스프레드시트 Views7050
    Read More
  9. 09
    Jan 2019
    09:24

    구글 앱스 스크립트(Google Apps Script) 외부에서 실행하기

    Category[Docs]스프레드시트 Views6807
    Read More
  10. 25
    Sep 2018
    21:17

    윈도우 PC에서 안드로이드 앱 실행

    Category컴퓨터잡담 Views6189
    Read More
  11. 31
    Aug 2018
    21:05

    구글캘린더 CSV 파일로 일괄 기록하기

    Category[Docs]스프레드시트 Views12296
    Read More
  12. 26
    Jul 2018
    21:26

    메이플스토리 입력신호범위초과(out of range)에러메세지 해결방법

    Category컴퓨터잡담 Views5818
    Read More
  13. 07
    Jul 2018
    21:49

    Autohotkey] 키보드 후킹 테스트

    CategoryAutoHotKey Views9681
    Read More
  14. 03
    Jul 2018
    20:08

    마인크래프트 게임충돌 해결방법

    Category컴퓨터잡담 Views24069
    Read More
  15. 14
    Feb 2018
    12:48

    autohotkey command-line 실행시 파라미터 설정

    CategoryAutoHotKey Views7223
    Read More
  16. 08
    Feb 2018
    08:34

    자바스크립트 내가 자주 사용하는 함수모음

    CategoryHTMLPHPMSQL Views7957
    Read More
  17. 31
    Jan 2018
    17:58

    자바스크립트 명령어

    CategoryHTMLPHPMSQL Views12894
    Read More
  18. 25
    Jan 2018
    13:07

    스프레드시트 autohotkey html gmail 스마트폰 이용하여 핑로스 즉시 알림받기

    Category[Docs]스프레드시트 Views10578
    Read More
  19. 25
    Jan 2018
    12:25

    javascript만으로 html간 변수값 주고받기

    CategoryHTMLPHPMSQL Views17336
    Read More
  20. 23
    Jan 2018
    21:59

    google spreadsheets html form post로 전달받기

    Category[Docs]스프레드시트 Views6882
    Read More
Board Pagination Prev 1 ... 6 7 8 9 10 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소