본문 바로가기
주식/주식자동매매

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트 만들기

by 날아라키위새 2021. 6. 19.
반응형

구글 스프레드시트 주식 포트폴리오 관리하기 - 설정편에 이어서 정해놓은 목표가에 현재 주가*가 도달하면 자동으로 이메일을 보내주는 방법을 알아보겠다.
(*최대 20분 지연)

이전 포스팅에서 만들었던 구글 스프레드 시트를 연다.
엔씨소프트에 이어 LG디스플레이도 추가하였다.
엘디플 주식은 참 흥미롭다.

 

이제 구글 스프레드시트로 목표가 이메일 알림을 받아보자

메뉴 탭에서 도구- 스크립트 편집기를 클릭한다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

새 창이 뜨며 코드.gs 가 자동으로 생성된다.
function myFunction() {

}

라는 부분을 드래그 하여 지운다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

아래의 스크립트를 붙여 넣는다.

function ncsoft() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("시트1");
  var value = sheet.getRange("B5").getValue();
  var sellvalue = 250000
  var buyvalue = 200000
  if(value >= sellvalue) sendEmail1(value)
  if(value <= buyvalue) sendEmail2(value)

function sendEmail1(value){
  var valuechange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시트1").getRange("B6").getValue();
  var recipient = "kimkiwisae@gmail.com";
  var subject = "엔씨소프트가" + " " + sellvalue + "보다 커짐";
  var body = "현재가는" + " " + value + " (" + valuechange + ")       /        https://docs.google.com/spreadsheets/d/1l7b2JDQAyN1PuMokOnj9UvEBWiPFL5Sp02aVdogQgWc/edit#gid=0";
  MailApp.sendEmail(recipient, subject, body);
};

function sendEmail2(value){
  var valuechange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("시트1").getRange("B6").getValue();
  var recipient = "kimkiwisae@gmail.com";
  var subject = "엔씨소프트가" + " " + buyvalue + "보다 작아짐";
  var body = "현재가는" + " " + value + " (" + valuechange + ")       /        https://docs.google.com/spreadsheets/d/1l7b2JDQAyN1PuMokOnj9UvEBWiPFL5Sp02aVdogQgWc/edit#gid=0";
  MailApp.sendEmail(recipient, subject, body);
};
}

이때 시트1 부분을 자신의 스프레드시트의 이름을 확인하여 동일하게 바꾸어 주어야 한다.
스프레드시트의 이름은 하단부 좌측에 있다.

본인의 경우에 따라 주황색 글씨를 알맞게 수정해준다.

스크립트를 설명하자면 B5 셀에 있는 값을 확인하여 이 값이
sellvalue로 설정된 250000 보다 커지는 경우 자동으로 이메일을 보낸다. (매도 시)
마찬가지로
buyvalue로 설정된 200000 보다 작아지는 경우 자동으로 이메일을 보낸다. (매수 시)
이때 이메일을 보낼 주소와 제목과 본문 내용을 정할 수 있다.

(이메일 주소에는 본인의 이메일 주소를 입력하세요!)
본문에 구글 독스 스프레드시트 주소를 입력해놓으면 이메일에서 주소를 눌러 바로 시트를 열 수 있어서 편리하다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

스크립트 작성하는 창 상단의 디스크 모양이나 Ctrl+S를 눌러 저장해준다.

그리고 그 옆의 벌레 모양 버튼을 눌러 디버깅을 해준다.

문제가 있다면 해결하자.
이메일이 왔다. 스크립트가 잘 작동한다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

이제 주기적으로 이 스크립트를 실행해주는 명령이 필요하다.

구글 스크립트에서는 이것을 트리거(trigger)라고 한다.
시계 모양 버튼을 눌러준다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

트리거가 설정되어 있지 않습니다. 여기를 클릭하여 트리거를 추가하세요.
라는 곳을 클릭한다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

이벤트 부분의 드롭다운 메뉴를 눌러 시간 기반, 분 타이머, 5분마다로 설정해준다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

오른쪽의 알림을 클릭한다.
알림을 보낼 시간을 정해준다.
이메일 알림을 바로 보내주는 것이 좋으니
즉시로 바꿔준다.
저장한다.

구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트
구글 스프레드시트 주식 목표가 도달시 이메일 알림 스크립트

이제 5분마다 스프레드 시트를 확인하여

엔씨소프트의 현재가가 25만원보다 커지면
엔씨소프트가 250000보다 커짐이라는 제목의 이메일이 오고
반대로 20만원보다 작아지면
엔씨소프트가 200000보다 작아짐이라는 제목의 이메일이 온다.
이메일을 받고 매수/매도 타이밍을 잡으면 된다.

구글 스프레드시트의 =GOOGLEFINANCE 함수는 최대 20분의 딜레이가 있음을 명심하자.

딜레이가 있어 변동이 심한 장에서는 매수 혹은 매도 타이밍을 놓치게 될 수도 있다.

 

참 쉽다.

 

관련 글:

구글 스프레드시트 주식 포트폴리오 관리하기 - 설정편

반응형

댓글