주봉 MACD 골든크로스란? 6·13·5 설정으로 ETF 추세 읽는 법

이미지
 ETF를 살 때 가장 고민되는 건 “언제 사야 하나” 입니다. 좋은 ETF를 골랐어도 하락이 이어지는 중간에 사면 한참을 버텨야 합니다. 그래서 저는 매수 후보를 고를 때 주봉 MACD 골든크로스 를 확인합니다. 이 글에서는 MACD가 무엇인지, 왜 일봉이 아니라 주봉을 보는지, 그리고 왜 기본값(12·26·9) 대신 6·13·5를 쓰는지 정리해 보겠습니다. 1. MACD는 “두 평균선의 거리”입니다 MACD는 이름이 어렵지만 원리는 간단합니다. 짧은 평균선에서 긴 평균선을 빼서 , 두 선이 얼마나 벌어져 있는지 보는 지표입니다. MACD선 = 짧은 지수이동평균(EMA) − 긴 지수이동평균 시그널선 = MACD선을 다시 평균 낸 선 히스토그램 = MACD선 − 시그널선 (막대로 표시) 최근 가격이 오르면 짧은 평균선이 긴 평균선보다 먼저 올라가서 MACD가 커집니다. 반대로 내리면 MACD가 작아집니다. 즉 MACD는 추세의 힘이 세지는지, 약해지는지 를 보여주는 지표입니다. 2. 골든크로스는 “힘이 다시 붙기 시작했다”는 신호 MACD선이 시그널선을 아래에서 위로 뚫고 올라가는 순간 을 골든크로스라고 합니다. 히스토그램으로 보면 막대가 0 아래(음수)에서 0 위(양수)로 바뀌는 지점입니다. 쉬운 비유를 들면 이렇습니다. 자동차가 느려지다가 다시 가속 페달을 밟기 시작한 순간입니다. 아직 속도가 빠르지는 않지만, 방향이 바뀌었다는 뜻이죠. 반대로 위에서 아래로 뚫고 내려가면 데드크로스 라고 하고, 힘이 빠지기 시작했다는 신호로 봅니다. 3. 왜 일봉이 아니라 주봉인가 일봉(하루 단위) MACD는 신호가 자주 나옵니다. 하루 이틀 오르면 골든크로스, 다시 이틀 내리면 데드크로스가 나오는 식이라, 신호를 따라가다 보면 사고팔기만 반복하기 쉽습니다. 주봉(일주일 단위)은 일주일치 움직임을 한 막대로 묶기 때문에 자잘한 흔들림이 걸러집니다 . 신호는 드물지만, 한 번 나오면 방향이 비교적 오래 이어지는 편입니다. ETF처럼 여러...

파이썬 주식 자동매매 4편

실전 매수·매도 주문하기 - 파이썬 주식 자동매매 4편


내 돈으로 진짜 주식을 사보자! 실전 매수/매도 주문하기




💡 이전 글 먼저 보기: 삼성전자 등 특정 주식의 실시간 현재가를 불러오는 방법이 궁금하시다면 👉 **[여기에 3편 글의 내용을 읽어주세요]**를 먼저 확인해 주시기 바랍니다.

 

파이썬으로 증권사 서버에 로그인하고, 내 계좌를 불러오고, 현재가까지 확인하셨나요? 

그렇다면 이제 진정한 '자동매매'의 하이라이트를 장식할 차례입니다.

이번 4편에서는 파이썬 코드를 통해 내 계좌의 예수금을 사용하여 실제로 주식을 매수(Buy)하고 매도(Sell)하는 주문(Order) 로직에 대해 알아보겠습니다.


1. 주식 주문의 핵심, SendOrder 함수 이해하기

키움증권 API에서 주식을 사고팔 때 사용하는 유일무이한 핵심 함수는 바로 SendOrder입니다.

 HTS나 MTS 앱에서 주식을 살 때 우리가 입력하는 정보(계좌번호, 종목, 수량, 가격 등)를 파이썬 코드에서는 이 함수의 '매개변수'로 쏙쏙 넣어주기만 하면 됩니다.


SendOrder에 들어가야 할 핵심 정보는 다음과 같습니다.

  • 사용자 구분명: 이 주문이 어떤 주문인지 내가 알아보기 쉽게 적는 이름 (예: "삼성전자매수")

  • 화면번호: 통신을 위한 4자리 임의의 숫자 (보통 "1000" 사용)

  • 계좌번호: 2편에서 불러왔던 내 주력 계좌번호 10자리

  • 주문유형: 1 (신규매수), 2 (신규매도), 3 (매수취소), 4 (매도취소)

  • 종목코드: 사고팔려는 주식의 6자리 코드 (예: 삼성전자 "005930")

  • 주문수량: 몇 주를 살 것인가?

  • 주문가격: 얼마에 살 것인가? (시장가 주문일 경우 0 입력)

  • 호가구분: 00 (지정가), 03 (시장가)


2. 단 15줄! 삼성전자 1주 '시장가 매수' 코드

주식을 무조건 지금 당장 체결시키는 가장 확실한 방법은 '시장가'로 매수하는 것입니다. 

아래 코드는 파이썬을 이용해 내 계좌로 삼성전자 주식 1주를 지금 즉시 시장가로 매수하는 실전 코드입니다.


Python
from pykiwoom.kiwoom import *
import time

# 1. 키움증권 로그인
kiwoom = Kiwoom()
kiwoom.GetConnectState()
print("로그인 완료!")

# 2. 내 주력 계좌번호 가져오기 (2편 참고)
accounts = kiwoom.GetLoginInfo("ACCNO")
my_account = accounts.split(';')[0]

# 3. 삼성전자(005930) 1주 시장가 매수 주문 실행!
print("매수 주문을 서버로 전송합니다...")

kiwoom.SendOrder(
    "삼성전자매수",       # 사용자 구분명
    "1000",            # 화면번호
    my_account,        # 계좌번호
    1,                 # 주문유형: 1 (신규매수)
    "005930",          # 종목코드: 삼성전자
    1,                 # 주문수량: 1주
    0,                 # 주문가격: 0 (시장가의 경우 0으로 비워둠)
    "03",              # 호가구분: 03 (시장가)
    ""                 # 원주문번호 (취소나 정정 시 사용, 신규 주문은 공백)
)

print("주문 전송이 완료되었습니다. HTS/MTS에서 체결 내역을 확인하세요!")

3. 주문 실행 전 반드시 확인해야 할 주의사항 (필독)

  • 모의투자 접속 확인: 위 코드를 실행하기 전, 반드시 우측 하단의 키움증권 접속 트레이가 '모의투자' 서버로 연결되어 있는지 두 번, 세 번 확인하세요. 실제 계좌로 연결되어 있다면 진짜로 돈이 빠져나가고 주식이 체결됩니다!

  • 시장가와 지정가의 차이: 위 코드에서 호가구분을 "00" (지정가)으로 바꾸고 싶다면, 주문가격을 0이 아닌 정확한 금액(예: 80000)으로 적어주어야 합니다.

  • 영업시간 확인: 주식 매매는 평일 오전 9시부터 오후 3시 30분까지만 가능합니다. 장이 닫힌 주말이나 밤에 코드를 실행하면 에러 메시지(장 종료)가 반환됩니다.


마무리 및 다음 단계

짜릿한 첫 자동 매수 주문을 완료하신 것을 축하합니다! 

HTS 잔고에 파이썬이 스스로 사들인 주식이 들어와 있는 것을 보면, 말로 다 할 수 없는 성취감이 느껴지실 겁니다.

지금까지 우리는 자동매매의 개별 부품(로그인, 현재가 조회, 매수 주문)을 하나씩 만들어 보았습니다.


 다음 [파이썬 주식 자동매매 5편]에서는 이 부품들을 하나로 조립하여, "특정 가격에 도달하면 스스로 감지하고 알아서 주식을 사는" 진정한 의미의 무인(無人) 자동매매 봇(Bot)을 완성해 보겠습니다!





※ 이 글은 투자 공부를 위한 정보 공유이며, 특정 종목의 매수·매도를 권유하지 않습니다. 투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.

댓글

이 블로그의 인기 게시물

[파이썬 주식 자동매매 1편]

파이썬 주식 자동매매 3편