예스트레이더 자동매매 구축 실행 가이드
목표: 스윙트레이딩 5가지 전략을 예스트레이더의 예스스팟(YesSpot) + 스톱주문으로 완전 자동화
핵심: 조건검색식 → 예스스팟 코드 → 자동주문 → 스톱주문(손절/익절) 통합
📋 시작 전 필수 확인사항
1. 시스템 요구사항
✅ 예스트레이더 설치 (최신 버전)
✅ iM증권 또는 예스증권 계좌 개설
✅ 모의투자 계좌 (테스트용)
✅ 24시간 구동 가능한 PC 또는 서버
✅ 안정적인 인터넷 연결
2. 사전 설정
✅ PC 절전 모드 비활성화
✅ 자동 업데이트 비활성화
✅ 트레이더 자동 시작 설정
✅ 로그인 자동화 설정 (선택사항)
🎯 Step 1: 5가지 전략별 조건검색식 작성 (1-2시간)
전략 1: 눌림목 추종형 (최고 추천) ⭐
조건검색식 이름: swing_pullback_trend
예스트레이더 조건검색식:
// 눌림목 추종형: 20일선 위에서 조정 후 반등
// 기간: 일봉, 최소 500봉 필요
// 조건 1: 20일 상향 추세
[1] {mav(20) > mav(60)}
// 조건 2: 5일선이 20일선 위 (강한 추세)
[2] {mav(5) > mav(20)}
// 조건 3: 최근 5일 중 조정 발생
[3] {low(0) < mav(20) AND close(0) >= mav(20)}
// 조건 4: 거래량 감소 후 재증가
[4] {volume(0) > avg(volume, 20) * 1.5}
// 조건 5: 신고가 근처 (근처 30% 이내)
[5] {high(0) > highest(high, 20) * 0.7}
// 종합 조건
{[1] AND [2] AND [3] AND [4] AND [5]}
저장 방법:
- 예스트레이더 → [파워 종목 검색] 클릭
- [검색식 편집] → 위의 식 입력
- 이름 저장:
swing_pullback_trend - [저장] 클릭
전략 2: W자 패턴형 ⭐
조건검색식 이름: swing_w_pattern
// W자 패턴: 2차 저점이 1차보다 높음
[1] {mav(20) > mav(60)}
[2] {highest(high, 10) < highest(high, 20)}
[3] {lowest(low, 5) > lowest(low, 20) * 0.98}
[4] {volume(0) > avg(volume, 20) * 1.3}
{[1] AND [2] AND [3] AND [4]}
전략 3: 이동평균선 돌파형
조건검색식 이름: swing_ma_breakout
// 20일선 상향 돌파
[1] {close(0) > mav(20) AND close(1) <= mav(20)}
[2] {volume(0) > avg(volume, 20) * 2}
[3] {highest(high, 20) > highest(high, 40) * 0.95}
{[1] AND [2] AND [3]}
🎯 Step 2: 예스스팟(YesSpot) 자동매매 코드 구축 (30분)
2-1. 예스스팟 언어 기초
예스스팟은 예스트레이더의 자동매매 프로그래밍 언어
장점:
- 한글 기반으로 이해 용이
- 실시간 조건검색 → 자동주문 가능
- 복잡한 로직 구현 가능
2-2. 예스스팟 자동매매 기본 코드
파일명: swing_auto_trading.yesspot
// ============================================
// 스윙트레이딩 자동매매 - 눌림목 추종형
// ============================================
// 1. 초기 설정
VAR 매수금액 = 1000000; // 1회 매수금액: 100만원
VAR 최대포지션 = 5; // 최대 5개 포지션
VAR 손절률 = 0.03; // 손절: -3%
VAR 익절률 = 0.08; // 익절: +8%
// 2. 변수 선언
VAR MK리스트[] = {}; // 종목코드 배열
VAR MK = ""; // 현재 종목코드
VAR 포지션수 = 0; // 현재 보유 포지션 수
// ============================================
// 3. 메인 로직 - 초기 시작
// ============================================
ON_START
{
// 3-1. 조건검색 실행 (09:00 ~ 15:30)
// 매 5초마다 조건검색 실행
IF (시간 >= 090000 AND 시간 <= 153000)
{
MK리스트 = 검색("swing_pullback_trend");
// swing_pullback_trend는 위에서 저장한 조건검색식 이름
}
}
// ============================================
// 4. 종목 수신 콜백 (조건검색 결과 도착)
// ============================================
ON_RECEIVE_SEARCH_RESULT(검색결과[])
{
FOR (i = 0; i < len(검색결과); i++)
{
MK = 검색결과[i];
// 4-1. 포지션 수 확인 (최대 5개까지)
IF (포지션수 < 최대포지션)
{
// 4-2. 시가총액 필터링 (300억 ~ 2조)
IF (시가총액(MK) >= 30000000000 AND 시가총액(MK) <= 2000000000000)
{
// 4-3. 거래량 필터링 (일일 10억 이상)
IF (거래대금(MK) >= 1000000000)
{
// 4-4. 자동 매수 실행
주문("매수", MK, 매수금액);
포지션수 = 포지션수 + 1;
}
}
}
}
}
// ============================================
// 5. 시장 데이터 수신 (실시간 가격)
// ============================================
ON_RECEIVE_MARKET_DATA(종목코드, 시가, 고가, 저가, 종가, 거래량)
{
현재가격 = 종가;
// 위험 관리: 이 부분은 스톱주문에서 처리
// (자동매매는 매수만, 손절/익절은 스톱주문으로)
}
// ============================================
// 6. 종료 함수
// ============================================
ON_END
{
// 프로그램 종료 시 실행
PRINT("자동매매 종료");
}
2-3. 예스스팟 코드 적용 방법
- 예스트레이더 실행 → [시스템 트레이딩] 클릭
- 예스스팟 편집기 열기
- 메뉴: [파일] → [새로 만들기] → [예스스팟]
- 위의 코드 복사 + 붙여넣기
- 변수 수정 (당신의 자본/전략에 맞게)
매수금액 = 자본의 5-10% (ex: 1,000만원 / 5 = 200만 원) 최대포지션 = 3-5개 손절률 = 0.03 (-3%) 익절률 = 0.08 (+8%) - 저장: Ctrl + S
- 저장 이름:
swing_auto_main
- 저장 이름:
🎯 Step 3: 스톱주문 설정 (손절/익절 자동화) (15분)
3-1. 스톱주문이란?
스톱주문 = 예스트레이더의 자동 손절/익절 기능
- 매수 직후 자동으로 손절/익절 조건 설정
- 매수된 모든 포지션에 대해 자동 적용
- 예스스팟에서는 매수만 → 스톱주문에서 손절/익절 담당
3-2. 스톱주문 설정 절차
Step A: 차트 열기
1. 예스트레이더 → [차트] → [새로 만들기]
2. 종목: 아무거나 (예: 삼성전자 005930)
3. 봉: 일봉
4. 기간: 500봉 이상
Step B: 스톱주문 세팅
1. 차트 상단 메뉴 → [주문] → [스톱주문 설정] 클릭
2. 다음 창이 열림:
스톱주문 설정 화면 입력값:
┌─────────────────────────────────────────┐
│ 스톱주문 설정 │
├─────────────────────────────────────────┤
│ 계좌: [본인 계좌 선택] │
│ 주문유형: [매도] │
│ 주문방식: [Market] (시장가) │
│ 조건: [가격 이하] (손절) │
│ [가격 이상] (익절) │
│ 수량: [전량] 또는 [수량 지정] │
│ 유효시간: [당일] 또는 [기간] │
│ SMS 알림: [체크] │
└─────────────────────────────────────────┘
3-3. 손절/익절 계산 공식
진입가: P
손절률: -3% (0.03)
익절률: +8% (0.08)
손절가격 = P × (1 - 0.03) = P × 0.97
익절가격 = P × (1 + 0.08) = P × 1.08
예시:
진입가 10,000원
손절가 = 10,000 × 0.97 = 9,700원
익절가 = 10,000 × 1.08 = 10,800원
3-4. 스톱주문 자동화 (매우 중요!)
자동 손절 설정 체크리스트:
✅ 스톱주문 설정 버튼 위치:
- 메인 메뉴 → [주문] → [스톱주문 설정]
✅ 설정값:
- 손절 조건: 가격 이하 (매도)
- 손절가: 진입가 × 0.97
- 익절가: 진입가 × 1.08
- 수량: 전량 매도
- 유효시간: 당일유효 (또는 기간 주문)
✅ 중요: SMS 알림 체크!
(매매 발생 시 즉시 알림)
🎯 Step 4: 자동매매 실행 (10분)
4-1. 예스스팟 프로그램 실행
실행 절차:
1. 예스스팟 편집기 창이 열려있음 (코드 입력 완료)
2. 상단 메뉴: [실행] → [자동주문 시작] 클릭
3. 또는 단축키: Ctrl + F5
4. 상태 확인:
- 좌측 상단에 빨간색 "자동" 버튼 표시
- 콘솔에 "자동매매 시작" 메시지
4-2. 자동 상태 모니터링
자동매매 중 체크 사항:
✅ 좌측 상단 "자동" 표시 확인 (빨간색)
✅ 콘솔 창에 메시지 실시간 표시
✅ 종목 검색 결과 5-10초마다 업데이트
✅ 매수 주문 시 팝업 알림
✅ 주문 현황 탭에서 포지션 확인
주문 현황 탭 위치:
메뉴: [주문] → [주문 현황] → [실시간 주문 내역]
보이는 정보:
- 종목코드 / 종목명
- 매수/매도 구분
- 주문가격 / 체결가격
- 수량 / 금액
- 손절/익절 조건
🎯 Step 5: 모의투자로 테스트 (3-7일)
5-1. 모의투자 환경 설정
중요: 반드시 모의투자에서 1주일 테스트 후 실전 진행!
모의투자 계좌 개설:
1. 예스증권/iM증권 웹사이트 접속
2. [모의투자] → [계좌 개설]
3. 초기 자본 설정: 1,000만원 (테스트)
4. 모의투자 계좌번호 확인
모의투자 적용:
예스트레이더 로그인 시:
1. [계좌 선택] → [모의투자 계좌] 선택
2. 자동매매 코드 실행
3. 5-7일 동안 수익률/승률 추적
5-2. 성과 평가 기준
모의투자 성공 기준:
수익률: 월 4-5% 이상 달성
승률: 70% 이상
거래 수: 월 5-10회
손실: 최대 -5% 이내
실전 진행 조건:
✅ 월 수익률 4% 이상
✅ 승률 70% 이상
✅ 거래 수 5회 이상
✅ 최대 낙폭 -5% 이내
1개 조건이라도 미달 시: 코드 및 조건검색식 수정
🎯 Step 6: 실전 적용 (실제 거래)
6-1. 실전 계좌 설정
첫 주 세팅:
초기 자본: 500만원 (1/5 규모로 시작)
매수금액: 500만원 / 5 = 100만원
최대포지션: 3개 (보수적)
손절: -3%
익절: +8%
6-2. 실전 가동 프로세스
매일 아침 (09:00 이전):
1. PC 전원 ON (시간 충분히 확보)
2. 인터넷 연결 확인
3. 예스트레이더 자동 시작 설정
4. 예스스팟 프로그램 자동 실행 설정
장중 (09:00 ~ 15:30):
근무 중 최소화:
- 10:30: 밤샘 조건검색 결과 확인 (5분)
- 12:00: 점심 포지션 체크 (5분)
- 15:00: 폐장 전 손절 확인 (5분)
퇴근 후 (16:00 ~ 17:00):
1. 당일 거래 내역 확인 (10분)
2. 내일 자동주문 설정 검토 (10분)
3. 포지션별 손절/익절 조정 (10분)
4. 예스스팟 프로그램 정상 구동 확인 (5분)
⚠️ 트러블슈팅 & 자주 묻는 질문
Q1: 자동매매가 작동하지 않음
확인 사항:
1. PC 절전 모드 해제 확인
2. 인터넷 연결 안정성 확인
3. 예스트레이더 자동 시작 설정 확인
4. 예스스팟 "자동" 버튼 빨간색 표시 확인
5. 조건검색식 이름이 정확한지 확인 (공백, 오타)
Q2: 자동 주문이 들어갔는데 체결되지 않음
원인 및 해결:
원인: 주문가격이 너무 낮음 (지정가 주문)
해결: 예스스팟에서 주문 방식을 "시장가"로 변경
변경 코드:
변경 전: 주문("매수", MK, 매수금액, 지정가=현재가-100);
변경 후: 주문("매수", MK, 매수금액, 주문방식="Market");
Q3: 손절이 작동하지 않음
확인 사항:
1. 스톱주문 설정이 제대로 되어있는지 확인
2. 계좌 선택이 정확한지 확인
3. SMS 알림 수신 여부 확인
4. 스톱주문 유효시간 설정 확인 (당일 vs 기간)
Q4: 자동매매 중 프로그램 크래시
대비 방법:
1. 예스스팟 코드에 오류 처리 추가:
TRY {
// 매매 로직
} CATCH {
PRINT("에러 발생: " + 에러메시지);
// 계속 진행하거나 중단
}
2. 정기적 재시작 스케줄링 (선택사항):
- 매일 15:35 프로그램 종료
- 다음날 08:55 자동 재시작
Q5: 거래대금/시가총액 필터가 작동 안 함
디버깅:
// 콘솔에서 실제 값 확인
PRINT("종목: " + MK);
PRINT("거래대금: " + 거래대금(MK));
PRINT("시가총액: " + 시가총액(MK));
// 필터 값 조정
거래대금 기준: 500만원 → 5,000만원으로 상향
시가총액 기준: 더 넓게 설정 (100억 ~ 5조)
📊 일일 점검 체크리스트
매일 아침 (09:00 전):
☐ PC 전원 ON
☐ 인터넷 연결 확인
☐ 예스트레이더 실행
☐ 예스스팟 "자동" 표시 확인
☐ 포트폴리오 전일 거래 내역 확인
장중 (1회 이상):
☐ 자동 주문 들어가는지 확인
☐ 손절/익절 조건 정상 작동 확인
☐ 포지션 수 5개 초과 확인
폐장 후 (17:00 ~ 18:00):
☐ 당일 수익률/손실률 계산
☐ 포지션별 수익/손실 상태 점검
☐ 내일 자동주문 설정 재확인
☐ 예스스팟 자동 상태 유지 확인
주간 (금요일 퇴근 후):
☐ 주간 누적 수익률 계산
☐ 승률 추적 (목표: 70% 이상)
☐ 거래 수 확인 (목표: 월 5-10회)
☐ 조건검색식 성과 분석
☐ 다음주 전략 조정 필요 여부 검토
🚀 확장 옵션 (향후 개선사항)
1. 다중 전략 동시 운영
현재: 1가지 전략 (눌림목 추종형)
향후: 3가지 전략 동시 운영
- 예스스팟 1: 눌림목 추종형
- 예스스팟 2: W자 패턴형
- 예스스팟 3: 이동평균선 돌파형
2. 포트폴리오 자동 리밸런싱
// 추가 코드
IF (포지션수 >= 최대포지션)
{
// 손실 포지션부터 청산
손실_포지션 = FindWorstPosition();
Liquidate(손실_포지션);
}
3. AI 기반 종목 필터링
// 미래 개선
- 거래량 추세 분석
- 기관/외인 흐름 추적
- 뉴스 감정 분석
💡 최종 팁
1. 서두르지 마라
→ 모의투자 최소 7일 이상
2. 정교하게 설정하라
→ 조건검색식은 간단할수록 좋음
3. 감정을 버려라
→ 자동매매 신뢰, 손절 엄격 준수
4. 기록하라
→ 매일 매매 일지 작성
5. 분석하라
→ 주간 승률/수익률 검토
6. 조정하라
→ 월 1-2회 코드/조건식 개선
🎯 최종 성과 목표
1개월:
- 월 수익률: +4-5%
- 승률: 70-72%
- 포지션: 월 5-8회 거래
3개월:
- 누적 수익: +12-15%
- 안정성: 최대 낙폭 -5% 이내
- 자동화: 근무 중 거의 개입 없음
6개월:
- 누적 수익: +24-30%
- 전략 확장: 2-3개 전략 동시 운영
- 포트폴리오: 자본 1,000만원 → 1,240-1,300만원
예스트레이더 자동매매 구축 완료!