안녕하세요. 엔지엠소프트웨어입니다.
색상 인식 또는 색깔 인식 프로그램은 말 그대로 윈도우 화면에서 사용자가 지정한 위치의 색상을 인식해서 어떤 동작을 수행하는 프로그램을 말합니다.
오늘은 국내선물, 해외선물 또는 주식, 코인을 매매할 때 사람이 아닌 프로그램 매매와 카피 매매하는 RPA 자동 매매 프로그램을 소개해드리려고 합니다.
위에서도 말했듯이 나스닥, 코스닥 또는 영웅문과 같은 프로그램에서 차트를 여러개 띄워놓고 분석하는게 아닌 하나의 차트안에서 두가지의 매도, 매수 신호와 하나의 청산 신호로 작동하는 프로그램에서도 사용할 수 있습니다. 프로그램 매매는 캔틀차트, 봉차트의 신호를 자동으로 인식해서 매수와 매도 버튼을 클릭할 수 있습니다.
업비트 말고, [ 빗썸 ]도 비슷할거예요. 코인 시세 요청(Request)에 대한 응답(Response) 포멧만 다를거예요. 분석해보지는 않았지만요^^;
구글 크롬에서 업비트에 접속한 후 F12를 눌러서 개발자도구를 실행하세요. 그러면, 주기적으로 비트코인 시세에 대해 응답을 받을 수 있습니다. 아래 그림과 같이 Header 탭에서 요청 주소(Request URL)를 확인할 수 있습니다. 이 주소를 복사한 후 새로운 브라우저에 붙여넣기 해보세요.
주소는 아래와 같습니다. 물음표 뒤에 파라메터를 보면, CRIX.UPBIT.KRW-BTC라고 되어 있는데요. 업비드의 현재 비트코인 원화 시세를 가져온다는걸 예상할 수 있습니다. 실제로도 그렇구요^^; 그리고, count=1이라고 되어 있는데 이 값을 변경해보면 시간에 따른 이력(History)을 확인할 수 있습니다.
https://crix-api-cdn.upbit.com/v1/crix/candles/minutes/30?code=CRIX.UPBIT.KRW-BTC&count=1
10개를 가져오면 아래와 같이 표시됩니다.
가독성이 떨어져서 확인하기가 어려우니 [ Json 포멧 변환 사이트 ]에서 확인 해볼께요. 좀 더 분석하기가 좋아졌습니다^^; 그런데, timestamp를 보면 일반적인 날짜 포멧이 아니라서 일반인이 보면 언제 시세인지 알기가 어렵습니다. 그래서, timestamp를 날짜 형식으로 변환해주는게 좋을거 같아요.
timestamp를 날짜로 변환해주는 [ 사이트 ]에 접속한 후 "1657079390" 값을 입력 해보세요. 이제 언제쯤 비트코인 시세 데이타인지 쉽게 확인할 수 있게 되었습니다.
[ 웹서비스 ] 액션을 스크립트에 추가하고, API 주소 속성에 "https://crix-api-cdn.upbit.com/v1/crix/candles/minutes/30?code=CRIX.UPBIT.KRW-BTC&count=1" 입력 해줍니다. 컨텐츠 처리 옵션은 Json으로 선택하세요. 위에서 확인했듯이 요청에 대한 응답으로 Json 포멧의 결과를 보내주기 때문입니다.
스크립트를 실행하면, 업비트로부터 비트코인 시세 정보를 요청하고, 응답으로 현재 시세에 대한 정보들을 받게됩니다. 응답 결과를 클릭하면 아래 동영상과 같이 Xml Json 시각화 도구가 표시됩니다. 트리 목록 형태로 되어 있어서 내용을 확장해보면 안쪽의 상세 내용을 확인할 수 있습니다.
Json 텍스트를 파싱해서 처리하기 위해 [ 변수 ]를 하나 추가하고, [ Json 모델 ] 액션으로 필요한 값을 추출합니다. 웹서비스에서 받아온 응답 메세지를 변수에 저장하고, Json 모델은 아래 그림과 같이 변수로부터 데이타를 가져옵니다.
속성 이름에 "array/tradePrice"를 입력하고 실행 해보세요. 아래 그림과 같이 "26,544,000" 비트코인 시세를 가져올 수 있습니다.
참고로, Json 포멧이 배열인 경우 속성 이름은 array로 시작해야 합니다. 배열이 아닌 객체라면 속성 이름을 적어줘야 합니다. 이전 예제들이 전부 속성이어서 배열 처리에 대해 설명할 타이밍이 없었네요. 대부분 객체로 되어 있어서 array를 사용할일은 거의~ 없을겁니다. 하지만, 아래와 같이 이름이 없는 배열은 array로 시작해야 정상적으로 파싱할 수 있습니다.
[
{
"id":"a119",
"name":"홍길동",
"age":"24"
},
{
"id":"a120",
"name":"임꺽정",
"age":"42"
}
]
[ 숫자 체크 ] 액셔을 추가하고, 변수로 부터 비교 대상 값을 가져옵니다. 비교할 숫자에는 2천만원을 입력했는데요. 2천만원보다 크면 비트코인을 판매하는 로직입니다.
[ 메세지 박스 ] 액션을 사용하면, 사용자에게 알람을 표시하고 동작을 선택할 수 있도록 매크로를 만들 수 있습니다.
이 스크립트를 실행하면 현재 비트코인 시세가 2600만원정도 하니까~ 무조건 판매하는 로직으로 넘어갈겁니다. 그래서 메세지가 표시되죠. 두번째로 비교할 숫자를 3천만원으로 변경하고 다시 실행 해보세요. 이번에는 비트코인을 판매할지 물어보지 않고 스크립트가 종료되게 됩니다. 디테일한 부분들은 좀 더 보완해야 하겠지만, 첨부되어 있는 이 스크립트를 응용하면 완성도 있는 코인 자동 매매 매크로를 만들 수 있을겁니다.
보통 주식이나 선물 또는 코인을 분석할 때 봉 차트(Candle Chart:캔들 차트)를 많이 보더라구요. 모양이 박스 플롯하고 유사해서 오해할수가 있습니다. 제가 일하는 수율쪽은 박스 위스커 플롯(Box Whisker Plot: 상자 수염 그림)으로 데이타를 분석합니다. 줄여서 박스플롯이라고 하구요. 주식하는 분들을 원격으로 교육 하다가 문득 생각이 나서... 아무튼 그렇다는거구요^^;
우선, 코인 트레이딩 프로그램에서 봉차트를 보면 LL, LH, HH, HL등등... 알 수 없는 뭔가를 인식해야 한다고 합니다. 대충~ 자료들을 찾아보니 아래와 같은 뜻이라고 하네요.
- HH(Higher High): 고점을 높이는 파동
- HL(Higher Low): 저점을 높이는 파동
- LH(Lower High): 고점을 낮추는 파동
- LL(Lower Low): 저점을 낮추는 파동
- DT(Double Top): 쌍머리
- DB(Double Bottom): 쌍바닥
- EH(Equal High): 동일선상 고점
- EL(Equal Low): 동일선상 저점
여기서 그룹으로 처리해야 할 항목이 HH와 HL, LH와 LL입니다. 보면, 고점을 높이거나 낮추는 파동과 저점을 높이거나 낮추는 파동이 뭔가 매도와 매수에 영향을 주는듯 합니다. 원격으로 봐드리면서 들은 설명으론 그렇다는군요^^; 제가 잘못 이해하고 있는걸수도 있어요. 아무튼 여기서 코인 트레이딩에 대한 내용을 설명하려는건 아니니 대충 들어주시면 될거 같습니다. 아무튼 HH와 LH, LH와 LL을 같은 모양으로 인식하려면 아래와 같이 스크립트를 만들어야 합니다.
Normal Case.ngs
위 Normal Case 스크립트를 보면, 이중 조건으로 되어 있는걸 알 수 있습니다. 엔지엠은 이미지를 그룹으로 묶어서 처리할 수 있는 방법을 제공하는데요. 이미지 조건들은 전부 멀티 처리를 제공합니다. 위 스크립트를 이미지 멀티 매치로 변경하면 아래와 같이 단순화 할 수 있어요~
속성에서 여러 이미지들을 어떻게 처리할지 결정할 수 있습니다. 서로 다른 이미지를 같은 루틴으로 처리하려면 OR 조건을 써야합니다. AND 조건으로 하면 모든 이미지가 같아야 한다는 뜻입니다. 아마도, 주식이나 선물 또는 코인을 하시는 분들이면 이정도 내용은 이미 알고 있을거예요^^;
다중 조건을 사용하면, 좀 더 직관적(?)으로 구성할수도 있습니다. 여러가지 조건들을 "다중 조건" 액션 하위에 추가하면 설정한 옵션에 따라 묶어서 처리해줍니다.
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로
댓글