자동 거래하기

마지막 업데이트: 2022년 1월 15일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
한국투자증권 주식 자동매매

바이낸스 자동 매매 트레이딩 봇

이 프로그램은 가격의 하락/상승 추세를 따라가며 추적 매수/추적 매도를 하는 기법을 기반으로 작성되었습니다.

  • 이 프로그램은 환경설정에 따라 여러번의 매수/매도가 가능합니다.
  • 이 프로그램은 여러개의 코인을 모니터링 가능합니다. 각 코인들은 1초마다 가격 확인 및 매수/매도 처리가 됩니다.
  • 이 프로그램은 지속적인 데이터베이스로 MongoDB를 사용합니다. 하지만 라즈베리파이 32bit 지원을 위해 최신 버젼을 사용하지 않습니다. 사용된 MongoDB 버젼은 apcheamitru에서 제공된 3.2.20입니다
  • 이 프로그램은 리눅스와 라즈베리파이 4 32비트에서만 테스트/작동 확인하였습니다. 다른 플랫폼은 테스트하지 않았습니다.

매수 신호

이 프로그램은 그리드 트레이딩 환경설정에 따라 코인을 모니터링합니다.

그리드 트레이딩 #1은 가장 현재 가격이 낮은 가격에 도달했을 경우에, 매수를 위한 STOP-LOSS-LIMIT 주문을 넣습니다. 현재 자동 거래하기 가격이 계속 떨어질 경우, 이전 주문을 취소하고, 새로운 가격으로 STOP-LOSS-LIMIT 주문을 넣습니다.

그리드 트리이딩 #1 이후로는, 이전 매수 가격에 따라 코인을 모니터링합니다.

  • 매도를 위한 코인이 충분할 경우 (보통 $10정도), 그리드 트레이딩 #1의 매수 주문을 넣지않습니다.
  • 총 금액이 매수 가격 삭제 가격보다 낮을 경우 매수 가격을 삭제하지 않습니다.
매수 시나리오

예를 들어, 그리드 트레이딩 매수 환경설정이 다음과 같이 되었다고 가정해봅시다:

  • 그리드 트레이드 수 (Number of grids): 2
  • 그리드 트레이드번호#매수 시작 퍼센트(Trigger Percentage)스탑 가격 퍼센트(Stop Price Percentage)리밋 가격 퍼센트(Limit price 자동 거래하기 percentage)USDT111.051.0515020.81.031.031100

이해를 쉽게 할수 있도록, USDT를 $ 로 표시하도록 하겠습니다. 또한, 쉽게 계산할 수 있도록 커미션은 계산에 넣지 않았습니다. 실제 거래에서는 수량이 다를 수 있습니다.

첫번째 그리드 트레이드의 설정은 다음과 같습니다:

  • 그리드 트레이드 번호#: 1
  • 매수 시작 자동 거래하기 퍼센트 (Trigger percentage): 1
  • 스탑 가격 퍼센트 (Stop percentage): 1.05 (5.00%)
  • 리밋 가격 퍼센트 (Limit percentage): 1.051 (5.10%)
  • 최대 매수 금액 (Max purchase amount): $50

현재 가격이 최저 가격($100)까지 떨어지고, 전고점(All-Time High) 제한 가격보다 낮을 경우, 프로그램은 새로운 STOP-LOSS-LIMIT 매수 주문을 넣습니다.

  • 스탑 가격 (Stop price): $100 * 1.05 = $105
  • 리밋 가격 (Limit price): $100 * 1.051 = $105.1
  • 수량 (Quantity): 0.47573

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $95

그러면 프로그램은 가격 하락을 따라가면서, 새로운 STOP-LOSS-LIMIT 매수 주문을 다음과 같이 넣습니다:

  • 스탑 가격 (Stop price): $95 * 1.05 = $99.75
  • 리밋 가격 (Limit price): $95 * 1.051 = $99.845
  • 수량 (Quantity): 0.5

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $100

이때, 첫번째 매수가 체결됩니다. 이때, 매수 가격 (Last buy price)를 $99.845 로 기록합니다. 매수 수량은 0.5 입니다.

매수가 체결되면, 프로그램은 매도를 위해 모니터링을 함과 동시에, 다음 매수 그리드 트레이딩를 모니터링합니다.

두번째 그리드 트레이딩의 설정은 다음과 같습니다:

  • 그리드 트레이딩 번호#: 2
  • 매수 가격 (Current last buy price): $99.845
  • 매수 시작 퍼센트 (Trigger percentage): 0.8 (20%)
  • 스탑 가격 퍼센트 (Stop percentage): 1.03 (3.00%)
  • 리밋 가격 퍼센트 (Limit percentage): 1.031 (3.10%)
  • 최대 매수 금액 (Max purchase amount): $100

만약 현재 가격이 20% 낮은 $79.876 까지 떨어지면, 프로그램은 두번째 그리드 트레이딩을 위한 STOP-LOSS-LIMIT 매수 주문을 넣습니다.

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $75

이때 프로그램은 가격 하락을 따라가면서, 새로운 STOP-LOSS-LIMIT 매수 주문을 다음과 같이 넣습니다.

  • 스탑 가격 (Stop price): $75 * 1.03 = $77.25
  • 리밋 가격 (Limit price): $75 * 1.031 = $77.325
  • 수량 (Quantity): 1.29

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $78

이때, 두번째 매수가 체결됩니다. 매수 가격 (Last buy price)는 자동으로 아래와 같이 계산 됩니다:

  • 최종 매수 가격: : ($50 + $100)/(0.5 COIN + 1.29 COIN) = $83.80

매도 신호

만약 매도를 위한 충분한 코인이 있고 매수 가격(Last buy price)가 저장되었을 경우, 프로그램은 첫번째 그리드 트레이딩을 위한 매도 신호를 모니터링하기 시작합니다. 현재 가격이 매도 시작 가격에 도달한다면, 프로그램은 매도 STOP-LOSS-LIMIT 주문을 넣습니다. 만약 현재 가격이 계속 상승한다면, 프로그램은 이전 주문을 취소하고, 새 가격으로 매도 STOP-LOSS-LIMIT 주문을 넣습니다.

  • 만약 매수 가격(Last buy price)가 저장되지 않았다면, 코인을 매도하지 않습니다.
  • 만약 코인 평가금이 매수 가격 삭제 금액보다 낮다면, 매수 가격 (Last buy price) 기록을 삭제합니다.
  • 만약 코인 평가금이 최소 주문 금액보다 낮다면, 코인을 매도하지 않습니다.

매도 시나리오

예를 들어, 그리드 트레이딩 매도 환경설정이 다음과 같이 되었다고 가정해봅시다:

  • 그리드 트레이딩 수: 2
  • 그리드 트레이딩번호#매도 시작 퍼센트(Trigger Percentage)스탑 가격 퍼센트(Stop Price Percentage)리밋 가격 퍼센트(Limit price percentage)매도 수량 퍼센트(Sell Quantity Percentage)1st1.050.970.9690.52nd1.080.950.9491

매수와 다르게, 매도는 수량 퍼센트를 설정합니다. 만약 보유한 모든 수량을 매도할려면, 간단하게 1 (100%)로 설정하시면 됩니다.

위에서 매수한 코인은 다음과 같습니다:

  • 현재 수량 (Current quantity): 1.79
  • 현재 매수 가격 (Current last buy price): $83.80

첫번째 그리드 트레이드의 설정은 다음과 같습니다:

  • 그리드 트레이딩 번호# 1
  • 매도 시작 퍼센트 (Trigger percentage): 1.05
  • 스탑 가격 퍼센트 (Stop price percentage): 0.97
  • 리밋 가격 퍼센트 (Limit price percentage): 0.969
  • 매도 수량 퍼센트 (Sell amount percentage): 0.5

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $88

현재 가격이 매도 시작 가격 ($87.99) 보다 높기 때문에, 새로운 STOP-LOSS-LIMIT 매도 주문을 다음과 같이 넣습니다:

  • 스탑 가격 (Stop price): $88 * 0.97 = $85.36
  • 리밋 가격 (Limit price): $88 * 0.969 = $85.272
  • 수량 (Quantity): 0.895

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $90

그러면 프로그램은 가격 상승을 따라가면서, 새로운 STOP-LOSS-LIMIT 주문을 다음과 같이 넣습니다:

  • 스탑 가격 (Stop price): $90 * 0.97 = $87.30
  • 리밋 가격 (Limit price): $90 * 자동 거래하기 0.969 = $87.21
  • 수량 (Quantity): 0.895

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $87

이때, 첫번째 매도 주문이 체결됩니다. 그러면 프로그램은 두번째 그리드 트레이딩 매도 시작 가격($83.80 * 1.08 = $90.504)을 기다립니다.

  • 현재 수량 (Current quantity): 0.895
  • 현재 매수 가격 (Current last buy price): $83.80

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (자동 거래하기 자동 거래하기 Current price): $91

현재 가격 ($91)은 두번째 매도 시작 가격 ($90.504)보다 높기 때문에, 프로그램은 새로운 STOP-LOSS-LIMIT 주문을 다음과 같이 넣습니다:

  • 스탑 가격 (Stop price): $91 * 0.95 = $86.45
  • 리밋 가격 (Limit price): $91 * 0.949 = $86.359
  • 수량 (Quantity): 0.895

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $100

그러면 프로그램은 가격 상승을 따라가면서, 새로운 STOP-LOSS-LIMIT 주문을 다음과 같이 넣습니다:

  • 스탑 가격 (Stop price): $100 * 0.95 = $95
  • 리밋 가격 (Limit price): $100 * 0.949 = $94.9
  • 수량 (Quantity): 0.895

마켓이 다음과 같이 변동되었다고 가정해봅시다:

  • 현재 가격 (Current price): $94

이때 두번째 매도 주문이 체결됩니다.

최종 수익은 다음과 같습니다.

  • 첫번째 매도: $94.9 * 0.895 = $84.9355
  • 두번째 매도: $87.21 * 0.895 = $78.05295
  • 최종 수익: $162 (8% 수익)

매도 스탑-로스 시나리오

예를 들어, 매도 스탑-로스 환경설정이 다음과 같이 되었다고 가정해봅시다:

  • 최대 손실 퍼센트(Max loss percentage): 0.90 (-10%)
  • 매수 중단 시간(분): 60

그리고 현재 마켓이 아래와 같다고 가정합니다:

  • 현재 가격(Current price): $95
  • 매수 가격(Last buy price): $100
  • 스탑-로스 가격(Stop-Loss price): $90

이럴 경우 스탑-로스 가격($90)이 현재 가격($95)보다 낮기 때문에 프로그램은 매도 주문을 넣지 않습니다.

만약 현재 가격이 계속 하락한다면, 프로그램은 현재 가격이 스탑-로스 가격에 도달할때까지 계속 모니터링합니다.

시간이 지나, 마켓이 다음과 같이 변했다고 가정합니다:

  • 현재 가격(Current price): $90
  • 스탑-로스 가격(Stop-Loss price): $90

현재 가격($90)이 스탑-로스 가격($90)과 같거나 낮기때문에 프로그램은 새로운 매도 MARKET 주문을 넣습니다. 실 거래시, 주문 수량은 다를 수 있습니다.

그리고 지속적인 매수/매도를 방지하기 위해서 해당 코인은 60분동안 임시로 거래가 중단됩니다. 프론트엔드는 중단 아이콘과 다시 거래 시작까지 얼마나 남았는지 시간을 보여줍니다. 거래를 바로 시작할려면 플레이 아이콘을 클릭하시면 됩니다.

[업비트 자동매매] 꿀잠비트 사용법

1. 보유하는 있는 현금 혹은 코인 비율로 매도함으로 갯수 조절이 필요하신 분들은 참고하시길바랍니다.

2. BTC마켓 지원코인은 사토시로 세팅하지만 실제 매매는 원화마켓으로 이루어집니다.

- 원화마켓거래로 수수료 절감, 거래량 많음으로 호가갭이 자동 거래하기 적습니다.

3. BTC 마켓 지원하지 않는 코인은 원화로 세팅하고 원화마켓으로 거래됩니다.

이렇게 만든 이유는 원화마켓은 김프, 역프 그리고 비트가격당 시세가 변함으로 차트가 제대로 나오지않지만 사토시 차트는 더욱 정확한 차트 및 가격을 알수있음으로 BTC마켓 가격으로 매매하도록 만들어졌습니다.

3. 꿀잠비트로 매매하기

현재가격보다 높은가격을 설정하며 그 가격에 도달하면 시장가로 매수가됩니다. (매수)

추세매수보다 높은가격을 설정하며 그 가격에 도달하면 시장가로 매도됩니다 (익절)

추세매수보다 낮은가격을 설정하며 그 가격에 도달하면 시장가로 매도됩니다. (손절)

-비트코인은 예외로 현재가격보다 낮은가격입니다.

알트코인 손절가격과는 별도로 비트코인 가격이 설정한 가격에 도달하면 세팅된 알트코인이 매됩니다. 비트가격이 일정이하로 떨어지면 강제로 알트코인을 손절하도록 만들어 비트가 급락할때의 손실을 빠르게 피할수있습니다.

한국투자증권 주식 자동 매매 주문하기

블로그 이미지

한국투자증권 주식 자동매매

매번 시도 때도 없이 변하는

주식 가격을 확인해 주식을 사고팔기가

원하는 조건으로 주식을 자동 매수, 매도

한국투자증권 어플로 간단하게

주식 자동 매매 주문하기

주식 자동으로 사고파는 법

한국투자증권 주식 자동 매도

주식 프로그램 없이 주식 자동 주문 매매하기

한국투자증권 주식 자동 주문

1. 한국투자증권 어플 실행 -> 메뉴 -> 주식 자동 거래하기 자동 거래하기 -> 주문 -> 국내 자동주문

2. 자동 매도할 주식 선택 -> 조건 추가 -> 조건 등록 (감시 조건/ 주식가격/ 주문 수량/ 기간 선택)

3. 감시 조건 -> 현재가 선택

* 현재가/ %/ 틱/ 평가손익/ 주당 손익 등 원하는 조건 선택

4. 주문 가격 (시장가/ 지정가 등 선택) -> 주문 수량 -> 기간 선택

*기간은 최대 한 달까지 설정 가능

* 주식 잔고 매도에서 자동매매를 설정하면 잔고 매도에서만 주식 매도 주문을 확인할 수 있다. 감시한 주식을 클릭하면 감시 설정 조건을 볼 수 있고 조건 삭제/ 수정도 가능하다.

한국투자증권 주식 자동 매수/ 매도

주식 프로그램 없이 주식 자동 주문 매매하기

1. 조건 감시 -> 팔자/ 사자 주문 추가

주식 프로그램 없이 자동 매매하기

*조건 감시에서 자동 사자/ 팔자 주문들은 조건 감시에서만 확인할 수 있다. (잔고 매도에서 확인 불가)

​↓2020년 주식 배당금 입금 결산 ↓

2020년 국내 주식 배당금 실입금 후기

​2020 국내 주식 배당금 입금 정리 2020년 배당락 일까지 가지고 자동 거래하기 있던 종목들 중 배당금을 준 국내 주식들과 배당금을 정리했다. 2020년 국내 주식 배당금 입금 정리 은행주, 반도체외 주식 배당금

[파이썬] 업비트 API로 자동매매 프로그램 만들기(매수/매도/주문정보확인)

업비트 개발자센터로 가면 Open API 레퍼런스를 볼 수 있으니, 개발에 참고하시기 바랍니다.

이곳에서 본인이 원하는 기능을 체크하고, 보안을 위해 특정IP에서만 실행을 해줍니다.

(출금하기 등 일부 기능은 필수적으로 하게 되어있음)

발급받게되면, Access Key 와 Secret Key 가 생성되는데 이걸 메모장에 잘 저장해놓으시면 됩니다.

Secret Key는 앞으로 더이상 조회 불가능.

저장한 API Key를 저장한 문서는 암호화를 권고드립니다.. 유출되면, 자산에 피해를 입을 수 있습니다.

참고) 본인 IP 주소 확인하는법

저는 ipconfig 를 통해 확인한 IP주소를 넣었는데, 안되더라구요 ㅋㅋ

위 링크에서 본인 IP확인하셔서 넣으시는걸 추천드립니다.

2. 파이썬 필요 라이브러리

import pyupbit
import jwt
import uuid
import hashlib
from urllib.parse import urlencode
import requests

위의 라이브러리중 설치가 안된분들은 pip install 명령을 통해 설치해주시면 됩니다.

자 이제 준비는 완료되었고 자동매매에 필요한 필수 코드를 살펴보겠습니다.

3. 먼저 자동매매 Class 와 init 함수를 생성해줍니다.

다른 함수에서도 key에 접근할수 있도록 앞에 self. 을 붙여주었습니다.

4. 계좌 정보 불러오기

upbit.get_balances()를 통해 계좌정보를 불러올 수 있습니다.

원화부터 코인들 각각의 정보가 리스트안 딕셔너리 형태로 반환되는 걸 볼 수있습니다.

만약 내 계좌에 있는 특정 코인이나 원화 잔고를 알고 싶다면 아래와 같이 개별 조회도 가능합니다.

get_current_price 함수에 티커를 넣어주면 조회가 됩니다.

6. 매수/매도 주문하기

위 코드에서 매수는 리플을 100원 가격으로 10개 주문을 넣은것이고

매도도 마찬가지로 100원으로 10개 주문을 넣겠다는 의미입니다.

위 코드에서 매수는 리플을 10000원어치 시장가로 구매하겠다는 의미고

매도는 리플을 20개만큼 시장가로 팔겠다는 뜻입니다.

위의 주문 코드를 print 해보면 아래와 같이 반환값을 조회할 수 있습니다.

여기서 'uuid' 값으로 주문을 취소할 수도 있고 나중에 체결상태를 확인할 수 있으니 아래와 같이 반환값을 저장해두는 것이 좋습니다.

자동 거래하기

아직 1년도 안된 채린이 입니다.

유튜브 보다가 채굴기 알게 되어 지금은 이더 50대 자동 거래하기 돌리고 있습니다.

코딩을 좀 할 줄 알아서 파이선으로 업비트 api 자동매매 프로그램을 만들었는데.. 3개월 하다가 포기 했어요..

수익도 안나고.. 로직을 세우고 기다려야 하는데 그게 좀 . 성격이 급해서.

지정가 매수, 시장가 매도 ,rsi , 이평선 거래량 등.. 기본적은 분석을 하고 만들어서 돌려 보는데.

혼자 자동 거래하기 자동 거래하기 하려다 보니 정보도 적고. 의견 나룰 분도 없고 해서.

혹시 이분야 관심있으셔서 저 처럼 해보신 분이나.. 관심은 있지만 코딩부분에 접근이 안되어 고민 하신분 있으시면

아마도 이런 경우 도움이 될듯 한데요.

1.이더를 캐는데.. 매도할 시점을 프로그램에서 자동으로 매도 하고 싶은경우.

2.채굴한 이더를 매도하여 기준에 의해 다른 코인을 매수 하고 싶은 경우

3.기타 생각하고 있는 부분에 api 프로그램이 필요한 경우.

여러가지 조건을 복합적으로 넣는건 상당한 분석시간이 필요합니다.
백테스팅도 이미 과거의 데이타라서 순간순간 변하는 현실엔 약간의 오차도 있고요.
뭐, 단순한 하나의 시그널로 하는 매매나 변동성 돌파매매등은 인터넷에 올라온게 많아요.
그거 분석해서 본인만의 프로그래밍으로 만들면 되는데.
결국은 매수 매도 조건을 어떻게 잡느냐죠.

Python 에는 talib 가 있어서 OHLCV 만 가져오면 신호들은 쉽게 만들어져서
RSI 신호로만 매수 매도하는 경우를 예로 들면 조건은 아주 간단합니다.
보통 RSI 30 이하 침체, 70 이상 과열구간이죠.

30 이하 도달했다가 35이상으로 반전시 매수 해주고
(다시 RSI 30이하로 내려가면 손절)
70 이상 도달했다가 65이하로 하락시 매도

고점과 저점의 신호를 기준을 잡고 매매하는거 조건문으로 만들어 놓으면 될겁니다.
이런 상승과 하락 판단하는 조건문만 만들어 놓으면 다른 시그널을 추가하기는 쉽습니다.
MACD 또는 이평선 배열등을 혼합하여 조건문이 더 복잡해져도 만들순 있어요.

대신에 신호만 가지고 운영하는게 수익률이 쉽게 나오진 않더라구요.

자동매매는 프로그램 실력이 아닌 차트와 보조지표에 대한 이해도가 높아야 수익이 많이나옵니다.
결코 상운님께서 잘 못 하신게 아니라 차트와 보조지표에 대한 분석이 부족하셔서 수익이 낮다고 볼 수 있구요.
자동매매 수익구조 : 코딩실력 아무리 잘 만들어도 이해를 못하면 오히려 손실을 가져오게 됩니다.

USP.PNG

개인적으로 백테스팅은 그냥 프로그램을 판매할 때 소비자들에게 소비욕구를 돕기위해 하는 것 자동 거래하기 말곤 도움이 안된다고 생각해요
백테스팅 한 번 없이 바로 현금들고 테스트 하고 있습니다. 현금이 깎이거나 늘면서 이런 부분에서 어떻게 대응해야 하는지 개념도 적립되서 좋구요


0 개 댓글

답장을 남겨주세요