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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

파이썬 키움증권 open api 분할매매 수식구하기

장시작 또는 현재가에서 지정한 투자금액에 따라 매수는 피라미드형, 매도는 역피라미드형으로 매매주문하기

 

 

 


#코스피
#5,000 ~ 10,000 = 10#10,000 ~ 50,000 = 50#50,000 ~ 100,000 = 100#100,000 ~ 500,000 = 500#500,000 ~ 1,000,000 = 1000
#코스닥
#5,000 ~ 10,000 = 10#10,000 ~ 50,000 = 50#50,000 ~ 100원단위

order_money=5100                                 #현재가
max_order_money=1000000                          #총매매금액
mom_ea=int(round(max_order_money/order_money,0)) #총매매금액 나누기 현재가 = 총매매 수량

print("총매매 주식수 : ",mom_ea)
sellbuy_ea=[]
rate_sb=0.027

for i in range(0,10):
    sellbuy_ea.append(int(mom_ea*rate_sb))
    rate_sb = (rate_sb + 0.008) * 1.115

temp=0
for i in range(0,10):
    temp=temp+sellbuy_ea[i]
    temp1=order_money*temp
print("실투자수량:",temp,"실투자금액:",temp1)
print("매수호가주문수량",sellbuy_ea)


#0.5% ~ 10%까지의 매수호가/매도호가 생성
sell_m=[]
buy_m=[]
rate_v=0.005
for i in range(0,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)


## 상한가 구하기
highlow = 0.28
max_money=order_money + order_money * highlow
min_money=order_money - order_money * highlow
#print(order_money,max_money,min_money)

## 상한가 자리수에 따라 반올림하고 정수화하기
if order_money < 1000:
    max_money = int(round(order_money + order_money * highlow, 0))
    min_money = int(round(order_money - order_money * highlow, 0))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

if order_money < 5000:
    max_money = int(round(order_money + order_money * highlow, -1))
    min_money = int(round(order_money - order_money * highlow, -1))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 10000:
    max_money = int(round(order_money + order_money * highlow, -1))
    min_money = int(round(order_money - order_money * highlow, -1))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 50000:
    max_money = int(round(order_money + order_money * highlow, -2))
    min_money = int(round(order_money - order_money * highlow, -2))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 100000:
    max_money = int(round(order_money + order_money * highlow, -3))
    min_money = int(round(order_money - order_money * highlow, -3))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 500000:
    max_money = int(round(order_money + order_money * highlow, -4))
    min_money = int(round(order_money - order_money * highlow, -4))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)

elif order_money < 1000000:
    max_money = int(round(order_money + order_money * highlow, -5))
    min_money = int(round(order_money - order_money * highlow, -5))
    print('현재가:',order_money,'상한가:',max_money,'하한가:',min_money)
    
로그인 후 댓글쓰기가 가능합니다.

?

  1. 자주 쓰이는 정규식(Regular Expression)

  2. 스프레드시트의 내용이 수정될 경우 즉시 메일발송하는 스크립트 테스트 중

  3. ahk) Send an email 메일발송하기

  4. 독서감상문 EBS교육방송 체험학습 양식

  5. 구글 스프레드시트 ajax POST를 통한 기록 따라해보기

  6. 엑셀 파일을 utf-8 유니코드로 csv 파일로 저장하기

  7. 초간단 웹서버와 파일서버 프로그램

  8. mysqli로 DB 검색 조회

  9. 핑테스트(PINGINFOVIEW)와 TCPVIEW

  10. 우린친구블로그 서버 다운해결방법과 MYSQL 실행 안될 때 복구방법

  11. XE 모바일 default 기본스킨 views 값 나타내기

  12. 서버 다운시 알람 기능 사용방법(http ping port)

  13. 구글 스프레드시트를 이용한 지메일 예약발송 방법

  14. 댓글쓰기 - 스케치북 게시판 로그인 사용자만 댓글쓰기

  15. FileZilla FTP SERVER 패시브모드 셋팅방법

  16. ZipperUpper! 애드온 이런것이 있었다니?

  17. PuTTY Download Page(telnet,ftp,ssh)

  18. V2824 User Manual

  19. XE 스케치북 게시판 웹진형에서 사진과 요약글 출력방법

  20. Server 성능 테스트

Board Pagination Prev 1 ... 7 8 9 10 11 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소