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. 05
    Sep 2021
    09:06

    파이썬 변수전달하기

    Category파이썬 Views1446
    Read More
  2. 06
    Sep 2021
    13:34

    키움증권 OpenAPI 당황스러움

    Category파이썬 Views1749
    Read More
  3. 06
    Sep 2021
    14:19

    파이썬 매수할 피라미드 매수전략

    Category파이썬 Views1853
    Read More
  4. 11
    Sep 2021
    13:43

    파이썬 any, all 사용하기(배열데이터 안에 값이 하나라도 있는지 또는 모두 있는지 비교)

    Category파이썬 Views1956
    Read More
  5. 10
    Mar 2023
    14:09

    네이버 주식에서 종목의 투자정보 자료 가져오기

    Category파이썬 Views2244
    Read More
  6. 07
    Sep 2021
    16:33

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

    Category파이썬 Views2338
    Read More
  7. 04
    Mar 2023
    08:39

    python class def

    Category파이썬 Views2366
    Read More
  8. 13
    Sep 2021
    18:14

    파이썬 dictionary 딕셔너리 조작

    Category파이썬 Views2536
    Read More
  9. 16
    Sep 2021
    16:17

    파이썬 키움openAPI 보유종목 종목리스트 피라미드 매도주문하기

    Category파이썬 Views2557
    Read More
  10. 11
    Sep 2021
    14:26

    파이썬 openyxl 엑셀파일(xlsx) 저장하기

    Category파이썬 Views2596
    Read More
  11. 11
    Sep 2021
    13:47

    파이썬 datetime 모듈로 초간단 날짜 표현하기

    Category파이썬 Views2714
    Read More
  12. 27
    Sep 2021
    11:35

    파이썬 변수내용 문자열 자르기 특이한 점

    Category파이썬 Views2965
    Read More
  13. 16
    Sep 2021
    16:18

    파이썬 키움openAPI 보유종목 종목리스트 피라미드 매수주문하기

    Category파이썬 Views3026
    Read More
  14. 26
    Oct 2021
    05:59

    python html tag 제거 경로 금지 문자 제거

    Category파이썬 Views3180
    Read More
  15. 31
    Oct 2021
    12:12

    파이썬 정규표현식 (Regular Expressions)

    Category파이썬 Views3180
    Read More
  16. 17
    Sep 2021
    08:43

    python 에서 구글 캘린더 api 이용하기(server to server)

    Category파이썬 Views3277
    Read More
  17. 10
    Mar 2023
    14:33

    네이버 주식의 기업정보와 펀더멘탈정보 소스 가져오기

    Category파이썬 Views3366
    Read More
  18. 18
    Sep 2021
    09:46

    Python 메타블로그 글쓰기(제로보드, xpressengine blog api)

    Category파이썬 Views3433
    Read More
  19. 23
    Sep 2021
    22:29

    파이썬 팍스넷 추천종목 특정페이지 크롤링

    Category파이썬 Views3466
    Read More
  20. 13
    Sep 2021
    23:04

    키움증권 openAPI 지정가분할매수주문.py

    Category파이썬 Views3526
    Read More
Board Pagination Prev 1 2 3 Next
/ 3

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소