[키움 조건검색식 주식자동매매(20)] 금일 매수한 종목에 대하여 분할 손절하기
본문 바로가기

주식 자동매매 강의/중급반(시황 및 차트 구현)

[키움 조건검색식 주식자동매매(20)] 금일 매수한 종목에 대하여 분할 손절하기

반응형

 이전 강의에서는 금일 매수한 종목에 대하여 분할 익절 하기를 코딩하였다면, 이번 강의에서는 분할 손절하기에 대하여 알아보겠습니다. 크게 바뀌는 것이 없으니 천천히 읽어 보시면 될 것 같습니다.

 

 1. GUI 복습하기

 아래는 이전 강의에서 설명드린 손절 GUI 입니다. 총 2번에 걸쳐 손절을 하는 것이고 본인 성향에 따라 더 많이 하셔도 무방합니다.  아래와 같이 각 콤보박스마다 objectName을 설정한 것을 기억하시죠? 이 값을 바탕으로 손절을 시작할 것입니다.

반응형

GUI 복습하기
GUI 복습하기

 2. 손절 코딩하기

 손절 코딩을 위해 5가지로 분할해 알아보겠습니다. 저번 익절 코딩에서 jango_dict에 현재 코드가 들어 있는지는 확인하였으니 이번 손절 코딩에서는 없어도 됩니다.

 그리고 현재가 대비 매입가가 얼마큼 증가/감소했는지 meme_rate에 계산하였던 거 기억하시죠? 이 부분도 그대로 사용하시면 됩니다.

손절
손절

 (1) meme_rate가 우리가 생각하는 기준 가격 이하가 되면 매도가 수행됩니다. 현재 코딩에서는 7차 가격 이하면 매도되게 되어있군요. 7차 가격은 protfolio_stock_dict에 저장되어 있습니다.

 (2) 매도 시 중복 매도를 피하기 위해 orderitemlist_7를 확인하고 중복 매도가 아니라면, qwait(2000) 즉 2초를 대기 후 매도를 실행합니다. 그 이유는 너무 빈번히 매도되면 키움 네트워크에서 서버를 종료시키기 때문입니다. 그리고 매매 가능 수량은 우리가 매수하려는 금액 mesu_price에 7차 수량(0.5)을 곱하여 매도 금액을 재 계산한 후 우리가 매도하려는 금액을 나눠 매매 가능 수량을 정합니다. 예제로 설명드리면 100만 원 치 매수하려고 할 때 7차 수량을 0.5로 하면, 50만 원 치 매도할 수 있으며, 매도 시작가가 1만 원이면 50주 매도된다는 뜻입니다.

 그리고 중복 매도를 방지하기 위해 orderitemlist_7에 현재 매매하려는 코드를 넣습니다. 앞으로 orderitemlist_7에는 매매 코드가 들어가 있으므로 이번 코드는 가동되지 않습니다.

 SendOrder 함수를 사용하여 매도 명령을 수행합니다. 매수와 다른 점은 self.account_num 옆에 2라는 숫자입니다. 매수는 1이었습니다. 그 외 들어가는 여러 정보들은 이전 강의를 참조하시기 바랍니다.

 (3) DB를 구축하는 곳입니다. open함수를 사용하여 원하는 이름의 txt파일을 만들고 각 정보들을 write함수를 사용하여 입력합니다.

 (4) 매도가 성공적으로 되었다면 0을 반환하고 그렇지 않으면 1을 반환합니다.

 

 이런 식으로 컨트롤 + C, 콘트롤 + V (복사/붙여 넣기)하시면 원하는 가격과 수량에 분할 손절이 가능하게 됩니다.

 위의 분할 손절에 대한 코드 설명은 분할 매수/매도 강의에 아주 자세히 설명되어 있으니 설명이 부족하다고 느끼시는 분들은 이전 강의를 복습하시기 바랍니다. 그래도 이해가 되지 않으시면 댓글 달아 주십시오. 가능한 범위에서 설명드리겠습니다. 감사합니다.

반응형

.link_tit